kuaifan
|
654793156d
|
feat(micro-app): 添加额外的事件发射器方法以支持动态事件处理
|
2026-01-19 09:19:27 +08:00 |
|
kuaifan
|
ba65378c6b
|
fix(package): 更新 view-design-hi 依赖版本至 4.7.0-80
|
2026-01-19 01:14:05 +00:00 |
|
kuaifan
|
cb6c50b071
|
fix(ai-assistant): 修复弹窗和下拉菜单被其他弹窗遮挡的问题
- 使用 window.modalTransferIndex + 1000 作为动态 z-index
- 添加定时刷新机制:弹窗可见时 5 秒刷新,不可见时 20 秒刷新
- modal.vue 通过 zIndex prop 接收并应用 z-index
- float-button.vue 通过 $parent.topZIndex 获取 z-index
- Dropdown 和 Select 使用 ViewUI 新增的 z-index prop
|
2026-01-19 01:13:18 +00:00 |
|
kuaifan
|
2cb67fafe7
|
feat(ai-assistant): 支持任务弹窗和对话弹窗的场景检测
- 在 page-context.js 的 getPageContext 和 getSceneKey 函数中优先检测弹窗状态
- 当 taskId > 0 时使用 single-task 上下文
- 当 dialogModalShow && dialogId > 0 时使用 single-dialog 上下文
- 在 welcome-prompts.js 中添加弹窗场景检测逻辑
- 提取 formatPrompts 辅助函数减少代码重复
- 在 index.vue 的 welcomePromptsKey 中监听 taskId 和 dialogModalShow 变化
|
2026-01-18 23:52:26 +00:00 |
|
kuaifan
|
8eaba6f364
|
fix(ai-assistant): 优化流式响应期间的 loading 状态显示
- 修改 loading 显示条件,streaming 状态时继续显示 loading icon
- SSEClient 添加可选的 onFailed 回调,处理连接失败情况
- 修复 done 事件处理,确保状态正确转为 completed
- 解决工具调用期间 loading 动画过早消失的问题
|
2026-01-18 14:44:03 +00:00 |
|
kuaifan
|
c4f0fb5a3d
|
feat(ai-assistant): 合并连续工具使用的显示
在 Markdown 渲染前预处理文本,将连续的 tool-use 标签合并为一行显示:
- 连续相同工具显示计数(如 get_page_context x 2)
- 不同工具用逗号分隔
- 工具间的空行不会打断合并
|
2026-01-18 13:36:53 +00:00 |
|
kuaifan
|
59ad79fa58
|
feat(ai-assistant): 支持上下键切换历史输入
- 按 ↑ 键切换到上一条历史输入(光标在第一行时生效)
- 按 ↓ 键切换到下一条历史输入(光标在最后一行时生效)
- 历史记录使用 IndexedDB 持久化存储,最多保存 50 条
- 重复输入会移动到末尾而非重复添加
- 弹窗关闭时自动重置导航状态
|
2026-01-18 13:20:13 +00:00 |
|
kuaifan
|
c65f0276bd
|
feat(ai-assistant): 支持编辑历史问题并重新发送
- 鼠标悬停历史问题时显示编辑图标
- 点击编辑后在原位置显示内联编辑器
- 支持 Enter 发送、Shift+Enter 换行、Esc 取消
- 发送后删除该问题及之后的对话历史,重新发送编辑后的问题
- 正确处理中文输入法组合状态,避免误触发提交
|
2026-01-18 12:56:16 +00:00 |
|
kuaifan
|
f8b335a003
|
feat(ai-assistant): 增加元素向量匹配与关键词搜索能力
- 新增后端 match_elements API,使用向量相似度匹配页面元素
- 页面上下文采集支持关键词过滤,按 name/aria-label/placeholder/title 匹配
- 关键词匹配失败时自动降级为向量搜索
- 改进 findElementByRef 函数,使用 selector + name 双重匹配提高准确性
|
2026-01-18 11:50:27 +00:00 |
|
kuaifan
|
0ac4b546ba
|
feat(ai-assistant): 实现 AI 前端操作能力
新增三个 MCP 工具的前端支持:
- get_page_context: 基于 ARIA 角色收集页面元素,支持分页和区域筛选
- execute_action: 执行导航操作(打开任务/对话、切换项目/页面)
- execute_element_action: 元素级操作(click/type/select/focus/scroll/hover)
新增文件:
- operation-client.js: WebSocket 客户端,处理与 MCP Server 的通信
- page-context-collector.js: 页面上下文收集器,ref 系统和 cursor:pointer 扫描
- action-executor.js: 操作执行器,支持智能解析如 open_task_123
- operation-module.js: 模块编排,整合上述模块
修改文件:
- float-button.vue: 集成 operation-module,AI 助手打开时启用
- index.vue: 发射关闭事件供 float-button 监听
|
2026-01-18 01:35:13 +00:00 |
|
kuaifan
|
07a41ca0ac
|
feat(ai-assistant): 扩充提示词库并优化随机选择策略
- 为提示词增加 type(query/action/sync/review)和 pin 属性
- 新增 selectPrompts 函数:优先展示 pin 提示,按类型多样化抽样
- 各场景提示词数量扩充 2-3 倍,覆盖更多常见操作
- 部分场景使用动态数据(如 taskName、userName、groupName)个性化提示
|
2026-01-17 02:24:42 +00:00 |
|
kuaifan
|
347465fc4d
|
feat(ai-assistant): 按场景隔离会话存储
- 将 sessionStore 从对象改为数组,每个场景独立存储
- sessionCacheKey 改为 sessionCacheKeyPrefix,拼接场景 key 动态生成
- initSession 改为异步方法,切换场景时按需加载对应数据
- 使用防抖更新 displayWelcomePrompts,避免场景切换时闪屏
- 修复输入框文字颜色样式
|
2026-01-17 02:24:31 +00:00 |
|
kuaifan
|
acb9cd317c
|
feat(ai-assistant): 增加 SVG 图标和随机选择提示功能
|
2026-01-16 14:42:04 +00:00 |
|
kuaifan
|
b7213f8c47
|
feat(ai-assistant): 添加全屏切换功能
- 添加全屏按钮,支持点击或双击标题栏切换全屏
- 全屏时禁用拖动和调整大小
- 全屏状态下占满视口(保留 12px 边距)
- 关闭窗口时自动退出全屏状态
|
2026-01-16 10:26:57 +00:00 |
|
kuaifan
|
a3caf5ebdf
|
feat(ai-assistant): 支持拖动边缘调整聊天窗口大小
- 添加 8 个方向的调整大小控制点(四边 + 四角)
- 支持从任意边缘或角落拖动调整窗口尺寸
- 尺寸自动保存到 IndexedDB,下次打开时恢复
- 窗口大小限制:最小 380×400,最大 800×900
- 视口尺寸变化时自动调整窗口大小和位置
|
2026-01-16 10:24:41 +00:00 |
|
kuaifan
|
87dd07ef23
|
feat(ai-assistant): 基于场景标识管理会话恢复
- 新增 getSceneKey 函数,根据路由和实体生成唯一场景标识
- 会话初始化改为按 sceneKey 匹配历史记录,相同场景恢复会话
- 统一全局 AI 助手打开方式,manage.vue 通过事件触发 float-button
- resumeSession 超时时间统一为 86400 秒(1天)
|
2026-01-16 08:49:25 +00:00 |
|
kuaifan
|
0cefb7eaff
|
feat(task): 兼容 start_at/end_at 参数,统一转换为 times
- 新增 ProjectTask::normalizeTimes() 方法统一处理时间参数
- 支持只传 end_at 时自动补充 start_at
- 支持只传 start_at 时保留已有 end_at
|
2026-01-16 08:37:32 +00:00 |
|
kuaifan
|
ff87de9f44
|
feat(manage): 优化快捷键事件处理
|
2026-01-16 08:28:39 +00:00 |
|
kuaifan
|
22de7de87c
|
feat(manage): 优化新建菜单并添加 AI 助手快捷键
- 主按钮从「新建项目」改为「新建任务」
- 下拉菜单首位添加「AI 助手」选项(需安装 AI 插件)
- 添加 Ctrl/Cmd+I 快捷键打开 AI 助手
- 键盘设置页面同步显示 AI 助手快捷键
|
2026-01-16 07:46:50 +00:00 |
|
kuaifan
|
53dd9dca0f
|
feat(ai-assistant): 浮动按钮支持拖拽到边缘自动收起
- 拖拽按钮到屏幕边缘(≤12px)松开后自动收起为窄条
- 鼠标悬停窄条时自动展开,离开 1 秒后收起
- 点击收起状态的窄条直接打开 AI 助手
- 收起/展开过渡动画平滑,按钮中心位置保持不变
- 仅在 AI 插件安装后显示浮动按钮
|
2026-01-16 07:46:41 +00:00 |
|
kuaifan
|
12d6bbea19
|
feat(mcp): 增强文件工具支持文本内容读取
- get_file_detail: 添加 with_content 参数提取文本
- 新增 fetch_file_content 工具通过路径获取内容
|
2026-01-16 01:41:36 +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
|
6c22e373f7
|
build
v1.6.27
|
2026-01-16 03:11:32 +08:00 |
|
kuaifan
|
4ebbb387ee
|
no message
|
2026-01-16 03:08:25 +08:00 |
|
kuaifan
|
9234fe3ed1
|
feat(ai-assistant): 添加欢迎界面快捷提示功能和交互优化
主要变更:
- 新增场景化快捷提示,根据页面类型显示相关操作建议
- 重新设计欢迎界面 UI,支持图标和可点击的提示卡片
- 修复浮动按钮点击判断逻辑(移动距离<5px 且 按下时间<200ms)
- 优化加载状态显示,移除冗余文案
- 支持 base64 编码格式的文件链接
|
2026-01-16 02:31:13 +08:00 |
|
kuaifan
|
70be6619e9
|
refactor(chat-input): 简化任务搜索逻辑
移除项目 ID 筛选条件,统一使用 scope: 'all_project' 搜索所有项目的任务。
|
2026-01-16 01:23:59 +08:00 |
|
kuaifan
|
c8c27e808f
|
fix(chat-input): 修复 @ 提及下拉框层级问题
设置 mention 下拉容器的 zIndex 为 modalTransferIndex + 1000,
确保在弹窗等高层级元素中正常显示。
|
2026-01-16 01:14:19 +08:00 |
|
kuaifan
|
9cb8c92492
|
fix(electron): 修复客户端 loadHash 域名判断逻辑
修复当 mainDomain 为 "public" 时无法正确判断域名的问题,
改为从缓存的 cacheServerUrl 获取实际域名进行比较。
同时修正跳转时错误使用 url 变量的问题,改为正确的 loadHash。
|
2026-01-16 01:08:03 +08:00 |
|
kuaifan
|
f4f9ee1d3d
|
fix(ai-assistant): 修复深色模式反转样式和交互优化
- 将 no-dark-content 类从容器移动到 SVG 元素,修复深色模式样式问题
- 添加深色模式反转时的悬浮按钮和聊天窗口样式适配
- 支持 Escape 键关闭聊天模式窗口
- 移除多余空白行
|
2026-01-16 01:07:54 +08:00 |
|
kuaifan
|
138336711f
|
no message
|
2026-01-16 00:20:52 +08:00 |
|
kuaifan
|
2163bb0bff
|
fix(electron): 修复客户端下载功能无法启动的问题
- 将 onRenderer 参数从 mainWindow 改为 getMainWindow 函数,解决模块加载时 mainWindow 为 null 导致下载无法触发的问题
- 处理 InterruptedError 错误,避免下载中断时抛出未处理异常
|
2026-01-16 00:20:52 +08:00 |
|
kuaifan
|
bc460f0da8
|
fix(ai-assistant): 修复 SSE 流式响应 done 事件错误处理
- 解析 done 事件的 payload 检查是否携带错误信息
- 移除错误提示中对 response.error 的直接展示
|
2026-01-15 16:18:53 +00:00 |
|
kuaifan
|
ad66811f49
|
refactor(ai-assistant): 重构页面上下文配置,支持更多页面类型
- 简化上下文提示词,移除能力范围描述
- 新增多个独立页面上下文支持:单任务、单对话、单文件、工作汇报等
- 传递路由参数给上下文函数,以获取实体 ID
- 移除不必要的 title 属性
|
2026-01-15 16:18:42 +00:00 |
|
kuaifan
|
70ad8c394a
|
feat(ai-assistant): 添加聊天窗口模式和页面上下文感知
- 新增 chat 显示模式,支持可拖拽的悬浮聊天窗口
- 新增 page-context.js,根据当前路由提供针对性系统提示词
- 优化浮动按钮:添加淡入淡出动画、修复右键菜单拖动问题、更新配色
- 重构 Modal 为独立组件,支持 modal/chat 双模式切换
- 恢复会话时自动滚动到底部
|
2026-01-15 15:06:38 +00:00 |
|
kuaifan
|
32ffecb905
|
feat(ai-assistant): 为各场景添加自定义标题并优化浮动按钮显示
- 为项目创建、任务创建、消息编写、汇报编辑、汇报分析场景的 AI 助手添加专属标题
- 在模态框显示时自动隐藏浮动按钮,避免 UI 重叠
|
2026-01-15 10:48:56 +00:00 |
|
kuaifan
|
b794ba7a6b
|
refactor(ui): 优化客户端下载入口位置
- 将仪表盘页面的客户端下载链接移至右上角用户菜单
- 登录页保留右下角客户端下载链接
- 新增 clientDownloadUrl 全局状态,统一管理下载地址
- AI 浮动按钮在登录页不显示
|
2026-01-15 09:09:58 +00:00 |
|
kuaifan
|
07360a8d2c
|
feat(manticore): 添加同步失败自动重试机制
- 新增 ManticoreSyncFailure 模型记录同步失败的条目
- 添加 RetryManticoreSync 命令实现失败重试逻辑
- ManticoreBase 增加 runWithRetry 包装器,连接断开时自动重连
- 统一 deleteVector 方法,减少重复代码
- 修复 quoteValue 传入非字符串的类型问题
|
2026-01-15 08:28:55 +00:00 |
|
kuaifan
|
fb7731ddcd
|
feat(ai-assistant): 添加全局浮动按钮入口
- 新增 float-button.vue 组件,支持拖拽定位和位置持久化
- 将 AIAssistant.vue 重构为目录结构(index.vue + float-button.vue)
- 浮动按钮位置基于四角存储,窗口缩放时保持相对位置
- 点击浮动按钮打开 AI 助手对话框
|
2026-01-15 08:18:34 +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
|
055cf53738
|
build
v1.6.10
|
2026-01-14 22:31:27 +08:00 |
|
kuaifan
|
cb414b48f6
|
refactor: 优化窗口关闭拦截机制,采用声明式注册
- 将 onBeforeUnload 从 utils.js 移至 web-tab-manager.js
- 新增声明式拦截注册机制,前端通过 registerCloseInterceptor 声明需要拦截
- 仅对已声明拦截的页面执行 JS 检查,未声明的直接关闭
- 添加 5 秒超时保护,防止网页卡死导致无法关闭窗口
- 修复 command+w 快捷键关闭整个窗口而非当前 tab 的问题
|
2026-01-14 22:29:36 +08:00 |
|
kuaifan
|
1c27719ac4
|
no message
|
2026-01-14 20:15:48 +08:00 |
|
kuaifan
|
ec33327408
|
fix: 修复文件夹上传时数据库死锁问题
使用 Redis 分布式锁对同一用户往相同父目录的上传请求进行排队,
避免并发上传导致的 MySQL 死锁错误 (SQLSTATE[40001])
|
2026-01-14 11:44:47 +00:00 |
|
kuaifan
|
c2c27a684b
|
feat: 复制/周期任务时复制子任务并重置状态
- 复制任务时同时复制子任务,子任务状态重置为未完成
- 周期任务生成时,子任务状态重置为未完成并映射到 start 工作流
- 新增 getProjectFlowItems 方法获取项目工作流状态
- 新增 formatFlowItemName 方法格式化工作流状态名称
- 新增 copySubTasks 方法复制子任务到新父任务
- 新增 moveSubTasks 方法移动子任务,重构 moveTask 复用代码
|
2026-01-14 11:31:28 +00:00 |
|
kuaifan
|
224703a6d0
|
feat: 支持输入法组合状态,优化输入框键盘事件处理
|
2026-01-14 10:11:28 +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
|
792989a504
|
refactor: 统一 webTab 事件分发逻辑
新增 dispatchToTabBar() 函数,封装 window 模式检查逻辑:
- window 模式无标签栏,跳过 executeJavaScript 调用
- 避免 did-stop-loading 监听器累积导致 MaxListenersExceededWarning
- 统一 14 处调用点,提升代码一致性和可维护性
|
2026-01-14 13:41:28 +08:00 |
|
kuaifan
|
c0183e62fb
|
style: 统一 webTab 主题配色风格
- 深色模式:背景 #202124,活跃Tab #323639,文字 #D6D6D7
- 浅色模式:背景 #F1F3F4,活跃Tab #FFFFFF,文字 #5F6368
- 同步更新 WebView 默认背景色和加载页背景色
- 更新 earth 图标选中态颜色适配新主题
- 删除未使用的 link 图标资源
- 语言切换时重建预加载池
|
2026-01-14 11:50:15 +08:00 |
|
kuaifan
|
ce5bb5f187
|
refactor: 统一 webTab 背景色设置逻辑
- 移除 createWebTabView 中冗余的深色/浅色主题背景色判断分支
- 统一使用 utils.getDefaultBackgroundColor() 获取默认背景色
- 移除 did-stop-loading 事件中不必要的背景色重置逻辑
|
2026-01-14 10:14:31 +08:00 |
|