oudecheng
|
6901659849
|
fix(mcp): 限制 server 名称字符并兜底 tool_name 清洗
OpenAI 要求 function name 匹配 ^[a-zA-Z0-9_-]+$,否则整个请求 400。MCP 工具名由 mcp_{server_key}_{tool_name} 拼成,两个输入源:server_key 用户可控(前端 addMcp/renameMcp 正则校验 + toast),tool_name 由 MCP server 上报(后端 sanitize_tool_name 替换非法字符为 _)。
前端:MCP 卡片头部改用 MapEntryHeader 支持点击重命名,状态指示灯移到上方独立行。顺手修了 MapEntryHeader 进入编辑时 val 未同步当前 name 的 bug。
后端:保留 server_key 和 tool_name 原值用于路由,仅清洗 LLM 可见的 full_name,并在发生清洗时打 warn 日志便于定位。
|
2026-08-04 11:17:41 +08:00 |
|
oudecheng
|
cda14360af
|
chore: 建立工程化基线(rustfmt + clippy + CI + eslint + prettier)
配置:
- rustfmt.toml: 固化 max_width=100 / 4 空格缩进,cargo fmt 全量格式化
- Cargo.toml: 配置 [lints.rust] 与 [lints.clippy] 渐进式规则
- .github/workflows/ci.yml: Rust(fmt+clippy+test) + 前端(eslint+tsc+test) 双平台 CI
- Makefile: 新增 check/fmt/fix 目标,clippy 对齐 --all-targets --all-features
- web: eslint flat config + prettier 配置 + package.json 脚本与依赖
- src/main.rs: loop→while 修复 clippy::never_loop
对抗性审查发现并修复:
- eslint 缺 caughtErrorsIgnorePattern 导致 catch(_) 误报为 error
- 前端 lint 未接入 CI,现已补上 Lint 步骤
- Makefile 与 CI 的 clippy flags 不一致,已对齐
|
2026-08-03 23:24:02 +08:00 |
|
oudecheng
|
53a45ad7c4
|
修复mcp log
|
2026-07-08 15:52:36 +08:00 |
|
oudecheng
|
6c393dca05
|
build: 将 rmcp 依赖从 git branch 迁移到 crates.io 版本
- Cargo.toml: rmcp 从 git="...rust-sdk", branch="main" 改为 version="1.7"
(semver 解析为 1.8.0,最新兼容 1.x 版本)
- src/mcp/client.rs: 适配 rmcp 1.8+ API 变更
peer_info() 返回类型从 Option<ServerInfo> 变为 Option<Arc<ServerInfo>>,
使用 .map(|arc| arc.as_ref().clone()) 替代 .cloned()
解决 git branch 依赖带来的问题:构建不可复现、供应链安全风险、
版本语义模糊、升级路径不清晰、CI 构建性能损耗。
|
2026-07-08 10:56:25 +08:00 |
|
oudecheng
|
76abdbd1de
|
feat: MCP stdio 命令解析与错误诊断增强
- 新增 resolve_command_path:Windows 上搜索 .exe/.cmd/.bat 后缀
- 启动失败时给出友好错误信息(含 PATH 和建议)
- 捕获子进程 stderr 并在连接失败时回显
- ConfigPage 新增 cwd 工作目录字段
- 添加单元测试覆盖路径解析逻辑
|
2026-07-03 19:31:52 +08:00 |
|
oudecheng
|
1309fa28da
|
feat: McpClientManager 传递 cwd 参数至 connect_stdio
|
2026-07-03 16:34:01 +08:00 |
|
oudecheng
|
a78f5c5512
|
feat: MCP stdio 传输支持工作目录配置
|
2026-07-03 16:32:09 +08:00 |
|
oudecheng
|
1af0fab3ad
|
feat: 更新配置管理,支持异步读取和写入;添加 MCP 服务器状态接口
|
2026-07-03 08:37:02 +08:00 |
|
oudecheng
|
4fabbe47e9
|
feat: 增强MCP集成,支持配置路径和连接重试机制
|
2026-06-30 10:46:33 +08:00 |
|
oudecheng
|
644f5f9132
|
feat: 子代理继承主代理的 MCP 工具
- 为 McpToolWrapper 添加 Clone trait,支持工具实例复用
- 修改 build_subagent_tools 方法,支持传入 MCP 工具列表
- 调整 runtime 构建顺序:先等待 MCP 连接,再将 MCP 工具传递给子代理
子代理现在可以自动使用主代理配置的 MCP 工具(如 filesystem、fetch 等)。
|
2026-05-26 11:53:40 +08:00 |
|
|
|
4605c2dad3
|
feat: 重构 MCP 配置,支持 mcpServers 字段,优化工具注册和连接管理
|
2026-05-24 10:00:25 +08:00 |
|
|
|
5e04832f20
|
feat: 更新 MCP 配置和工具适配器,支持 Claude Desktop 格式,优化服务器连接管理
|
2026-05-23 23:37:45 +08:00 |
|
|
|
ef7e899584
|
feat: 集成 MCP (Model Context Protocol),支持 Stdio 和 HTTP 传输方式,优化工具注册和连接管理
|
2026-05-23 23:22:36 +08:00 |
|
|
|
b3fa0bb978
|
feat: 添加 HTTP 传输连接支持,优化 MCP 客户端管理器
|
2026-05-23 22:57:08 +08:00 |
|
|
|
cbb384a4e6
|
feat: 添加 MCP (Model Context Protocol) 支持,包含客户端管理器和工具适配器
|
2026-05-23 22:52:36 +08:00 |
|