✨ 新功能
🔧 工具透传模式 (tools.passthrough: true)
- 跳过 few-shot 注入和工具格式改写,直接将工具定义以原始 JSON 嵌入
<tools> 标签
- 减少与 Cursor 内建身份的提示词冲突,解决「只有 read_file/read_dir」的错误
- 推荐 Roo Code / Cline 等非 Claude Code 客户端开启
🚫 工具禁用模式 (tools.disabled: true)
- 完全不注入工具定义和 few-shot 示例,极致节省上下文空间
- 模型凭自身训练记忆处理工具调用,响应中的
```json action``` 块仍会被正常解析
- 适合已内化工具格式的场景
🛡️ 身份泄漏清洗增强
- 新增 Cursor 上下文泄漏检测规则("currently in Cursor support assistant context" 等)
- 新增 4 条清洗正则,精准删除完整泄漏段落
💬 tool_choice=any 引导优化
- 将 "CRITICAL ERROR" 威胁语气改为协作引导语气,避免触发模型安全拒绝
- 使用 "I notice..." + "quick reminder" + "please go ahead" 等自然措辞
- 列出可用工具名 + 具体格式示例,流式和非流式路径保持一致
🔩 改进
- 启动日志现在显示工具模式状态:
disabled / passthrough / schema=full
- 请求日志标记工具处理方式:
tools=98(跳过) / tools=98(透传) / tools=98
- 新增环境变量
TOOLS_PASSTHROUGH 和 TOOLS_DISABLED,Docker 部署无需挂载配置文件即可开启
- config.yaml.example 和 docker-compose.yml 同步更新
📁 变更文件
| 文件 |
说明 |
| src/converter.ts |
透传模式 + 禁用模式核心实现 |
| src/handler.ts |
身份泄漏清洗 + tool_choice=any 引导优化 |
| src/constants.ts |
新增 Cursor 上下文泄漏检测正则 |
| src/types.ts |
新增 passthrough / disabled 类型字段 |
| src/config.ts |
配置解析 + 环境变量覆盖 |
| src/index.ts |
启动日志显示工具模式 |
| src/logger.ts |
请求日志标记工具处理方式 |
| config.yaml.example |
新增两个选项的详细注释 |
| docker-compose.yml |
新增 TOOLS_PASSTHROUGH / TOOLS_DISABLED 环境变量 |
⚙️ 配置方式
# config.yaml
tools:
passthrough: true # 透传模式(Roo Code / Cline 推荐)
# disabled: true # 禁用模式(极致省上下文)