Skip to content

v2.7.6 — 工具透传 / 禁用模式、身份泄漏清洗增强

Choose a tag to compare

@7836246 7836246 released this 20 Mar 01:30
· 46 commits to main since this release

✨ 新功能

🔧 工具透传模式 (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_PASSTHROUGHTOOLS_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    # 禁用模式(极致省上下文)