Wenjie Zhang
|
acf150d47d
|
feat(agent): 支持运行恢复与中断续写
完善 AgentRun 的父子运行关系、恢复请求和前端流式状态处理,补充相关单元测试以覆盖中断后恢复场景。
|
2026-05-28 14:09:04 +08:00 |
|
Wenjie Zhang
|
6438f8b7c2
|
feat(models): 增强模型配置能力
|
2026-05-27 19:56:26 +08:00 |
|
Wenjie Zhang
|
2b8cc37592
|
feat(attachments): 新增附件的可解析的支持
|
2026-05-27 18:22:29 +08:00 |
|
Wenjie Zhang
|
4036530bb6
|
feat(skill): 新增 Skill 的权限设置
|
2026-05-27 14:51:56 +08:00 |
|
Wenjie Zhang
|
b08ddc118f
|
fix: 补充默认智能体描述
为默认智能体提供说明并在缺失时自动回填,避免配置面板展示空描述。
|
2026-05-26 19:38:17 +08:00 |
|
Wenjie Zhang
|
5b1fd51b27
|
refactor: 移除 spaCy 图谱抽取器,前端抽取方案收敛为仅 LLM
- 删除 backend/package/yuxi/knowledge/graphs/extractors/spacy.py
- 清理 __init__.py 和 factory.py 中的 spacy 引用
- KnowledgeGraphSection.vue 抽取器类型仅保留 LLM + "更多拓展中"占位
- 补充测试:factory 仅支持 llm、reject spacy、service configure 拒绝 spacy
- 更新 docs/intro/knowledge-base.md 文档描述
|
2026-05-26 17:40:17 +08:00 |
|
Wenjie Zhang
|
b488e48d8e
|
refactor: Benchmark 弹窗重构 + 测试适配 + 文档更新
- 重构 BenchmarkGenerateModal/BenchmarkUploadModal 组件
- 更新测试文件适配架构变更(apikey、sandbox、用户环境)
- 更新 roadmap.md 记录本次修改
|
2026-05-26 17:40:17 +08:00 |
|
Wenjie Zhang
|
708ff29515
|
test: 新增测试文件并更新现有测试适配命名与架构变更
- 新增: test_knowledge_base_backend.py, test_skills_middleware.py
- 更新: 所有现有测试适配 db_id→kb_id, get_subagents_from_names→slugs 等接口变更
|
2026-05-26 17:40:17 +08:00 |
|
Wenjie Zhang
|
1026b1d871
|
refactor: 评估系统重构 - 支持图检索; 重构 Benchmark 生成与 QuerySection 组件
- 后端: milvus_graph_service 增加图检索能力; benchmark_generation 重构为基于 service 的模式
- 后端: evaluation_service.py 迁移至 knowledge/eval/service.py
- 后端: 简化 milvus.py 实现, 抽离图逻辑到 graph service
- 前端: QuerySection.vue 大幅重构, 支持图检索模式与多视图切换
- 前端: BenchmarkGenerateModal 增加图检索配置选项
- 测试: 新增 service_generation 测试, 更新 benchmark_generation 测试
|
2026-05-26 17:40:17 +08:00 |
|
Wenjie Zhang
|
2938b4e794
|
feat: 优化技能和资源配置逻辑,支持默认选择当前用户可用的全部资源
|
2026-05-26 17:40:17 +08:00 |
|
Wenjie Zhang
|
9ab8241f16
|
test: 评估系统重构 - 更新测试适配新语义
- 集成测试适配 dataset/run API 路径
- 单元测试补充并发数参数验证
- conftest 新增测试辅助方法
|
2026-05-26 17:40:17 +08:00 |
|
Wenjie Zhang
|
37179e233f
|
fix: 修复 Notion 页面数据源验证逻辑;增加未知父级的异常处理
|
2026-05-26 17:40:17 +08:00 |
|
Wenjie Zhang
|
5add3a070d
|
feat: 知识图谱状态增加实体/关系数量统计
- KnowledgeGraphRepository 新增 count_by_db_id 方法
- MilvusGraphService.get_status 返回 entity_count 和 relationship_count
- 知识图谱管理面板展示实体与关系计数
- 修复重置按钮在构建中不可见的问题
- 调整默认并发数为 50
Co-authored-by: xerrors <xerrors@qq.com>
|
2026-05-26 17:39:13 +08:00 |
|
Wenjie Zhang
|
1a3ec71b2b
|
feat: 新增Notion连接器
|
2026-05-26 17:39:13 +08:00 |
|
Wenjie Zhang
|
0faecbb886
|
feat(kb): 统一知识库并支持 search/find/open
|
2026-05-26 17:39:13 +08:00 |
|
Wenjie Zhang
|
7db54079a0
|
test: 补充权限控制和用户隔离测试
- 新增 context_auth 权限控制单元测试
- 更新 chat_router 和 knowledge_router 集成测试
- 适配 agent_run_service 和 workspace_service 测试
|
2026-05-26 17:39:13 +08:00 |
|
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
|
5634ac3e27
|
test: 补充图谱抽取器、metadata 持久化与检索元数据测试;更新 roadmap
- LLM 抽取器测试:禁止自定义 Prompt、Schema 拼接、配置锁定修改
- metadata 持久化测试:验证 _save_metadata 不覆写数据库已有图谱配置
- 检索测试:验证 resource_id 写入 metadata
- roadmap 补充图谱抽取器配置优化条目
|
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
|
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
|
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
|
3771b7e804
|
feat(kb): 添加打开知识库文档功能及相关输入模型,优化文件内容读取
|
2026-05-25 21:09:14 +08:00 |
|
supreme0597
|
ae0ccb0597
|
fix(skill): 修复技能安装审核问题
- 拆分技能安装流程,避免慢速拉取阶段占用数据库连接
- 使用 ORM 读改写并加行锁追加 agent 配置 skills,避免重复和并发丢更新
- 强化沙盒目录下载错误处理并补充相关单元测试
|
2026-05-25 21:09:14 +08:00 |
|
supreme0597
|
f13c80be3c
|
fix(skill): 修复安装技能时配置持久化路径错误及单元测试失败的问题
- 修正 AgentConfigRepository 技能写入路径,确保技能保存至 config_json->context->skills
- 修复 test_install_skill 单元测试的各种 mock 与断言,解决由于接口变更和依赖不匹配导致的失败
|
2026-05-25 21:09:14 +08:00 |
|
supreme0597
|
8411976183
|
fix(skill): 修复 install_skill 同步异步混用及数据库连接问题
- 将 install_skill 改为 async def,消除 asyncio.run() 事件循环冲突
- 修复 agent_config_repository 表名及 jsonb 类型转换
- 增加数据库连接池配置,避免高并发耗尽连接
- 修复远程 skill 批量安装列表引用共享 bug
- 修复 slug 冲突 warning 误报(目录名 vs SKILL.md name)
- 新增 UserRepository 支持外部传入 db 会话
- 更新测试适配 async 签名
|
2026-05-25 21:09:14 +08:00 |
|
supreme0597
|
a772665212
|
feat(skill): 新增 Agent 会话中安装 Skill 功能
- 新增 install_skill 工具,支持从 Sandbox 路径或 Git 仓库安装 skill
- 支持管理员权限校验(admin/superadmin)
- 安装后自动持久化到 agent config,新对话自动生效
- 动态激活当前会话,无需重启
- 新增 AgentConfigRepository.add_skills_to_config_json() 原子 JSONB 操作
- 新增 21 个单元测试,覆盖权限、Schema、安装流程等场景
|
2026-05-25 21:09:14 +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
|
ef75bd262f
|
fix(backend): 统一为本地及MCP动态工具注入handle_tool_error容错
- 在 mcp_service 的 get_mcp_tools 加载出口全局设置 tool.handle_tool_error = True
- 在 toolkits registry 的 @tool 装饰器中对本地工具默认开启 handle_tool_error = True
- 修复因 MCP/本地工具内部执行出错抛出 ToolException 时击穿流服务导致 crash 的 bug
- 新增两个单元测试进行完备性验证
|
2026-05-25 17:32:48 +08:00 |
|
supreme0597
|
9406463849
|
refactor(security): 针对普通用户采用安全白名单投影过滤技能与MCP元数据
1. 技能列表接口:普通用户返回数据通过白名单字段投影,屏蔽 dir_path 等绝对物理路径。
2. MCP 服务器列表接口:废除原 pop() 黑名单模式,升级为显式白名单准入映射。
3. 单元测试:同步升级 test_skill_router.py 和 test_mcp_router.py,强化字段脱敏性测试断言。
|
2026-05-22 14:15:31 +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
|
0627bc0db6
|
feat(kb): 添加打开知识库文档功能及相关输入模型,优化文件内容读取
|
2026-05-17 01:58:04 +08:00 |
|
supreme0597
|
74b9160a99
|
fix(skill): 修复技能安装审核问题
- 拆分技能安装流程,避免慢速拉取阶段占用数据库连接
- 使用 ORM 读改写并加行锁追加 agent 配置 skills,避免重复和并发丢更新
- 强化沙盒目录下载错误处理并补充相关单元测试
|
2026-05-17 01:58:04 +08:00 |
|
supreme0597
|
554c83a5b4
|
fix(skill): 修复安装技能时配置持久化路径错误及单元测试失败的问题
- 修正 AgentConfigRepository 技能写入路径,确保技能保存至 config_json->context->skills
- 修复 test_install_skill 单元测试的各种 mock 与断言,解决由于接口变更和依赖不匹配导致的失败
|
2026-05-17 01:58:04 +08:00 |
|
supreme0597
|
e153e86fd9
|
fix(skill): 修复 install_skill 同步异步混用及数据库连接问题
- 将 install_skill 改为 async def,消除 asyncio.run() 事件循环冲突
- 修复 agent_config_repository 表名及 jsonb 类型转换
- 增加数据库连接池配置,避免高并发耗尽连接
- 修复远程 skill 批量安装列表引用共享 bug
- 修复 slug 冲突 warning 误报(目录名 vs SKILL.md name)
- 新增 UserRepository 支持外部传入 db 会话
- 更新测试适配 async 签名
|
2026-05-17 01:58:04 +08:00 |
|
supreme0597
|
fadf6a0abe
|
feat(skill): 新增 Agent 会话中安装 Skill 功能
- 新增 install_skill 工具,支持从 Sandbox 路径或 Git 仓库安装 skill
- 支持管理员权限校验(admin/superadmin)
- 安装后自动持久化到 agent config,新对话自动生效
- 动态激活当前会话,无需重启
- 新增 AgentConfigRepository.add_skills_to_config_json() 原子 JSONB 操作
- 新增 21 个单元测试,覆盖权限、Schema、安装流程等场景
|
2026-05-17 01:58:04 +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
|
bdf983f1e0
|
fix(parser): 修复 Docling 图片异常占位回填
保留上传失败的图片占位说明,并补充混合图片类型回填顺序的回归测试,避免占位符错位或异常路径掩盖原始错误。
Taskr: 2026-05-12-fix-docling-image-replacement-regression
|
2026-05-12 10:17:44 +08:00 |
|
Wenjie Zhang
|
ab513e2619
|
feat: 优化评估基准生成,支持仅使用 commonrag/Milvus 知识库,调整参数配置
|
2026-05-06 22:12:09 +08:00 |
|
Wenjie Zhang
|
179b048f07
|
refactor(eval): 重构评估指标和基准生成
- 引入了一个新的指标计算模块,用于检索和答案评估。
-通过整合基准生成和评估指标来简化评估服务。
-为新指标和基准生成功能添加了单元测试。
- 更新了前端组件,以利用新的图标,并改进了评估基准的样式。
-将与评估相关的逻辑整合为专门的“知识/评估”结构,以更好地组织。
|
2026-05-06 18:04:31 +08:00 |
|