|
|
23a0022d18
|
feat(external_systems): add graceful resource cleanup on app shutdown
新增外部系统模块的优雅关停逻辑,在应用关闭时释放所有连接池资源和适配器实例缓存,确保httpx、gRPC等连接能够正常发送FIN包完成关闭流程,而非依赖操作系统强制回收文件描述符。
|
2026-06-25 16:56:19 +08:00 |
|
|
|
67d42fc246
|
refactor(scheduler/exceptions): 完善异常基类与子类的错误码和序列化能力
1. 为SchedulerError基类新增error_code类变量、trace_id参数和to_dict序列化方法
2. 为所有异常子类补充对应的业务错误码
3. 优化异常的字符串展示格式,增加error_code前缀
|
2026-06-24 21:52:02 +08:00 |
|
|
|
1003b842e1
|
refactor(exceptions): 统一异常体系并替换零散异常抛出
1. 新增FrameworkError作为框架技术异常基类,统一处理非业务校验类错误
2. 为所有异常类添加error_code和trace_id支持,完善异常序列化能力
3. 将多处原生异常、RuntimeError替换为标准领域/框架异常
4. 优化WSDL解析逻辑,添加详细的警告日志便于排查问题
|
2026-06-24 21:51:44 +08:00 |
|
|
|
e9a1ea1050
|
test(scheduler): add complete integration tests for scheduler router
覆盖定时任务调度路由的所有核心场景:三级权限校验、CRUD全流程、状态机操作、回收站管理、各类查询端点、参数校验以及运维接口,对齐现有测试规范实现
|
2026-06-23 13:42:15 +08:00 |
|
|
|
64b6bc8dd2
|
feat(scheduler): 新增定时任务调度模块
1. 新增scheduler_router路由,实现完整的定时任务CRUD、状态管理、日志查询等接口
2. 在lifespan中添加调度器数据库schema初始化逻辑
3. 注册定时任务路由到全局API路由
|
2026-06-22 21:22:47 +08:00 |
|
|
|
b6ef5525ed
|
build(backend): add croniter dependency to pyproject.toml
新增croniter库作为后端项目依赖,用于处理定时任务相关的 cron 表达式解析等场景
|
2026-06-22 21:22:25 +08:00 |
|
|
|
2a401450cb
|
refactor(scheduler): 整理代码格式与导入,新增调度器配置与handler注册框架
本次提交包含多类改进:
1. 清理冗余空行、修复导入格式与类型检查占位
2. 新增external_systems与scheduler上下文的handler注册框架
3. 补全调度器相关配置项与环境变量覆盖逻辑
4. 新增配置校验与敏感字段脱敏逻辑
5. 简化协议方法声明格式
|
2026-06-22 21:22:07 +08:00 |
|
|
|
fa519d12b9
|
refactor(utils/datetime): rewrite utc datetime formatting logic
明确 naive 时区 datetime 的处理逻辑,补充和数据库存储约定的注释,将原逻辑拆分为显式的 naive/aware 分支处理,保持原有功能不变
|
2026-06-22 21:20:35 +08:00 |
|
|
|
077de8e6d6
|
feat(agent-toolkit): add web search and crawl built-in toolkits
实现了完整的网页搜索与抓取内置工具集:
1. 新增搜索工具链:支持SearXNG与Tavily多Provider降级、滑动窗口限流、统一结果格式
2. 新增网页抓取工具:单页抓取、站点递归抓取、内容入库知识库功能
3. 完善安全防护:SSRF校验、robots.txt合规、请求限流
4. 自动注册工具到系统注册表,无需额外配置即可使用
|
2026-06-22 21:20:02 +08:00 |
|
|
|
9e68234c20
|
test: 新增 scheduler 限界上下文全量单元测试
新增覆盖以下模块的单元测试:
1. 核心契约与校验函数
2. 持久化层工作单元与ORM映射
3. 运行时处理器注册表
4. 业务用例工具类(退避、抖动、Cron计算)
5. 基础设施容器装配
6. 框架内置清理处理器(运行日志、幂等记录)
7. 测试共享Fixture与桩实现
|
2026-06-22 21:16:16 +08:00 |
|
|
|
6498af03e3
|
feat(scheduler): 完整实现定时任务调度限界上下文基础架构
本次提交完成了定时任务调度限界上下文的全量基础架构搭建,包括:
1. 基于六边形架构的完整分层(core/use_cases/framework/adapters/infrastructure)
2. 任务调度核心领域模型、端口契约与校验工具
3. 持久化适配器层与SQLAlchemy仓储实现
4. 调度运行时核心组件(handler注册表、执行引擎)
5. 内置维护型任务handler(日志清理、幂等记录清理)
6. 全局异常处理器与PostgreSQL表结构适配
7. ARQ worker调度任务集成与启动装配逻辑
|
2026-06-22 20:07:20 +08:00 |
|
|
|
825a5e9769
|
feat: 新增外部系统工具加载能力,补充数据库初始化和异常处理
1. 在agent资源解析中新增从数据库加载外部工具的逻辑
2. 新增全局外部适配器注册和数据库外部schema初始化
3. 添加外部系统异常统一处理中间件
4. 在运行时工具解析中追加外部系统工具加载
|
2026-06-20 22:17:20 +08:00 |
|
|
|
824471454b
|
test: add complete unit and integration test suite for external_systems module
新增覆盖认证插件、运行时工具、数据库适配器、API路由、业务用例的完整单元与集成测试,包含:
1. 各认证插件的属性校验与异常场景测试
2. 运行时工具类的格式、唯一性与边界测试
3. gRPC/HTTP错误映射器测试
4. 通知解析、枚举类单元测试
5. 回收站、仪表盘API集成测试
6. 全局共享fixture与桩实现
|
2026-06-20 22:17:01 +08:00 |
|
|
|
ba798a9bb5
|
feat(routers): add external systems management module and its sub routers
新增外部系统限界上下文的完整路由体系,包含聚合路由层与23个子领域路由,覆盖外部系统全生命周期管理、健康检查、指标监控、审计日志、Token管理、通知渠道、回收站等功能,并将外部系统路由挂载到全局API前缀下。
|
2026-06-20 22:16:07 +08:00 |
|
|
|
74709ba2d3
|
feat: 完成外部系统限界上下文核心代码实现
新增六边形架构核心代码包,包含:
1. 协议适配器层:HTTP/SMTP/IMAP/SSH/GRPC等多协议适配器实现
2. 认证插件体系:基础认证、API密钥、HMAC等多类型认证插件
3. 执行编排框架:工具执行器、上下文构建、运行时治理组件
4. 用例端口与DTO:定义领域服务端口与数据传输对象
5. 厂商集成包框架:支持第三方系统集成扩展
6. 基础设施装配层:实现依赖注入与服务装配
所有代码遵循六边形架构设计原则,实现端口与适配器解耦,支持动态扩展与自动发现。
|
2026-06-20 22:12:42 +08:00 |
|
|
|
33b7da1a43
|
refactor(skills): 移动SkillRepository到repositories层
解决跨模块循环导入问题,将技能仓储类从agents/skills目录下沉到通用repositories目录,统一仓储层代码位置
|
2026-06-20 21:03:29 +08:00 |
|
|
|
bea74470cc
|
feat(utils): 新增加密工具模块并完善SSRF防护能力
1. 新增crypto.py实现基于Fernet的敏感字段加密脱敏通用工具
- 封装CryptoHelper类,支持密钥注入、环境变量加载
- 实现单值加解密、递归处理字典列表的敏感字段加解密与脱敏
- 提供模块级便捷函数和全局实例便于调用
2. 优化net_security.py的SSRF防护逻辑
- 新增IPv4嵌入IPv6地址检测处理
- 增加歧义netloc拦截规则
- 拆分同步异步校验逻辑,新增解析IP返回能力
- 优化代码结构与注释可读性
|
2026-06-18 03:23:00 +08:00 |
|
|
|
32b213593e
|
feat: 新增会话通信工具与子会话嵌套管理能力
1. 新增会话通信工具集,支持列出会话、查看会话历史、发送会话消息和查询智能体进度
2. 实现子智能体嵌套深度限制与父子会话关系管理
3. 新增数据库字段与索引支持会话层级存储
4. 添加会话工具单元测试与LITE模式适配
|
2026-06-13 20:19:07 +08:00 |
|
|
|
436c09fb90
|
refactor(ssrf): 优化SSRF策略的主机名匹配逻辑
将主机名拦截规则从直接使用原始配置改为使用预归一化后的数据,提升匹配效率和一致性
|
2026-06-13 18:54:01 +08:00 |
|
|
|
9ce17c1662
|
feat: 新增通用 SSRF 防护模块并重构 URL 校验逻辑
- 新增完整的 SSRF 防护工具类与配置项
- 重构 URL 校验逻辑,替换原有白名单校验实现
- 新增 DNS 缓存与防重绑定防护
- 兼容原有 YUXI_URL_WHITELIST 环境变量配置
- 新增配套单元测试覆盖防护逻辑
|
2026-06-13 18:22:38 +08:00 |
|
Wenjie Zhang
|
a8a933d3dc
|
chore(release): 发布 0.7.0 正式版
- 版本号 0.7.0.beta3 → 0.7.0(pyproject ×2 / package.json / docker-compose ×2 / uv.lock ×2 / README ×2 / quick-start / 文档首页)
- changelog 标题更新为 v0.7.0 (2026-06-13),修正版本号描述
- quick-start 版本表更新为当前稳定版
- 修复 package import 排序,同步前端 prettier 格式化
|
2026-06-13 01:02:43 +08:00 |
|
Wenjie Zhang
|
253cc0b149
|
fix: 修复多模态图片上传和历史渲染
|
2026-06-12 00:03:04 +08:00 |
|
Wenjie Zhang
|
bfad68ac3f
|
fix: 调整智能体模型默认解析
|
2026-06-11 22:48:28 +08:00 |
|
Wenjie Zhang
|
ac98684932
|
Merge pull request #755 from xiangfei258/fix/stream-toolcall-id-loss
fix: 修复百炼/SiliconFlow 工具调用经 LangGraph v3 流式丢失 tool_call id 导致状态卡在进行中
|
2026-06-11 20:56:51 +08:00 |
|
Wenjie Zhang
|
9ac635f7f7
|
fix: 分批写入 Milvus chunks 避免 gRPC 超限
|
2026-06-11 20:55:44 +08:00 |
|
xiangfei258
|
f1349ec455
|
fix: 修复阿里云百炼工具调用经 LangGraph v3 流式累积丢失 tool_call id
百炼(alibaba provider)的 OpenAI 兼容流经 LangGraph v3 event stream
累积工具调用时会丢失 tool_call.id,空 id 写入 checkpoint 后导致工具结果
无法按 tool_call_id 关联、工具状态永远停留在"进行中"。
实测确认 ainvoke 与 stream_mode=messages 累积均正常,仅 astream_events
v3 协议丢失 id;升级 langchain-core 至 1.4.4 仍未修复(属上游问题
langchain#37420 / langchainjs#10937 / langgraphjs#2496)。
与已有的 SiliconFlow MiniMax 修复同源,将 alibaba 加入禁流式名单,
工具调用阶段禁用流式(正文回答仍流式)以拿到完整 tool_call。
|
2026-06-11 20:35:33 +08:00 |
|
Wenjie Zhang
|
6eb57663d9
|
Merge pull request #746 from szmadd/feat/dashboard-agent-name
feat(dashboard): 数据总览智能体图表中将以 slug 展示的智能体ID替换为名称
|
2026-06-09 12:34:41 +08:00 |
|
Your Name
|
321eab2ea1
|
fix(dashboard): 复用智能体仓库查询名称
通过 AgentRepository 封装仪表盘智能体名称映射查询,避免在路由中直接筛选 Agent 表。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-09 08:27:43 +08:00 |
|
Wenjie Zhang
|
18198e6d56
|
chore(release): 更新版本至 0.7.0.beta3
|
2026-06-09 00:40:00 +08:00 |
|
Wenjie Zhang
|
e37bd7c808
|
fix: 修复硅基流动接口与 langchain stream event v3 不兼容的问题
|
2026-06-09 00:05:47 +08:00 |
|
Your Name
|
5a9827b862
|
feat(dashboard): 数据总览智能体图表中将以 slug 展示的智能体ID替换为名称
- 后端 AgentAnalytics 和 TimeSeriesStats 响应新增 agent_names 映射字段
- 智体统计图表(对话数/工具调用)x 轴标签替换为智能体名称
- 调用分析堆叠柱状图系列名和图例替换为智能体名称
- 前端新增 resolveAgentName 统一根据映射取名称,不存在则回退到 slug
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-08 17:57:35 +08:00 |
|
Wenjie Zhang
|
7f387fd6e7
|
chore(release): 更新版本至 0.7.0.beta2
|
2026-06-08 00:45:41 +08:00 |
|
Wenjie Zhang
|
fd2660d21a
|
feat: 优化智能体对话与扩展界面体验
- 智能体状态面板改为仅展示有内容的 section,并为空状态保留统一提示
- 将待办名称在提示词、对话状态面板和工具结果中统一限制为 20 个中文汉字以内,同时通过 title 保留完整内容
- v2 模型列表补充供应商展示名,模型选择器展示并支持按供应商名称搜索
- 收紧文件预览编辑浮动操作、附件状态标签、工作区预览分隔线等界面细节
- 更新扩展/管理页命名、官网首页截图与 Demo 链接,并补充 changelog/roadmap
|
2026-06-08 00:31:05 +08:00 |
|
Wenjie Zhang
|
00a4a0cdab
|
feat: worker的超时时间修改为 60 分支
|
2026-06-08 00:31:05 +08:00 |
|
Wenjie Zhang
|
d7a7f4a779
|
feat: 精简 Message state 事件载荷
|
2026-06-08 00:31:05 +08:00 |
|
Wenjie Zhang
|
2e8ef62c71
|
fix: 更新版本号至 0.7.0.beta1
|
2026-06-06 19:08:57 +08:00 |
|
Wenjie Zhang
|
e5553f1bfc
|
fix: 恢复 Agent 提问中断状态
|
2026-06-06 17:46:19 +08:00 |
|
Wenjie Zhang
|
410dbf6d1d
|
fix: 增加 embedding 请求退避重试
|
2026-06-06 17:45:49 +08:00 |
|
Wenjie Zhang
|
f657edddf2
|
fix: 保护知识库分块 token 上限
|
2026-06-06 17:45:32 +08:00 |
|
Wenjie Zhang
|
8d5e6f5932
|
refactor: 迁移 mysql reporter 到技能脚本
|
2026-06-06 14:04:48 +08:00 |
|
Wenjie Zhang
|
45f18d3122
|
fix: 修复安全预警依赖与路径校验
- 升级 npm/uv 锁文件中的漏洞依赖,并移除未使用的 python-jose 以消除 ecdsa 预警
- 收紧 viewer/thread/sandbox 路径解析边界,补充路径逃逸测试
- 更新 roadmap 记录本次安全修复
|
2026-06-05 23:46:06 +08:00 |
|
Wenjie Zhang
|
4e37ce06e0
|
feat: 调整内置 MySQL 报表 Skill
|
2026-06-05 22:54:59 +08:00 |
|
Wenjie Zhang
|
ee28507bb4
|
feat(agent): 新增通用子智能体并统一共享配置
|
2026-06-05 21:02:13 +08:00 |
|
Wenjie Zhang
|
948a5fda9e
|
feat(agent): 新增内置深度研究智能体
|
2026-06-05 21:02:13 +08:00 |
|
Wenjie Zhang
|
8582b94f68
|
feat: 输入框内的模型仅作临时覆盖
|
2026-06-05 21:02:13 +08:00 |
|
Wenjie Zhang
|
d55e3eb672
|
chore(release): bump version to 0.7.0.dev1
|
2026-06-04 21:10:01 +08:00 |
|
Wenjie Zhang
|
f2eb98c025
|
feat: 更新后端评分计算
|
2026-06-04 21:08:13 +08:00 |
|
Wenjie Zhang
|
711f39dbd1
|
feat: 重设计首页突出 Harness 与知识库协作
- hero 区改版:氛围背景光晕+渐隐网格,右侧玻璃卡片可视化
- 右侧改为 Harness → RAG 引擎 → 知识库 横向数据流,中间枢纽带脉冲环、双向光点对流
- 统计改用实时 GitHub 数据(Stars/Forks/Issues),不再依赖 branding 配置
- 移除 info.template.yaml 的 features/actions 及 store 中对应 getter
- 「查看文档」升级为次按钮,左侧内容顶部对齐微调
|
2026-06-04 21:07:09 +08:00 |
|
Wenjie Zhang
|
c60b1ada05
|
feat: 添加 xiaomi mimo / coding plan 以及 kimi-for-coding 的支持
感谢 xiaomi 提供的 100 元额度
|
2026-06-04 14:36:16 +08:00 |
|
Wenjie Zhang
|
70b76f1e6d
|
feat: 支持评估运行命名
|
2026-06-04 13:39:09 +08:00 |
|
Wenjie Zhang
|
b481034a21
|
refactor: 移除 MCP 配置文本入口
|
2026-06-03 23:33:30 +08:00 |
|
Wenjie Zhang
|
2e09fe328e
|
feat: 支持工作区批量上传文件
|
2026-06-03 23:32:32 +08:00 |
|
Wenjie Zhang
|
6fa1355f04
|
style: code format
|
2026-06-03 22:35:59 +08:00 |
|
Wenjie Zhang
|
79ff9b14b8
|
fix: 移除退役内置 MCP 默认项
|
2026-06-03 22:12:13 +08:00 |
|
Wenjie Zhang
|
27dfacbd62
|
feat: 启用主智能体私有 Skill 安装工具
|
2026-06-03 21:04:12 +08:00 |
|
Wenjie Zhang
|
dc6443755f
|
fix: 兼容 Skill 展示名与 slug 分离
|
2026-06-03 20:29:04 +08:00 |
|
Wenjie Zhang
|
3b35493db3
|
style: code format
|
2026-06-03 18:55:34 +08:00 |
|
Wenjie Zhang
|
e20bb63c8d
|
chore(release): 版本号升级至 0.7.0.dev0
|
2026-06-03 16:02:15 +08:00 |
|
Wenjie Zhang
|
48724fcb0f
|
test: 适配重构后的单元与集成测试,修复 agent-env upsert 返回陈旧值
- 删除针对已移除模块的死代码测试(install_skill、agent_config_repository)
- 修正子智能体消息断言与 milvus 异步测试写法,移除已删方法的用例
- 集成 conftest 适配 slug→kb_id,standard_user 创建时绑定部门
- knowledge/graph/task/evaluation/viewer 测试迁移到 kb_id 与新 agent 端点
- apikey 鉴权测试改打轻量受保护端点;department 测试按默认部门 id 定位
- 修复 update_agent_env upsert 后返回身份映射旧值导致响应陈旧的问题
|
2026-06-03 15:48:35 +08:00 |
|
Wenjie Zhang
|
56cd1b500a
|
feat: 优化 Skill 安装逻辑和展示逻辑
|
2026-06-03 14:13:59 +08:00 |
|
Wenjie Zhang
|
eb55780d0d
|
feat: 修复工具返回异常的问题
|
2026-06-03 14:09:45 +08:00 |
|
Wenjie Zhang
|
206ddd8ff0
|
feat: 添加子智能体消息渲染
|
2026-06-03 14:09:45 +08:00 |
|
Wenjie Zhang
|
6a5926ba41
|
feat: 添加重置命令以清理和重启服务
|
2026-06-03 14:09:45 +08:00 |
|
Wenjie Zhang
|
0dbdc647ec
|
feat: 添加图片生成技能 image-gen,迁移 Qwen-Image 生成能力至内置 Skill
|
2026-06-02 20:04:33 +08:00 |
|
Wenjie Zhang
|
d4bc51714c
|
refactor: rename 中间件
|
2026-06-02 19:20:15 +08:00 |
|
Wenjie Zhang
|
01d21e2759
|
feat: 实现子智能体的线程体验
|
2026-06-02 18:47:28 +08:00 |
|
Wenjie Zhang
|
14daa43e28
|
feat: 统一工具调用的规范化处理,优化消息解析逻辑
|
2026-06-02 00:08:38 +08:00 |
|
Wenjie Zhang
|
b26bb5d12e
|
feat: 重构子智能体运行链路
|
2026-06-01 22:28:45 +08:00 |
|
Wenjie Zhang
|
3fe5d307bf
|
feat: 优化沙箱线程作用域管理
|
2026-06-01 22:28:01 +08:00 |
|
Wenjie Zhang
|
b6240a1b4f
|
style: code format
|
2026-05-31 13:40:15 +08:00 |
|
Wenjie Zhang
|
31a7fc52d0
|
feat: 适配 deepagents 最新版特性
|
2026-05-31 13:36:42 +08:00 |
|
Wenjie Zhang
|
4f02b4d35e
|
feat: 优化 mention 逻辑,支持在未创建 Thread 的时候 @ 工作区文件
|
2026-05-30 16:04:39 +08:00 |
|
Wenjie Zhang
|
932f990841
|
feat: 优化当前的文件系统的解析
|
2026-05-30 14:59:03 +08:00 |
|
Wenjie Zhang
|
5322b21c32
|
refactor: 简化代码逻辑
|
2026-05-29 22:19:58 +08:00 |
|
Wenjie Zhang
|
afdb5fbb02
|
refactor(knowledge): 降低知识库路由复杂度
拆分示例问题生成逻辑并收敛 URL 入库与上传限制,修复 uid、MIME 与结果统计等路由问题。
|
2026-05-28 15:10:24 +08:00 |
|
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
|
7b1b326523
|
refactor: 整合知识导图接口
将思维导图生成、查询和文件列表接口收敛到知识库 API,并移除独立 mindmap router 与前端模块。
|
2026-05-26 19:38:44 +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
|
21b16c7c06
|
feat: 更新模型选择组件和聊天组件的输入逻辑
|
2026-05-26 17:40:17 +08:00 |
|
Wenjie Zhang
|
fbb5b458ea
|
refactor: 数据库迁移 - agents 表替代 agent_configs + 知识库 slug→kb_id
- manager.py 新增 agents 表创建及索引
- 移除旧的 agent_configs 迁移(uid、department_id 等)
- 知识库相关表(evaluation、graph、chunks)参照字段 slug→kb_id
|
2026-05-26 17:40:17 +08:00 |
|
Wenjie Zhang
|
42636477c2
|
refactor: Agent Graph 和 Toolkits 更新
- chatbot/deep_agent graph 清理废弃导入
- toolkits __init__ 调整导出
- install_skill 工具函数重构,简化安装逻辑
|
2026-05-26 17:40:17 +08:00 |
|
Wenjie Zhang
|
42521bab63
|
refactor: Filesystem & Upload 代码重构
- filesystem_service 简化文件元数据处理
- viewer_filesystem_service 移除冗余逻辑
- 新增 upload_utils 上传工具模块
- filesystem_router 移除废弃端点
- 前端 viewer_filesystem.js 接口重构,新增 upload_limits.js 上传限制
- file_preview、file_utils 更新预览与工具函数
|
2026-05-26 17:40:17 +08:00 |
|
Wenjie Zhang
|
d2859ab8cd
|
refactor: Auth/User 路由重构 + 新增 user_api 前端接口
- auth_router 移除旧的 get_admin_user,统一使用 auth_middleware
- user_router 新增 get_users 接口
- 前端新增 user_api.js,更新 index.js 导出
|
2026-05-26 17:40:17 +08:00 |
|
Wenjie Zhang
|
5f61d8f8c5
|
refactor: 后端 Service 层适配新 AgentRepository
- agent_run_service、chat_service 替换 AgentConfigRepository → AgentRepository
- conversation_service、run_worker、langfuse_service 适配新模型
- conversation_repository 修复 metadata 附件序列化问题
|
2026-05-26 17:40:17 +08:00 |
|
Wenjie Zhang
|
20ac022cf3
|
refactor: Repository 重构(agent_config → agent)+ 新增 agent_router
- 删除旧的 agent_config_repository,新增 agent_repository
- 更新 models_business.py 中 Agent 模型
- 新增 agent_router,将 agent 配置管理从 chat_router 拆分
- 删除废弃的迁移文件 20260518_0001_agent_config_uid.py
- 更新 lifespan、manager.py 中的 Agent 表结构迁移
|
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
|
acc7a7342f
|
refactor: Sandbox Provisioner 优化 + 数据库模型更新 + 初始化脚本完善
- 优化 Sandbox Provider/Provisioner 配置和错误处理
- 新增 postgres 数据库日志与项目成员模型
- 完善初始化脚本(init.sh/ps1)和 Makefile
- 新增 seed_initial_users.py 初始用户种子脚本
- 更新 uv.lock 依赖锁定
|
2026-05-26 17:40:17 +08:00 |
|
Wenjie Zhang
|
b9f0579ef2
|
refactor: 后端用户管理重构 - 新增 user_router,移除旧的 auth_apikey_router
- 新增 user_router.py 统一用户管理路由
- 删除 auth_apikey_router.py,功能迁移至 user_router
- 更新 __init__.py 路由注册
- 同步更新前端 apikey_api.js 适配接口变更
|
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
|
99c590d003
|
refactor: 知识库系统重构 - 统一命名、优化图检索与向量存储逻辑
- base/manager: db_id → kb_id 命名统一,重构元数据加载与文件记录逻辑
- implementations: dify/milvus/notion/read_only 适配新命名与接口
- graphs: milvus_graph_service/vector_store/graph_utils 优化图构建与检索逻辑
- eval: benchmark_generation/evaluator/service 适配新命名并优化评估流程
- utils/kb_utils: 对应更新工具函数
|
2026-05-26 17:40:17 +08:00 |
|
Wenjie Zhang
|
c772e5ca3a
|
refactor: Agent 运行时架构重构 - 移除 RuntimeConfigMiddleware,统一上下文准备与工具解析
- 删除 runtime_config_middleware.py,将功能合并到:
- prepare_agent_runtime_context(): 统一上下文准备入口
- resolve_configured_runtime_tools(): 运行时工具解析
- context.py: 规范化函数重命名 (_names → _keys),重构 config 加载流程
- chatbot/deep_agent graph: 集成新上下文准备流程,移除 RuntimeConfigMiddleware 引用
- skills_middleware: 抽取 normalize_string_list 为共享工具函数
- subagent_service: get_subagents_from_names → get_subagents_from_slugs,支持 slug 查询
- 对应更新 repositories/services/routers 适配新接口
|
2026-05-26 17:40:17 +08:00 |
|
Wenjie Zhang
|
82fd5846ea
|
refactor: 命名统一 - db_id/dbId → kb_id/kbId 贯穿后端路由、模型、Schema 及前端 API
- 数据库列: db_id → kb_id (knowledge_bases, knowledge_files, knowledge_chunks, graph 相关表)
- 路由参数: path/query 中的 db_id → kb_id
- Schema 字段: resource_id → kb_id
- 前端 API 参数: dbId → kbId
|
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
|
b728482d4c
|
feat: 账户设置独立为设置页标签;评估组件 UI 重构与体验优化
- 新增 AccountSettingsComponent,将个人资料编辑从 UserInfoComponent 弹窗迁移至设置页"账户设置"标签
- SettingsModal 新增 initialTab 属性支持指定初始标签,默认标签根据权限智能切换
- AppLayout 移除废弃的 layoutSettings 与 useTopBar 相关逻辑
- RAGEvaluationTab 重构:评估启动改为下拉面板,新增最新评估卡片、进度轮询、Auto Refresh
- 调整次要 UI:主题色微调、文件面板描述移除、上传按钮样式增强
|
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
|
1efbf86bf0
|
refactor: 评估系统重构 - 后端统一 dataset/run 语义
- 评估数据集/题目/运行/逐题结果全量入库,JSONL 仅作为交换格式
- benchmark -> dataset, task -> run 术语统一
- 评估生成支持配置并发数
- 移除 base.py 中旧的 benchmarks_meta 元数据逻辑
- manager.py 统一表创建方法名
|
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
|
82af923cf1
|
feat: 知识库工具注册分类体系,ToolsCardList 展示 knowledge 分类
- kbs tools 添加 category=knowledge 和 tags 元数据
- registry 注释补充 knowledge 分类说明
- ToolsCardList 新增 knowledge 分类展示标签
Co-authored-by: xerrors <xerrors@qq.com>
|
2026-05-26 17:39:13 +08:00 |
|
Wenjie Zhang
|
17b521796c
|
refactor: 移除废弃的 calculator 内置工具
计算器功能已不再需要,移除相关代码以简化工具集。
Co-authored-by: xerrors <xerrors@qq.com>
|
2026-05-26 17:39:13 +08:00 |
|
Wenjie Zhang
|
c342f3e1ee
|
feat: 收紧用户管理部门隔离并重构知识库共享权限
- 普通管理员创建用户时固定归属本部门,用户列表/访问选项/详情/更新/删除均限制在本部门
- share_config 改为三档:global(全局共享)、department(部门共享)、user(指定人可访问)
- 部门共享必须包含当前用户部门,指定人可访问必须包含当前用户
- 前端 ShareConfigForm 重构为三档卡片选择+下拉菜单选人/选部门
- 补充部门隔离和共享权限过滤的集成测试
|
2026-05-26 17:39:13 +08:00 |
|
Wenjie Zhang
|
5693fdd4a7
|
feat: 重构知识库注册机制,简化知识库类型注册并添加描述信息
|
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
|
52907da42b
|
refactor(api): API 路由适配用户隔离和权限控制
- 添加智能体配置权限过滤功能
- 从 department_id 改为 uid
- 优化配置序列化和验证逻辑
|
2026-05-26 17:39:13 +08:00 |
|
Wenjie Zhang
|
9fd2ebd69c
|
refactor(services): 服务层适配用户隔离配置
- chat_service 从 department_id 改为 uid
- 优化 agent_config 解析和验证逻辑
- 更新 filesystem_service 和 workspace_service
|
2026-05-26 17:39:13 +08:00 |
|
Wenjie Zhang
|
4181604a71
|
refactor(kb): 知识库模块重构,添加只读连接器支持
- 新增 ReadOnlyConnectors 基类,支持只读外部检索
- 添加知识库类型特定参数配置方法
- 重构 dify 知识库实现
- 优化 additional_params 处理逻辑
|
2026-05-26 17:39:13 +08:00 |
|
Wenjie Zhang
|
96dfaf619a
|
refactor(agents): 智能体配置改为用户隔离并添加权限控制
- AgentConfigRepository 从 department_id 改为 uid
- 添加 Context 字段权限过滤功能
- 更新 sandbox paths 和 base agent 配置
|
2026-05-26 17:39:13 +08:00 |
|
Wenjie Zhang
|
78116ec59d
|
refactor(db): 智能体配置从部门隔离改为用户隔离
- 修改 AgentConfig 模型 department_id -> uid
- 添加数据库迁移脚本处理数据转换
- 更新 postgres manager 添加迁移逻辑
|
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
|
84aa78f593
|
feat(kb): 检索结果元数据添加 resource_id 字段
- _find_query_target 返回 db_id 供检索结果标注来源
- _normalize_retrieval_result_metadata 新增 resource_id 参数写入 metadata
|
2026-05-26 17:39:12 +08:00 |
|
Wenjie Zhang
|
f2d68ebdaa
|
fix(kb): 修复 metadata 覆写数据库图谱配置,改用文件级持久化
- update_kb_config 不再触发全量 _save_metadata,避免内存 metadata 覆盖数据库已有图谱配置
- 补全文件大小时改用 _persist_file 逐文件写入
- delete_file_chunks_only 通过 chunk_repo 检查文件是否有图谱数据再决定是否清理
|
2026-05-26 17:39:12 +08:00 |
|
Wenjie Zhang
|
d292e53c23
|
feat(kb): LLM 图谱抽取器重构为固定 Prompt + Schema,支持并发构建与模型参数
- LLM 抽取器收敛为固定 Prompt + 可选 Schema 约束,禁止自定义完整 Prompt
- 图谱构建改用 asyncio worker 队列并发,并发数由 extractor_options.concurrency_count 控制
- 已锁定的图谱配置允许修改同类参数,类型保持锁定
- OpenAIBase 透传 model_params 到流式和非流式调用
|
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
|
a70c858cda
|
refactor(mention): 重构 _validate_thread_id 为公有函数以防范跨模块访问 protected 成员
|
2026-05-25 21:11:41 +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
|
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 |
|
Wenjie Zhang
|
d9d7ec1c11
|
feat(doc): 优化 rapidocr
|
2026-05-25 21:09:14 +08:00 |
|
Wenjie Zhang
|
86f92f7f3f
|
feat(doc): 更新 MinerU 解析器参数,修改 Docker 配置,优化文档说明
|
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
|
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 |
|
Wenjie Zhang
|
29d5da0bd9
|
Merge pull request #720 from supreme0597/fix/sandbox-editor-file
fix: 修复 sandbox backend edit 方法错误访问 result.data.success
|
2026-05-25 10:36:16 +08:00 |
|
supreme0597
|
6e1355bfc1
|
fix: 修复 sandbox backend edit 方法错误访问 result.data.success
str_replace_editor() 返回的 result 已经是 ResponseStrReplaceEditorResult, .success 和 .message 在顶层属性上,不应再经过 .data 访问。 此错误导致编辑文件时报 'StrReplaceEditorResult' object has no attribute 'success'。
|
2026-05-24 19:26:49 +08:00 |
|
supreme0597
|
4d048e7be8
|
fix(knowledge): 在 LITE_MODE 下安全跳过不支持的知识库类型,防止 API 崩溃
- 检查并跳过未注册/不支持的 kb_type,避免抛出 KBNotFoundError 导致接口 500
- 分别在初始化 (_initialize_existing_kbs) 和概览列表查询 (get_databases) 中增加 checks
|
2026-05-24 13:48:51 +08:00 |
|
Wenjie Zhang
|
fd6803e477
|
chore(release): 准备 0.6.2 发布
|
2026-05-22 20:22:09 +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
|
8b7d006cf8
|
refactor(mention): 重构 _validate_thread_id 为公有函数以防范跨模块访问 protected 成员
|
2026-05-22 13:30:26 +08:00 |
|