客户端工具适配
让模型在你熟悉的客户端里使用文件工具 本地记忆和 MCP
接通 OptiWaves 后,你仍然在原来的客户端里工作:让模型改代码、运行测试、查找资料,或记住项目约定。
这些操作需要模型与客户端共同完成。OptiWaves 适配工具声明、调用和结果回传,让兼容的第三方模型能够继续使用客户端提供的工具。
谁来执行工具
| 你要做的事 | 谁执行 | 需要准备什么 |
|---|---|---|
| 读取文件 修改代码 运行命令 | 你使用的客户端 | 客户端已有工具和相应权限 |
| 使用本地记忆 | 客户端或本地记忆工具 | 开启原生记忆或运行一次配置 |
| 使用已有 MCP 服务 | 客户端连接的 MCP 服务 | 在客户端配置并启用该服务 |
| 使用 OptiWaves 联网搜索等工具 | OptiWaves 提供的工具 | 支持的模型和可用额度 |
客户端里的审批规则仍然有效。模型提出工具调用,不代表可以绕过你的文件权限、命令确认或 MCP 授权。
从现有客户端开始
用 CLI 安装引导完成 API 配置,随后继续使用客户端原来的工作方式。
例如,在测试项目里发送:
读取 README.md,告诉我这个项目应该怎样运行测试。先不要修改文件。
应当能看到客户端执行读取操作,再收到模型根据文件内容给出的回答。
想要跨会话记住偏好,可以接着运行:
optiwaves memory --client codex完整步骤见本地记忆。使用这些已适配的本地记忆路径不要求额外的 ChatGPT 或 Claude 订阅;模型调用由 OptiWaves API 提供。
使用已有 MCP
在客户端中启用 MCP 后,重新开启会话,确认工具已经出现在可用列表中,再请求助手使用它。
同名工具可以属于不同的服务。例如,两个 MCP 服务都提供 search 时,工具的所属服务与名称需要一起保留。OptiWaves 的 Responses 接口支持这种 function 类型的命名空间工具往返。
MCP 服务仍需按其自身要求完成登录或授权。OptiWaves API Key 不会替代第三方服务的账号。
开发自己的调用程序
客户端提供工具,收到调用后在本地执行,再把结果放进下一次请求。使用 Responses 时,应发送完整的工具调用与结果,不依赖服务端保存旧会话。
一个命名空间工具的声明如下:
{
"type": "namespace",
"name": "project_memory",
"tools": [
{
"type": "function",
"name": "search",
"description": "查找当前项目的本地记忆",
"parameters": {
"type": "object",
"properties": {
"query": { "type": "string" }
},
"required": ["query"]
}
}
]
}返回的 function_call 使用 namespace 标明所属服务,name 标明实际工具。按 call_id 回传对应的 function_call_output。普通 JSON 响应和流式响应使用同一身份。
怎样判断适配成功
完整成功包含三步:模型提出正确的工具调用,客户端实际执行,后续回答正确使用工具结果。
- 只收到 HTTP 200,还需要检查调用和结果。
- 只看到模型说「已保存」,还需要检查本地是否真的写入。
- 工具报错时,应保留错误并排查,不能把失败当作成功继续。
客户端版本、模型和工具不同,表现也可能不同。遇到问题时,提供客户端版本、模型名称和脱敏后的工具错误,有助于定位;不要发送 API Key 或真实个人记忆。