kuaifan
b914a99b62
fix(dashboard): 更新仪表盘警告信息样式,使用粘性定位
2026-07-21 19:38:40 +08:00
kuaifan
e4e1cd9b82
fix(dashboard): 优化移动端个人视角布局
2026-07-20 14:08:12 +00:00
kuaifan
71ca6ba249
feat(dashboard): 完善负责人视角界面与范围切换
2026-07-18 23:43:10 +00:00
kuaifan
4b92ecb422
feat(dashboard): 完善个人视角空状态
2026-07-18 04:47:12 +00:00
kuaifan
6666605f7d
feat: 完善管理后台团队仪表盘
2026-07-18 01:13:43 +00:00
kuaifan
f7bc724e13
feat(dialog): 撤回文本消息后本地显示"重新编辑"占位
...
- 撤回自己的文本/MD 消息后,原位置显示仅本人可见的"你撤回了一条消息 重新编辑"占位(仿微信)
- 占位纯本地存储(IndexedDB 持久化,Electron 多窗口 syncDispatch 同步),5 分钟过期自动清除
- 点"重新编辑"回填原内容到输入框(富文本还原 @提及/表情,先退出引用/编辑模式),占位随即移除
- 占位沿用原消息 id 排序定位,仅在已加载消息范围内合并显示,不干扰翻页与已读上报
- 同步更新 ai-kb recall 文档与前端语言文件
2026-07-16 11:20:37 +00:00
kuaifan
746337c2f6
feat(search): 语义搜索迁移至 Manticore Auto Embeddings,向量走 ai 插件免费模型
...
- embedding 统一改走 ai 插件 /embeddings(免费向量模型,1024 维),删除第三方 key 分支
- 5 张向量表启用引擎 Auto Embeddings(MODEL_NAME/FROM/API_URL),写入/更新时引擎自动生成向量
- 表定义使用派生密钥 sha256(APP_KEY:embeddings),避免主密钥进入引擎元数据
- 写入改为 REPLACE(单行原子)与多行批量 REPLACE(整语句一次向量化调用,失败回退逐行)
- 结构指纹 vector:schema 标记:版本/模型/端点/APP_KEY 变化时自动清空重建并重置同步指针
- 退役 PHP 向量管道:删除 generate-vectors 命令、双指针、withVector 分支与批量向量生成方法
- 根治缺陷:全文重同步不再抹掉向量;内容编辑后向量由引擎自动重算,不再过期
2026-07-15 10:45:20 +00:00
kuaifan
13ba1d3bd7
feat(file): 我的文件纳入已共享文件,修复板块切换缓存丢失
...
- 「我的文件」改为展示我拥有的全部(含已共享出去的),与「共享文件」在“我共享的”上刻意重叠
- 缓存改为 stale-while-revalidate:按板块懒加载,切回该板块/目录先读缓存再拉接口静态刷新
- getFiles 清理过期行按 scope 限定范围,避免刷新一个板块误删另一板块(同为 pid=0)的缓存
- 微调 file-tabs 来源筛选字号与面包屑上边距
- 同步 ai-kb 文件入口说明(last_verified v1.8.69)
2026-07-14 12:16:22 +00:00
kuaifan
7b25f243ab
feat(file): 文件页拆分「我的/共享」两个板块并合并工具栏为单行
...
- 顶部 Tab 切换:我的文件(私有 share=0)/ 共享文件(双向,含我共享出去的 + 别人共享给我的),共享板块支持「全部/我共享的/共享给我的」二次筛选
- 后端 File::getFileList 增加 scope 参数,按板块拆分根目录查询;FileController::lists 透传并校验
- 前端用 board/sharedSrc 取代原「仅显示我的」复选框,board 持久化到 IDB
- Tab、子筛选、视图切换合并到同一行(flex 自动换行,视图切换靠最右)
- 根目录不再重复显示板块标题,仅进入子文件夹时显示面包屑(板块名为可点击回根入口)
- 同步更新 ai-kb 文件入口说明
2026-07-14 03:49:59 +00:00
kuaifan
889aca311a
feat(license): 在线授权数据缓存秒开 + 请求 loading
...
- 进页面读 localStorage 缓存即时渲染在线授权数据(key 按站点 host 隔离),
后台并发 license/refresh + system/license 刷新,右上角显示「刷新中」转圈,
数据回来静默替换并更新缓存;非在线状态自动清除缓存
- 首次无缓存显示骨架占位 + 加载中
- 发送验证码改回 setting/email 内联样式(iView search + enter-button +
spinner 全局 loading),去除独立按钮
2026-06-23 07:10:25 +00:00
kuaifan
87e05ef9c9
style(setting): 统一设置页底部按钮间距
...
各设置页底部按钮去除内联 margin-left:8px,改由 .setting-footer
统一 column-gap:12px。
2026-06-23 01:21:20 +00:00
kuaifan
97bd58312e
refactor(approve): 移除主仓库内置审批功能,收敛到插件/微应用
...
删除 ApproveController、ApproveProcInstHistory/ApproveProcMsg 模型、approve
前端页面与导出组件,移除 approve 路由与 flow_url 配置;审批消息模板改为对接
插件侧能力。版本号 1.7.90 → 1.7.91。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 11:35:49 +00:00
kuaifan
39b9a72b16
refactor(ai-assistant): 用内联深链替代 driver.js 页面引导
...
「带我去」分步引导(driver.js + 四级元素定位 + show_guide)定位不稳、
二级菜单不可达、点高亮按钮触发跳转即被杀,体验差。改为 AI 回复正文里把
可定位的页面/面板渲染成可点深链 chip,点击直达那一屏。
- 新增深链目录:_meta/page-links.yaml(语义,供 AI 选择)+ deep-links.js
(可执行映射,21 个无需运行时 id 的导航目的地),两端 id 一致性由
tests/deep-links-parity.mjs 校验
- markdown.js 加 processDeepLinks:[文字](dootask://link/<id>) 合法 id →
chip,非法 id → 纯文字(绝不渲染死链);复用现有 dootask:// 点击拦截链路
- DialogMarkdown 加 link 分支调 openDeepLink;system.vue 支持 query.tab
初始化,系统设置二级 Tab 可深链直达
- 彻底移除 driver.js 引导:删 guide-renderer.js/guide.css、show_guide
前端通道、aiGuideStarted 监听、driver.js 依赖
- 同步 ai-kb:改写 guide/start-guide 两 chunk、tool-binding 去 show_guide
- 插件侧 prompt 改动规格见 docs/ai-deeplink-plugin-spec.md(独立仓库实施)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 23:55:09 +00:00
kuaifan
4de6c69972
feat(ai-assistant): RAG 反馈闭环 + driver.js 页面操作引导
...
方向7 反馈闭环:
- 新增 ai_assistant_search_logs / ai_assistant_feedbacks 两表 + 模型
- AssistantController 加 log__search / feedback__save 端点,auth 透传 session_id→context_key
- 前端 AI 回复下方 👍 /👎 (可改票、随会话持久化回显),extractSourceIds 解析引用
- ai-kb:feedback chunk + README 运营 SQL 口径(低分 top query / 👎 source)
方向4 页面操作引导:
- 渲染层用 driver.js(高亮可点击挖洞 + 稳定定位),编排层自研
(脚本 schema / 四级元素定位 / 跨页 pre_action 导航 / 找不到降级文字)
- leave-semantics:跳转动作在点「下一步」后才执行
- markdown.js 渲染 ```ai-guide 围栏为「带我去」按钮;DialogMarkdown 点击启动
- 近义词归一化(创建/新建/新增/添加互通)提升 target 命中
- ai-kb:guide/start-guide chunk + tool-binding 加 show_guide
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 16:07:08 +00:00
kuaifan
f6067d1bd5
feat(ai-assistant): AI 浮窗/浮按钮移动端适配与流式不中断
2026-06-10 04:05:09 +00:00
kuaifan
fd6a8a3650
feat(user): 会员卡片支持查看该会员参与的项目和任务
...
- 新增权限闸门 UserDepartment::userWorksContext(本人/管理员/部门负责人只读,排除机器人与系统账号)
- 新增接口 project/user/projects、project/user/tasks、project/user/counts
- users/extra 返回 works_visible 标记控制入口显隐
- 会员卡片新增「项目与任务」入口,弹出 UserWorksModal(项目/待办/已完成三 Tab、角标计数、工作流状态徽章、懒加载)
- 部门只读视角下任务仅展示全员可见(visibility=1),与 findForDepartmentView 对齐
- 补充 i18n 文案与暗色样式
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 03:24:50 +00:00
kuaifan
6b54b7b1c5
feat(todo): 聊天待办支持提醒时间(到点引用原消息+@提及)
...
给消息待办增加可选「提醒时间」,到点由 todo-alert 机器人对原消息发起
reply、正文 @ 仍在群内的被指派成员,完全复用原生回复/提及链路(定向未读、
红点、绕过会话免打扰、App 推送);被指派人全部退群则跳过发送并标记已提醒。
设/改/取消提醒的权限沿用 todo_set_permission 开关与 checkTodoOwnerPermission。
后端:
- 迁移:web_socket_dialog_msg_todos 增加 remind_at/reminded_at 及索引,
注册为日期字段
- WebSocketDialogMsgTodo::dueReminders() 选取到点(未提醒/未完成)待办(limit 500)
- WebSocketDialogMsg::setTodoRemind() 纯数据写入(改时间重置 reminded_at),
接入 toggleTodoMsg($remindAt) 与 msg__todo 透传
- 接口 msg__todoremind 设置/修改/取消提醒(权限闸门、消息类型校验、
pushMsg 同步 todo_done)
- TodoRemindTask 到点按消息发提醒(reminded_at 防重复、迟发补发、原消息/
会话删除兜底),buildRemindText 生成 <span class="mention user"> 文本,
接入 crontab;登记 todo-alert 机器人
- msgJoinGroup 从提醒文本中提取被 @ 成员
前端:
- 设待办弹窗新增「提醒时间」(预设 + 自定义 DatePicker)
- 待办详情浮层每条待办可查看/修改/取消提醒:DatePicker on-clear「清空」
二次确认后取消,无时间时仅关闭面板不发请求
- 待办浮层窄屏(≤500px)改为 待办/完成 tab 切换,宽屏维持双列;列表为空
展示空状态占位;提醒时间用 Icon 替换 emoji
- 时间读写对齐项目任务时间的时区约定
测试:tests/Feature/TodoRemindTest(数据/选取/写入/权限决策/buildRemindText/
text mention 提取),TodoSetPermissionTest 无回归。
任务 #124 后续增强。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 12:08:34 +00:00
kuaifan
24f607f442
fix: hide horizontal overflow in user detail
2026-05-21 19:50:38 +08:00
kuaifan
0888f599a4
feat(manage): 管理页侧边栏支持拖拽调整宽度并修复菜单条件渲染
...
- 新增 ResizeLine 组件实现侧边栏宽度拖拽调整,范围200-420px,持久化至 localStorage
- 修复 v-for/v-else-if 同级指令优先级问题,将 v-else-if 提升至 template 包裹层
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 09:41:00 +00:00
kuaifan
8cd4669b90
refactor(manage): 部门负责人只读视角统一使用禁用态UserSelect组件
...
用 disabled 属性的 UserSelect 替代独立的 UserAvatar 只读展示,
消除双份渲染逻辑,负责人/协助人员/可见人员统一使用同一组件路径。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 05:01:15 +00:00
kuaifan
0863e5529a
feat(manage): 实现部门负责人视角,支持只读查看部门成员项目与任务
...
部门负责人/部门管理员可通过系统配置开启,选择管理部门后只读查看
本部门及下级部门成员的全部项目和任务。前端自动根据 department_readonly
标记禁用编辑操作,后端统一注入负责人视角上下文控制数据访问边界。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 00:14:36 +00:00
kuaifan
587db459bf
feat(dialog): 聊天消息 Markdown 表格单元格强制不换行
...
DialogMarkdown 根节点新增 .dialog-markdown 类,统一规则放 markdown.less,删除 dialog-wrapper.scss 里仅覆盖 thead th 的旧局部规则。所有走 DialogMarkdown 组件的入口(聊天消息、bot 模板、单条消息分享页、AI 助手)一次性生效;任务描述、报告编辑等直接调用 MarkdownConver 的场景不受影响。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 15:40:57 +00:00
kuaifan
0c1a913134
feat(TaskAdd): 优化任务添加界面,调整模板浏览器和加载提示样式
...
Co-authored-by: Copilot <copilot@github.com>
2026-05-11 02:03:50 +00:00
kuaifan
7dc641e69e
feat(template): 添加跨项目任务模板支持,增加使用统计和搜索功能
2026-05-11 01:13:54 +00:00
kuaifan
24710289e1
feat(multi-owner): 群/项目/部门支持主+副双负责人体系
...
- 群组:新增 web_socket_dialog_users.role(1=主、2=副),主可任命/罢免副群主,副可邀请/移出普通成员
- 项目:project_users.owner 扩展为 0/1/2(成员/主/副),主独占转让和删除,副共享日常管理;任务可见性、通知、分配等下游逻辑统一用「主+副」
- 部门:新增 user_department_owners 表存储副负责人;部门群同步副群主,赋予群管理员权限
- 转移用户时副身份不替补、降级为普通成员
- 配套 migration/backfill、API、前端 UI、i18n 词条与三项 Feature 测试
- .gitignore 忽略 .playwright-mcp/
2026-05-03 00:05:31 +00:00
kuaifan
6a71964592
feat(dialog): 重构合并转发功能
...
- 合并转发消息体改为存储 msg_ids + preview,不再存储完整消息列表
- 新增 mergedetail API 按需加载合并转发详情
- 详情展示从 Modal 改为 DrawerOverlay,支持完整消息渲染
- 统一不可转发消息类型过滤(tag/top/todo/notice/word-chain/vote/template)
- 合并转发标题改为前端国际化拼接
- DialogWrapper 支持 staticMsgs 静态模式用于详情渲染
- 优化多选操作栏和转发确认界面样式
2026-04-05 09:31:41 +00:00
kuaifan
984b98e4fc
feat(task): 实现消息合并转发功能,支持批量选择和转发消息
2026-04-04 07:43:26 +08:00
kuaifan
04708cedb6
feat(task): 增加解除任务关联功能
...
支持用户在任务详情中解除误关联的任务,权限与修改任务一致(项目负责人、任务负责人、任务协助人)。
- 新增 ProjectTaskRelation::deleteRelation() 删除双向关联并推送 WebSocket
- 新增 API POST /api/project/task/related/delete 接口
- 前端关联任务列表 hover 显示删除按钮,点击确认后解除关联
Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-09 06:38:13 +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
c253044f61
fix(ai): 更新 AI 助手头像显示逻辑和样式
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
3603cf9889
feat(ai): display AI assistant avatar for userid=-1
...
When a message has userid=-1 (AI assistant), display a special AI avatar
with gradient styling instead of the regular UserAvatar component.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 15:30:06 +00:00
kuaifan
478876ddc1
feat(workflow): 在工作流配置中添加规则摘要展示
...
在工作流展开后的配置表格上方添加规则摘要区块,根据实际配置动态展示:
- 状态负责人规则:区分添加模式、流转模式、剔除模式的不同描述
- 限制负责人规则:显示仅限任务负责人和项目管理员修改状态
- 关联列表规则:显示流转时自动移动至指定列表
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 01:55:00 +00:00
kuaifan
3026cd698f
feat: 添加文本换行样式以改善审批详情的可读性
2026-01-13 10:54:13 +00:00
kuaifan
4e99e398d6
feat: 添加动态时间提示和自动校正功能
...
- 在"最早可提前"下方动态显示最早可签到时间
- 在"最晚可延后"下方动态显示最晚可签到时间(跨天显示"次日"前缀)
- 输入值变化时自动校正到临界值,防止时间重叠
- 调整表单布局支持换行显示提示信息
2026-01-07 04:11:32 +00:00
kuaifan
395fc155ce
feat: 使用用户头像作为封面背景
...
在用户详情弹窗的顶部封面区域,使用用户头像作为模糊背景,
提升视觉效果和个性化体验。
- 将用户头像通过 CSS 变量传递给封面区域
- 添加背景模糊滤镜和缩放效果
- 修复容器溢出问题
2026-01-07 03:11:34 +00:00
kuaifan
f42250b8b7
feat: 重构文件管理界面,优化文件操作区域布局和样式
2026-01-04 06:13:44 +00:00
kuaifan
a52dc14369
feat: Enhance AIAssistant and SearchBox components with improved link handling and search functionality
...
- Updated AIAssistant to support parsing of additional message links in the format dootask://message/id1/id2.
- Modified search methods in SearchBox to streamline API calls and remove AI search logic, improving performance and clarity.
- Cleaned up unused AI search code and adjusted search result handling for better data presentation.
- Updated documentation to reflect new link formats for tasks, projects, files, and messages.
2026-01-02 09:48:52 +00:00
kuaifan
23faf28f7f
feat: 集成 SeekDB AI 搜索引擎实现文件内容搜索
2025-12-30 05:49:26 +00:00
kuaifan
16a55de6f1
feat: 增强搜索功能,支持通过 ID、名称和其他字段搜索任务、文件和报告
2025-12-29 15:43:50 +00:00
kuaifan
55303689ea
feat: support configurable default priority
2025-12-26 02:42:47 +00:00
kuaifan
df431eea46
no message
2025-12-18 23:12:53 +00:00
kuaifan
4ef78d2c81
feat: 添加点击消息打开微应用功能
2025-12-02 06:29:45 +00:00
kuaifan
7fd90b9ceb
feat: 添加对话框顶部消息样式
2025-11-28 08:58:14 +00:00
kuaifan
43577073e6
fix: 调整各组件最大高度计算,考虑状态栏和导航栏高度
2025-11-28 02:27:03 +00:00
kuaifan
d88349b6f7
feat: 使用 CSS 变量动态调整窗口高度,优化各组件的最大高度设置
2025-11-28 01:33:35 +00:00
kuaifan
4983fe8feb
feat: 添加自定义微应用菜单功能,支持管理员配置和保存菜单项
2025-11-19 07:54:47 +00:00
kuaifan
e6ad1218bc
feat: 添加一键归档列表中已完成任务
2025-11-14 01:15:19 +00:00
kuaifan
dd2cd1df9a
feat: 更新 OnlyOffice 组件的主题名称;优化文件管理页面的列表渲染;调整抽屉和文件内容的圆角样式
2025-11-13 06:20:21 +08:00