kuaifan
28beb7fe5e
fix(ai): AI 命令更新消息时不显示"已编辑"标记
...
使用 change- 替代 update- 动作,避免消息显示编辑标记
Generated with [Claude Code](https://claude.ai/code )
via [Happy](https://happy.engineering )
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-25 12:43:47 +00:00
kuaifan
28504e4a4e
refactor(ai): 简化 AI 命令消息处理为单条 text 消息更新
...
- 将"正在处理"消息从 notice 类型改为 text 类型
- 命令完成后直接更新原消息内容,而非发送额外消息
- 移除 sendMessage 方法,统一使用 updatePendingMessage
- 重命名 notifyMsgId 为 pendingMsgId 以更准确表达用途
Generated with [Claude Code](https://claude.ai/code )
via [Happy](https://happy.engineering )
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-25 10:52:38 +00:00
kuaifan
5ee5f253ec
feat(ai): 添加 /analyze 和 /summarize 对话命令
...
- 新增 AiDialogCommand 模块处理 AI 命令业务逻辑
- 新增 AiDialogCommandTask 异步任务
- /analyze: 任务对话分析任务状态,项目对话分析项目健康度
- /summarize: 总结对话中的讨论内容
- 前端 ChatInput 添加斜杠命令菜单项
- 支持并发控制,同一对话同时只能执行一个 AI 命令
- 执行状态通过 notice 消息实时反馈
Generated with [Claude Code](https://claude.ai/code )
via [Happy](https://happy.engineering )
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-25 02:07:39 +00:00
kuaifan
773eead827
feat(ai): AI 任务建议支持多语言输出
...
- 新增 getUserLanguageInfo 方法获取用户语言偏好
- 新增 getLocalizedTitles 方法,支持 9 种语言的标题和提示文案
- 调整 AI Prompt,根据用户语言输出对应语言的建议内容
- 相似任务检测阈值从 0.7 调整为 0.5
- 完善方法注释文档
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 05:32:20 +00:00
kuaifan
f68f759418
fix(ai): 更新提示信息为本地化文本
2026-01-21 15:56:03 +00:00
kuaifan
29be29b9cf
feat(ai): 优化 AI 提示词并完善建议交互功能
...
- 优化后端提示词:描述生成、子任务拆分、负责人推荐,新增栏目信息,去掉无效的 similar_count
- 优化前端提示词:去掉硬性字数限制,即时消息改为简短输出
- 新增 :::ai-action{...}::: 语法处理,支持单独采纳/忽略 assignee 和 similar
- 采纳/忽略后更新消息状态显示
- 负责人改为追加模式,保留现有负责人
- 新增任务关联功能,similar 采纳时自动创建双向关联
- 相似度阈值从 0.7 调整为 0.5,搜索结果增加到 200
Generated with [Claude Code](https://claude.ai/code )
via [Happy](https://happy.engineering )
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-21 15:30:07 +00:00
kuaifan
9acf7d2046
fix(ai): 调整 AI 建议执行条件
...
1. subtasks: 标题长度阈值从 10 改为 5
2. similar: 启用向量搜索查找相似任务
Generated with [Claude Code](https://claude.ai/code )
via [Happy](https://happy.engineering )
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-21 15:30:07 +00:00
kuaifan
3911af7b51
fix(ai): 修复描述格式和负责人重复问题
...
1. 描述建议:AI 返回 Markdown,前端用 MarkdownConver 转 HTML
2. 负责人推荐:排除已分配的任务成员
3. 解析负责人推荐时去重,防止 AI 返回重复用户
Generated with [Claude Code](https://claude.ai/code )
via [Happy](https://happy.engineering )
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-21 15:30:07 +00:00
kuaifan
0a97039d75
refactor(ai): 重构 AI 建议功能并完善向量搜索
...
1. 重构 task__ai_apply 接口:移除业务逻辑,仅负责状态更新和日志记录,
返回建议数据由前端调用现有接口处理(taskUpdate/taskAddSub)
2. 实现 searchSimilarByEmbedding 向量搜索:
- 使用 ManticoreBase::taskVectorSearch 进行向量搜索
- 按 project_id 过滤同项目任务
- 排除当前任务及其子任务
- 设置 0.7 相似度阈值,最多返回 5 个结果
3. 更新 AI 助手头像:将文字 "AI" 替换为 SVG 图标
Generated with [Claude Code](https://claude.ai/code )
via [Happy](https://happy.engineering )
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-21 15:30:06 +00:00
kuaifan
75073d4320
fix(ai): address security and robustness issues from code review
...
Security fixes:
- Add escapeUserInput() to prevent Prompt injection via user input
- Validate msgId belongs to dialogId in updateMessageStatus()
- Add type parameter whitelist validation in ai-apply/ai-dismiss
- Add event record validation in task__ai_dismiss
Robustness fixes:
- Use atomic update for markProcessing to prevent concurrent processing
- Add subtask count limit check before creation (max 50)
- Disable similar task feature until vector search is implemented
- Fix Promise anti-pattern in frontend actions
Generated with [Claude Code](https://claude.ai/code )
via [Happy](https://happy.engineering )
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-21 15:30:06 +00:00
kuaifan
d4d7a0d69f
feat(ai): add AI::invoke() method for task suggestions
...
- Add generic invoke() static method to AI module for custom chat completion
- Fix AiTaskSuggestion::callAi() to properly handle AI::invoke() response
- Fix findSimilarTasks() to properly handle AI::getEmbedding() response
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 15:30:06 +00:00
kuaifan
916ae97ca7
feat(ai): add AiTaskSuggestion module with prompt templates
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 15:30:06 +00:00
kuaifan
2180998e81
feat(ai-assistant): 添加图片发送功能支持多模态对话
...
- 支持上传图片并压缩(当前消息 1024px,历史 512px)
- 图片独立缓存存储,使用占位符 [IMG:xxx] 替代 base64
- 新增 prompt-image.vue 组件展示历史图片缩略图
- 后端 AI.php 支持多模态消息格式处理
- 添加图片缓存清理机制(删除会话时同步清理)
- 优化 parsePromptContent 避免重复调用
- 会话标题自动过滤图片占位符
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 09:31:34 +00:00
kuaifan
23b06327d6
feat(file): 添加文件内容提取 API 支持分页读取
...
- FileController: 新增 fetch API 通过路径获取文本内容
- FileController: one API 支持 with_text 参数提取文本
- ManticoreFile: 实现分页提取 extractFileContentPaginated
- TextExtractor: 添加 truncate 参数支持内容截取
2026-01-16 01:41:28 +00:00
kuaifan
07360a8d2c
feat(manticore): 添加同步失败自动重试机制
...
- 新增 ManticoreSyncFailure 模型记录同步失败的条目
- 添加 RetryManticoreSync 命令实现失败重试逻辑
- ManticoreBase 增加 runWithRetry 包装器,连接断开时自动重连
- 统一 deleteVector 方法,减少重复代码
- 修复 quoteValue 传入非字符串的类型问题
2026-01-15 08:28:55 +00:00
kuaifan
13a25e3011
fix(manticore): 修复向量表插入时的 SQL 语法错误
...
- 新增 executeRaw() 方法直接执行 SQL,避免 prepared statement 解析问题
- 新增 quoteValue() 方法安全转义 SQL 值
- 新增通用 upsertVector() 方法统一处理所有向量表插入
- 简化 upsertMsgVector/TaskVector/FileVector/ProjectVector/UserVector 为单行调用
- 统一 NUMERIC_FIELDS 常量,消除代码重复
- 更新 batchUpdateVectors() 使用统一常量
2026-01-15 00:47:33 +00:00
kuaifan
dd20711c04
refactor: 移除冗余日志记录,优化代码可读性
2026-01-14 09:41:06 +00:00
kuaifan
3a2b7b1400
feat: 新增 AI 提示词占位符与用户上下文注入
...
- 新增 PromptPlaceholder 模块,负责构建用户上下文和条件性提示块
- 用户上下文包含:基础信息、部门、同事印象、场景角色、任务列表
- 前端使用 {{SYSTEM_OPTIONAL_PROMPTS}} 占位符,后端统一替换为实际内容
- 重构 BotReceiveMsgTask 和 ai.js,复用 PromptPlaceholder 逻辑
- 任务列表支持智能排序:逾期优先 → 最近活跃 → 负责人优先
2026-01-14 09:33:20 +00:00
kuaifan
1ac3a4cc96
feat: 添加 user_update hook 事件并重构用户生命周期 hook
...
- 新增 user_update 事件,当用户基本信息变更时触发
- 扩展 dispatchUserHook payload 包含完整用户信息(tel、profession、birthday、address、introduction、departments)
- 将 user_onboard/user_offboard/user_update hook 触发逻辑集中到 UserObserver
- 区分 profile_update(用户自己修改)和 admin_update(管理员修改)事件类型
- 修复 User::reg() 中 Manticore 索引同步遗漏问题
- 排除机器人账号的 hook 触发
2026-01-08 11:31:16 +00:00
kuaifan
f496bc5fca
feat: Optimize search functionality and AI module integration
...
- Refactor Manticore search classes for better performance
- Update AI module with enhanced processing capabilities
- Improve Apps module functionality
- Enhance SearchBox Vue component with new features
2026-01-06 07:25:23 +00:00
kuaifan
f821e5ad28
refactor: 移除缓存写入逻辑并简化未获取向量填充过程
2026-01-05 12:10:17 +00:00
kuaifan
8ab810c670
feat: 将 Manticore 相关检查更新为使用 "search" 应用
2026-01-05 05:51:48 +00:00
kuaifan
42a2eb56c7
feat: 升级语音识别模型并优化转写逻辑
...
- 语音识别模型从 whisper-1 升级到 gpt-4o-mini-transcribe
- 根据用户语言设置自动添加简繁体中文提示词
- 录音转文字新增 dialog_id 参数,支持获取对话上下文提高识别准确率
- 移除前端语言手动选择功能,简化用户操作
- 添加参数空值保护
- 优化 reasoning_effort 参数逻辑,区分 gpt-5 和 gpt-5.1+ 版本
2026-01-05 02:26:36 +00:00
kuaifan
4b0f4e388c
feat: 优化 Manticore 相关描述
2026-01-04 13:30:03 +00:00
kuaifan
31045b3808
feat: 更新 Manticore 数据库插入逻辑,添加 userid 和 tags 字段;在 WebSocket 消息删除时同步 Manticore
2026-01-04 07:48:53 +00:00
kuaifan
90a5624877
feat: 添加用户标签功能,更新用户索引以支持标签创建、更新和删除事件
2026-01-04 07:13:13 +00:00
kuaifan
501ff21e55
feat: 添加数值类型转换功能,确保查询结果中的数值类型一致性
2026-01-04 00:29:29 +00:00
kuaifan
ea0d27fdea
feat: 添加 Manticore 同步命令通用锁机制,优化信号处理与锁管理
2026-01-03 23:09:50 +00:00
kuaifan
9a8304d595
feat: 增强 Manticore 向量更新逻辑,记录更新失败的 ID
2026-01-03 21:59:44 +00:00
kuaifan
e020a80020
feat: Add batch embedding retrieval and vector update methods for Manticore integration
...
- Implemented `getBatchEmbeddings` method in AI module for retrieving embeddings for multiple texts.
- Added vector update methods for messages, files, tasks, projects, and users in ManticoreBase.
- Enhanced ManticoreFile, ManticoreMsg, ManticoreProject, ManticoreTask, and ManticoreUser to support vector generation during sync operations.
- Introduced `generateVectorsBatch` methods for batch processing of vector generation in Manticore modules.
- Updated ManticoreSyncTask to handle incremental updates and vector generation asynchronously.
2026-01-03 15:19:23 +00:00
kuaifan
908171a977
feat: 新增对话ID参数支持,优化搜索功能以支持对话过滤
2026-01-03 03:59:51 +00:00
kuaifan
1e94ce501e
refactor: 移除 ZincSearch,统一使用 Manticore Search
...
- 删除 ZincSearch 模块、任务、命令
- 对话消息搜索改用 ManticoreMsg::searchDialogs
- 移除 Observer 中的 ZincSearch 同步
- 移除定时任务中的 ZincSearch 同步
- 更新项目文档
2026-01-02 07:25:14 +00:00
kuaifan
7a5ef3a491
feat: 新增消息搜索功能
...
- 新增 msg_vectors 表,支持消息全文/向量/混合搜索
- 采用 MVA 权限方案,allowed_users 内联存储
- 新增 /api/search/message API
- 新增 manticore:sync-msgs 同步命令
- Observer 触发消息创建/更新/删除同步
- Observer 触发对话成员变更时更新 allowed_users
2026-01-02 06:46:18 +00:00
kuaifan
c08323e1ea
feat: 迁移至 MVA 权限方案
...
- 表结构:为 file/project/task_vectors 添加 allowed_users MULTI 字段
- 删除关系表:file_users, project_users, task_users
- 搜索:使用 allowed_users = userid 进行权限过滤
- 同步:sync 时自动计算并写入 allowed_users
- 级联:项目成员变更异步级联 v=1 任务,任务成员变更递归更新子任务
- 覆盖场景:visibility/parent_id/project_id 变更、子任务升级主任务等
2026-01-02 02:03:21 +00:00
kuaifan
fdf5ceeaab
feat: Enhance Manticore integration and AI model support
...
- Added support for specifying vector dimensions in AI payloads for compatible vendors.
- Updated default AI model from 'text-embedding-ada-002' to 'text-embedding-3-small'.
- Refactored ManticoreBase to bind parameters explicitly for PDO statements, improving type handling.
- Adjusted SQL queries across Manticore modules to remove content previews and ensure inline vector values.
- Updated content preview handling in ManticoreFile, ManticoreProject, ManticoreTask, and ManticoreUser to use substrings for better data management.
2026-01-01 08:59:54 +00:00
kuaifan
48ef4cfdef
refactor: 使用 Manticore Search 替换 SeekDB
2026-01-01 03:17:27 +00:00
kuaifan
1af29837e2
feat: 增加增量同步功能以优化 SeekDB 用户关系同步
...
- 在 SyncFileToSeekDB、SyncProjectToSeekDB 和 SyncTaskToSeekDB 中实现增量同步逻辑,支持只同步新增的用户关系。
- 新增 syncFileUsersIncremental、syncProjectUsersIncremental 和 syncTaskUsersIncremental 方法,提升数据同步效率。
- 更新相关命令行输出信息,以清晰指示同步状态和进度。
2025-12-31 09:28:10 +00:00
kuaifan
fe7a2a0e73
feat: 扩展 SeekDB 支持联系人、项目、任务的 AI 搜索
...
- 合并 SeekDBFileSyncTask 到 SeekDBSyncTask
- 统一 AI 搜索 API 入口
2025-12-30 07:48:00 +00:00
kuaifan
23faf28f7f
feat: 集成 SeekDB AI 搜索引擎实现文件内容搜索
2025-12-30 05:49:26 +00:00
kuaifan
718ed8953f
no message
2025-12-14 00:23:04 +00:00
kuaifan
ac9e1e5e67
feat: call appstore user lifecycle hooks from main app
2025-12-09 10:30:23 +00:00
kuaifan
c668340661
feat: 优化消息推送逻辑
2025-12-05 02:10:37 +00:00
kuaifan
4983fe8feb
feat: 添加自定义微应用菜单功能,支持管理员配置和保存菜单项
2025-11-19 07:54:47 +00:00
kuaifan
f2719eb742
feat: 更新助手默认模型为 gpt-5.1-mini
2025-11-14 01:20:41 +00:00
kuaifan
360d4dbbe2
no message
2025-11-12 07:18:54 +00:00
kuaifan
0790eae8c6
no message
2025-11-10 15:20:31 +00:00
kuaifan
f6e4ed7c60
no message
...
- 添加AI助手流式会话凭证生成方法
- 优化AI助手模型获取逻辑
- 更新相关接口调用
2025-11-09 22:20:38 +00:00
kuaifan
7a6bbfac75
feat: 更新AI模块的transcriptions方法,增加扩展请求头参数,优化语音识别功能
2025-11-09 04:43:17 +00:00
kuaifan
425d6f9a06
feat: 移除冗余的AI助手设置方法,优化AI模块的模型配置逻辑
2025-11-09 04:28:51 +00:00
kuaifan
a5adbf80a9
feat: 重构报告分析功能,更新API接口,移除冗余代码,优化分析逻辑
2025-11-08 22:18:59 +00:00