Wenjie Zhang
|
f1e6bcf6eb
|
refactor: 统一使用 uid 而不是 user_id
|
2026-05-26 17:39:13 +08:00 |
|
Wenjie Zhang
|
78acc19a88
|
feat(kb): 新增从工作区导入文件功能,优化图谱配置面板与并发上限
- 后端新增 /files/import-workspace 接口,将工作区文件上传至 MinIO 并返回预处理结果
- 后端新增 resolve_workspace_file_path 工具函数,校验文件存在性与类型
- 前端 FileUploadModal 新增工作区文件选择模式,支持目录浏览与多选文件
- 前端 knowledge_api 新增 importWorkspaceFiles API
- 图谱抽取器并发上限从 20 提升至 1000
- 图谱配置面板浮动层级与样式微调(阴影、边框、告警文案精简)
- 知识库类型 milvus 标签颜色从 red 改为 blue
- 新增工作区导入后端单元测试
|
2026-05-26 17:39:12 +08:00 |
|
Wenjie Zhang
|
1344ae3f69
|
style(web): 微调工具调用折叠栏与文件表格样式,更新登录背景图
- 工具调用折叠栏简化按钮样式,调整缩进与间距
- ListKbsTool 紧凑内边距
- BaseToolCall loader 颜色调整
- FileTable 溢出菜单宽度统一
|
2026-05-26 17:39:12 +08:00 |
|
Wenjie Zhang
|
47d2afb3b8
|
feat(web): 图谱配置面板重构为卡片式抽取器选择,支持 Schema 与并发配置
- 抽取器类型改为卡片式选择,未配置时在图谱画布上显示配置入口
- LLM 抽取器支持 Schema 约束、并发队列数和模型参数 JSON
- 已锁定配置允许修改同类型参数,类型本身保持锁定
- GraphCanvas 修复 resize 时尺寸为零的问题,resize 后延迟 fitView
- 索引管理面板增加刷新按钮与修改配置入口
|
2026-05-26 17:39:12 +08:00 |
|
Wenjie Zhang
|
409df5b073
|
feat(kb): 新增检索配置、图种子查询、实体/三元组搜索与融合检索
- 新增 MilvusRetrievalConfig 数据类,支持向量/关键词/混合/图检索参数化配置
- 新增 query_seed_subgraph 和图检索融合逻辑
- MilvusGraphVectorStore 新增 search_entities/search_triples
- MilvusGraphService.get_status 支持构建任务状态与进度查询
- cypher 语句增加 entity_id/triple_id 属性
- 前端 KnowledgeGraphSection 和 SearchConfigModal 适配新配置
- 新增 igraph 依赖
|
2026-05-26 17:39:12 +08:00 |
|
Wenjie Zhang
|
6225310600
|
feat(kb): 新增知识图谱向量存储、文件大小补全及前端重构
- 新增 MilvusGraphVectorStore 和 KnowledgeGraphRepository
- 新增文件大小从 MinIO 补全的逻辑(上传时 + 启动时)
- 重构 FileTable、GraphDetailPanel、KnowledgeGraphSection 等前端组件
- 新增文件大小回退测试和 kb_utils 测试
- 优化 file_utils 工具函数
- 更新 roadmap 文档
|
2026-05-26 17:39:12 +08:00 |
|
Wenjie Zhang
|
a0f9b0b6fd
|
feat(kb):新增知识库文件管理功能
- 更新了 KnowledgeBaseManager 以支持新的文件管理方法。
- 在 workspace_router 中为知识库文件操作新增了端点,包括文件树列表、文件预览和文件下载。
- 在 workspace_api.js 中添加了相应的 API 调用,用于知识库交互。
- 增强了 AgentFilePreview 组件,支持预览变体之间的切换。
- 更新了导航逻辑,重定向至知识管理标签页,而非数据库视图。
- 修改了 WorkspaceView 以处理知识库条目和预览,包括加载和展示知识文件。
- 通过在文件操作期间提供加载与错误状态的反馈,改善了用户体验。
|
2026-05-26 17:39:12 +08:00 |
|
Wenjie Zhang
|
fa2497e439
|
refactor: 更新配置和权限逻辑,移除过时参数,优化用户信息组件的下拉触发方式
|
2026-05-26 17:39:12 +08:00 |
|
Wenjie Zhang
|
e3c5f41c7c
|
refactor: 知识库重新设计
- 默认的知识库类型新增图谱抽取能力
- 移除 LightRAG 以及原有的知识图谱支持
- 移除所有兼容性的代码
|
2026-05-26 17:39:12 +08:00 |
|
Wenjie Zhang
|
25b80c7d3a
|
refactor: 重构 Chunk 逻辑,异步部分参数
|
2026-05-26 17:39:12 +08:00 |
|
supreme0597
|
caab251f02
|
fix(skill): 异步化删除目录防阻塞并限制批量删除上限以避免超时
|
2026-05-25 23:35:00 +08:00 |
|
Wenjie Zhang
|
43a23e2e88
|
Merge branch 'main' into feat/skills-remote-install
|
2026-05-25 21:37:07 +08:00 |
|
supreme0597
|
f024524b4e
|
fix(mention): 解决新建会话未对话时输入@无法检索工作区文件的问题
|
2026-05-25 21:11:41 +08:00 |
|
supreme0597
|
9dcd8fdaa7
|
fix(mention): 解决新会话中@提及无法激活问题,引入Redis缓存一致性失效闭环
|
2026-05-25 21:11:41 +08:00 |
|
supreme0597
|
6b29f659e5
|
feat: 修复 @ mention 搜索漏洞并重构优化 AgentPanel 自动打开策略
1. 修复 mention_router 中的 IDOR 越权安全漏洞,加入 thread 归属权校验,定义强类型 Pydantic Schema。
2. 修复 mention_search_service 中 ensure_thread_dirs 的 GET 副作用、空 Query 扫描和 MAX_SEARCH_DEPTH 深度问题,使用标准 Base64 编解码。
3. 增加前端 mention_api.js 参数的安全兜底。
4. 重构 AgentPanel 自动展开策略,彻底解决大仓库克隆时的卡死问题:
- 将 fetchThreadFiles 改为 recursive=false 避免递归大目录。
- 重构为只有在发生显性的物理文件写入(用户上传附件成功、用户保存交付件到工作区成功)的回调中才精准触发侧边栏自动展开,完美契合用户心智模型与性能诉求。
5. 精简 roadmap.md 文档,更新相关单元测试。
|
2026-05-25 21:11:41 +08:00 |
|
supreme0597
|
d0c60d9d82
|
feat(mention): 优化@提及搜索排序与高亮展示,修复唤醒交互及路径硬编码问题
|
2026-05-25 21:11:20 +08:00 |
|
Wenjie Zhang
|
575c34b160
|
feat: 将kb 从沙盒映射中移除,取而代之的是一个新的 Open 工具,可以提供自由且可控的文件访问
|
2026-05-25 21:10:05 +08:00 |
|
Wenjie Zhang
|
86f92f7f3f
|
feat(doc): 更新 MinerU 解析器参数,修改 Docker 配置,优化文档说明
|
2026-05-25 21:08:37 +08:00 |
|
supreme0597
|
3870dc18a0
|
feat(web): 添加 SVG 操作按钮(复制 SVG 源码/复制为 PNG)及事件委托
- svgRenderer.js 输出中嵌入 .svg-actions 操作按钮
- MarkdownPreview.vue 添加事件委托处理复制逻辑
- PNG 尺寸策略:viewBox 固有坐标 → getBoundingClientRect → 800x600
- Canvas 不强制填充背景色,由 SVG 自身决定
- 深色模式适配
|
2026-05-25 21:08:37 +08:00 |
|
supreme0597
|
6d626ab908
|
feat(web): 添加 SVG 响应式容器样式到 MarkdownPreview
- 添加 .svg-inline-render 响应式容器样式
- 深色模式半透明背景支持
|
2026-05-25 21:08:37 +08:00 |
|
supreme0597
|
b31776e405
|
feat(web): 在 renderMarkdown 中集成 SVG 渲染(DOMPurify 默认已支持 SVG)
- 导入 renderSvgBlocks() 并在 markdown-it 渲染前调用
- cacheKey 基于 SVG 转换后的内容,保证缓存一致性
- DOMPurify 配置保持不变(默认白名单已支持 SVG)
|
2026-05-25 21:08:37 +08:00 |
|
supreme0597
|
73041775d4
|
feat(web): 添加 SVG 代码块预处理工具函数(行级解析,支持围栏变体)
- 新增 svgRenderer.js,实现 renderSvgBlocks() 函数
- 支持反引号/波浪线围栏、大小写不敏感、围栏属性等变体
- 流式安全:不完整 SVG 块保持原样
- SVG 内容压缩为单行,防止 markdown-it HTML 块截断
- 新增 15 个单元测试覆盖所有场景
|
2026-05-25 21:08:37 +08:00 |
|
supreme0597
|
df08fea2b8
|
feat(skills): 支持远程安装搜索、仓库历史记录与批量删除
- 后端新增全局搜索 skills.sh API (POST /system/skills/remote/search)
- 后端新增批量删除接口 (POST /system/skills/delete-batch),使用行锁防并发
- skill_repository.get_by_slug 支持 for_update 参数
- 前端远程安装弹框重构:Tab 双视图(按仓库拉取/全局搜索)、分页列表
- 前端仓库输入框新增历史记录功能(localStorage 持久化),支持逐条/批量清空
- 前端批量管理模式:全选/反选/清空 + 二次确认批量删除
- 修复 dropdown overlay teleport 到 body 导致 scoped CSS 无法穿透的样式问题
- 补充批量删除及并发锁单元测试
|
2026-05-25 17:54:58 +08:00 |
|
supreme0597
|
3082d9808e
|
Merge remote-tracking branch 'origin/dev' into supreme/feat/svg-render
|
2026-05-23 19:20:05 +08:00 |
|
Wenjie Zhang
|
fd6803e477
|
chore(release): 准备 0.6.2 发布
|
2026-05-22 20:22:09 +08:00 |
|
supreme0597
|
27fb208c81
|
fix(mention): 解决新建会话未对话时输入@无法检索工作区文件的问题
|
2026-05-22 13:28:53 +08:00 |
|
supreme0597
|
f4f6ff29e2
|
fix(mention): 解决新会话中@提及无法激活问题,引入Redis缓存一致性失效闭环
|
2026-05-22 13:15:46 +08:00 |
|
supreme0597
|
469e362506
|
feat: 修复 @ mention 搜索漏洞并重构优化 AgentPanel 自动打开策略
1. 修复 mention_router 中的 IDOR 越权安全漏洞,加入 thread 归属权校验,定义强类型 Pydantic Schema。
2. 修复 mention_search_service 中 ensure_thread_dirs 的 GET 副作用、空 Query 扫描和 MAX_SEARCH_DEPTH 深度问题,使用标准 Base64 编解码。
3. 增加前端 mention_api.js 参数的安全兜底。
4. 重构 AgentPanel 自动展开策略,彻底解决大仓库克隆时的卡死问题:
- 将 fetchThreadFiles 改为 recursive=false 避免递归大目录。
- 重构为只有在发生显性的物理文件写入(用户上传附件成功、用户保存交付件到工作区成功)的回调中才精准触发侧边栏自动展开,完美契合用户心智模型与性能诉求。
5. 精简 roadmap.md 文档,更新相关单元测试。
|
2026-05-22 12:30:22 +08:00 |
|
supreme0597
|
261ea88b11
|
fix(mention): 修复普通用户无法在聊天中唤出技能与MCP提及列表的Bug
原因:
1. 后端接口 GET /api/system/skills 与 GET /api/system/mcp-servers 之前被权限校验拦截。
2. 前端本地在调用拉取技能和MCP服务底集的方法时,前置调用了 apiAdminGet 会在本地硬性拦截非管理员权限的用户,导致请求被掐断并静默兜底返回空数组。
修改:
1. 后端放开此二接口路由为低特权只读访问,且对 MCP 服务器的敏感连接信息(如 url、command、args、env、headers)在 user 角色拉取时执行强力脱敏过滤,并补充相关单元测试。
2. 前端将 listSkills 与 getMcpServers 从 apiAdminGet 调整为 apiGet,绕过本地硬拦截。
3. 维护 roadmap.md 进度记录。
|
2026-05-22 00:23:18 +08:00 |
|
supreme0597
|
65135e2f93
|
feat(mention): 优化@提及搜索排序与高亮展示,修复唤醒交互及路径硬编码问题
|
2026-05-21 23:44:56 +08:00 |
|
Wenjie Zhang
|
8e17f44ec2
|
feat: 将kb 从沙盒映射中移除,取而代之的是一个新的 Open 工具,可以提供自由且可控的文件访问
|
2026-05-17 01:58:04 +08:00 |
|
Wenjie Zhang
|
0e174a3ba8
|
feat(doc): 更新 MinerU 解析器参数,修改 Docker 配置,优化文档说明
|
2026-05-17 01:58:04 +08:00 |
|
supreme0597
|
43f2f2bb28
|
feat(web): 添加 SVG 操作按钮(复制 SVG 源码/复制为 PNG)及事件委托
- svgRenderer.js 输出中嵌入 .svg-actions 操作按钮
- MarkdownPreview.vue 添加事件委托处理复制逻辑
- PNG 尺寸策略:viewBox 固有坐标 → getBoundingClientRect → 800x600
- Canvas 不强制填充背景色,由 SVG 自身决定
- 深色模式适配
|
2026-05-15 11:40:24 +08:00 |
|
supreme0597
|
4d300f82af
|
feat(web): 添加 SVG 响应式容器样式到 MarkdownPreview
- 添加 .svg-inline-render 响应式容器样式
- 深色模式半透明背景支持
|
2026-05-15 11:40:24 +08:00 |
|
supreme0597
|
f764415e4d
|
feat(web): 在 renderMarkdown 中集成 SVG 渲染(DOMPurify 默认已支持 SVG)
- 导入 renderSvgBlocks() 并在 markdown-it 渲染前调用
- cacheKey 基于 SVG 转换后的内容,保证缓存一致性
- DOMPurify 配置保持不变(默认白名单已支持 SVG)
|
2026-05-15 11:40:24 +08:00 |
|
supreme0597
|
6938dfe18d
|
feat(web): 添加 SVG 代码块预处理工具函数(行级解析,支持围栏变体)
- 新增 svgRenderer.js,实现 renderSvgBlocks() 函数
- 支持反引号/波浪线围栏、大小写不敏感、围栏属性等变体
- 流式安全:不完整 SVG 块保持原样
- SVG 内容压缩为单行,防止 markdown-it HTML 块截断
- 新增 15 个单元测试覆盖所有场景
|
2026-05-15 11:40:24 +08:00 |
|
Wenjie Zhang
|
5731c9d7cf
|
feat: 视觉优化,修复样式问题
|
2026-05-14 20:43:40 +08:00 |
|
Wenjie Zhang
|
bac93a5d04
|
chore(release): 发布 0.6.2.beta
|
2026-05-14 19:20:02 +08:00 |
|
supreme0597
|
44d1b20383
|
feat(skills): 优化远程 Skill 批量安装,单次克隆完成多 skill 安装
新增 install_remote_skills_batch() 函数,利用 npx skills add 原生多 --skill 支持,
将安装 N 个 skill 的仓库克隆次数从 2N 降至 1。
后端:
- remote_skill_install_service.py 新增批处理 + _find_skill_dir()
- skill_router.py 新增 POST /remote/install-batch 端点 (admin 权限)
- 非法 skill 名不阻塞其他合法 skill,结果按请求顺序返回
- CLI 部分失败时仍导入已安装的 skill
- import 失败后 rollback session,不影响后续导入
前端:
- skill_api.js 新增 installRemoteSkillsBatch()
- SkillCardList.vue 改为单次批处理调用
测试:
- 4 个单元测试覆盖正常安装/缺失跳过/部分失败/非法名场景
文档:
- docs/develop-guides/roadmap.md 更新开发记录
- docs/vibe/2026-05-14-remote-skill-batch-install-plan.md 方案文档(含设计决策)
|
2026-05-14 17:15:38 +08:00 |
|
Wenjie Zhang
|
33a71068ed
|
feat(auth): 下放扩展管理权限
允许管理员进入扩展管理并管理 Skills,补充权限测试和 PR 检查说明,保持前后端权限口径一致。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-14 13:13:41 +08:00 |
|
Wenjie Zhang
|
ef963617fc
|
feat(agent): 更新代理面板和输入区域,优化状态管理和界面交互
|
2026-05-12 15:26:48 +08:00 |
|
Wenjie Zhang
|
369a749c78
|
Merge branch 'main' into feat/auth
|
2026-05-12 15:17:08 +08:00 |
|
Wenjie Zhang
|
e513ce9c5d
|
fix(workspace): 修复 Markdown 预览和编辑
Taskr: 2026-05-12-fix-workspace-preview-markdown-editing
|
2026-05-12 14:30:28 +08:00 |
|
Wenjie Zhang
|
911c674545
|
fix(chat): 移除对话头部用户信息展示
|
2026-05-12 14:15:08 +08:00 |
|
Wenjie Zhang
|
828aad787e
|
fix(user): 优化新增用户登录 ID 展示
将自动生成的登录 ID 收敛到用户名输入提示中,减少表单项占用并保持登录信息可见。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-12 13:47:40 +08:00 |
|
Wenjie Zhang
|
6733710e18
|
feat(agent): 默认启用可访问知识库
未显式配置知识库时默认使用当前用户可访问的全部知识库,保留显式空列表表示不启用知识库的语义。
|
2026-05-12 13:40:44 +08:00 |
|
Wenjie Zhang
|
c44085d718
|
fix(web): 修复路由守卫 next 弃用警告
将全局导航守卫改为返回值式跳转,避免 Vue Router 提示 next 回调已弃用。
|
2026-05-10 18:56:24 +08:00 |
|
Wenjie Zhang
|
22fbcb586c
|
fix(web): 修复 MCP 卡片图标类型警告
移除 MCP 卡片无效的默认图标传参,并允许 InfoCard 接收函数组件图标。
|
2026-05-10 18:50:16 +08:00 |
|
Wenjie Zhang
|
f87b763b7b
|
fix(web): 修复普通流式发送时用户消息延迟显示
在 legacy 流式发送路径中补齐本地乐观用户消息,避免消息发送后等待历史刷新才出现在对话中。
|
2026-05-10 18:39:36 +08:00 |
|
Wenjie Zhang
|
482f94a711
|
feat(web): 优化 MCP 详情页编辑体验
|
2026-05-10 00:36:26 +08:00 |
|