news 2026/9/26 0:23:26

如何给外部模型加联网搜索:Codex Router独立搜索与Perplexity侧车完整解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何给外部模型加联网搜索:Codex Router独立搜索与Perplexity侧车完整解析

如何给外部模型加联网搜索:Codex Router独立搜索与Perplexity侧车完整解析

【免费下载链接】codex-routerExternal-model router for Codex with guided Kimi OAuth/API, DeepSeek, safe migration, and rollback.项目地址: https://gitcode.com/gh_mirrors/co/codex-router

Codex Router是一个运行在本地的外部模型路由器,它让 Codex、Claude Code 等客户端在不换账号、不换工作流的前提下调用 DeepSeek、Kimi、MiMo 等外部模型。而外部模型最常见的短板就是"上不了网"——本文将完整解析 Codex Router 的三种联网搜索模式,以及怎么用Perplexity 搜索侧车(Search Sidecar)三步给指定模型加上独立搜索能力。

🤔 为什么外部模型需要联网搜索

把 Codex 接到外部模型后,模型默认只能基于训练数据和上下文回答,遇到"最新版本号""刚发布的新闻"这类实时问题就力不从心了。Codex Router 没有简单粗暴地"全员开通搜索",而是提供了三种精度不同的方案:

模式工作原理适用场景典型例子
托管搜索(hosted)由模型服务商在云端执行搜索服务商原生支持Grok OAuth 路由挂载的web_search
独立搜索(standalone)Codex 客户端自己发起搜索,结果送回路由轮次已验证的外部模型DeepSeek V4 Flash、MiMo v2.5
Perplexity 侧车路由本地拦截搜索请求,转发给 Perplexity API无搜索能力的任意指定模型本文主角,按模型逐条绑定

💡 核心设计原则:路由永远不会因为某个模型是"OpenAI 兼容接口"就推断它支持搜索。每种能力都必须对应"精确的模型/供应商路由"经过验证后才会生效。

🔍 模式一:独立搜索(Standalone Web Search)

从 Codex 0.146 开始,客户端可以为自定义模型供应商自己执行联网搜索。外部模型只要在自己的元数据中声明"searchTool": { "mode": "standalone" },合并后的模型目录就会对外广告这个搜索能力,搜索结果再随正常的路由轮次送回模型。

内置注册表中目前已在以下路由开启独立搜索:

  • DeepSeek V4 Flash:直连 API 与 opencode Go 路由
  • DeepSeek V4 Flash Vision Exp
  • 小米 MiMo v2.5
  • GLM-5.3(Z.ai Coding Plan 路由)

还有一个容易混淆的细节能帮你避坑:supportsSearchHistory是更窄的能力——它只表示该路由能回放历史中已完成的搜索调用,并不代表能发起新搜索。两者分开声明,避免了"能续聊 ≠ 能搜索"的误判。

如果 Codex 仍然向不支持的路由塞入托管搜索字段,路由器会在受管的 Responses 边界只剥掉这些搜索扩展,其余工具字段逐字节保留。这套边界逻辑见 src/search-capability.mjs。

🧩 模式二:Perplexity 搜索侧车是什么

侧车(Sidecar)是给"完全没有搜索能力"的路由模型准备的外挂搜索插件,它有三个关键特征:

  1. 按精确模型绑定:不是全局开关,绑定必须写明完整的供应商/模型路由名,已有搜索能力的模型会被直接拒绝覆盖
  2. 独立密钥:Perplexity API Key 单独存放在受保护的凭据文件中,与模型路由的密钥互不干扰
  3. 本地拦截:Codex 的认证搜索请求由路由本地处理,永不回落到原生 ChatGPT 搜索后端;未绑定的模型保持原有行为

信任边界非常严格:供应商必须是启用状态、仅公网、openai-chat适配器、且 Base URL 恰好为https://api.perplexity.ai的通用供应商描述符,请求路径固定为/search。策略判定逻辑在 src/search-sidecar-policy.mjs。

🚀 三步给指定模型加联网搜索

以 macOS/Linux 为例,只需三条命令(Windows 版本见文末):

第一步:添加 Perplexity 搜索供应商

./bin/model-router codex providers generic add perplexity-search \ --name "Perplexity Search" \ --base-url https://api.perplexity.ai \ --adapter openai-chat

第二步:在隐藏提示下输入 API 密钥

./bin/model-router codex providers generic credential perplexity-search set

注意:这条命令绝不接受把密钥当作命令行参数,密钥在隐藏终端提示中录入,避免进入 shell 历史记录。

第三步:绑定到你的模型并查看状态

./bin/model-router codex search-sidecar set PROVIDER/MODEL perplexity-search ./bin/model-router codex search-sidecar status PROVIDER/MODEL

把PROVIDER/MODEL换成你想加搜索的精确路由名(例如某个 DeepSeek 或 Kimi 路由)。status会输出ready: true/false以及具体问题列表,比如"模型未注册""凭据不可用",是排查配置问题的第一站。

Windows 用户可通过codex-router.ps1执行同样的命令:

.\codex-router.ps1 search-sidecar set PROVIDER/MODEL perplexity-search

CLI 支持的动作还包括enable / disable / remove,以及调参选项--timeout-ms、--max-results、--cache-ttl-ms、--max-attempts、--retry-delay-ms等,默认值定义在 src/search-sidecar-state.mjs:超时 10 秒、最多返回 8 条结果、缓存 60 秒、最多重试 2 次。

🛡️ 侧车的安全设计:为什么可以放心用

侧车执行器 src/search-sidecar.mjs 里藏着不少值得新手了解的防护细节:

  • 输入白名单:只接受 1~4 条search_query命令且仅含q字段,其他过滤器或 Web 命令按名称直接拒绝
  • 出口锁定:搜索请求走 DNS 固定(pinning)、拒绝重定向的传输层,且只允许公共地址
  • 引用净化:返回的结果 URL 必须通过公共 DNS 解析,解析到内网/链路本地地址即丢弃;携带凭据特征的 URL 和正文一律拒收
  • 统一截止时间:整个操作(含重试与退避)共享同一个超时,不会因为重试把等待时间无限拉长
  • 隐私缓存:缓存键按"调用方账号 + 模型 + 供应商 + 凭据引用"作用域划分;用量记录只保留状态、耗时、重试/缓存/结果计数,永不记录查询文本、引用内容和密钥

📊 验证与管理:状态、用量与清理

日常操作速查:

命令作用
search-sidecar status [MODEL]查看绑定详情与 ready 诊断
search-sidecar enable / disable MODEL临时开关,不删除绑定
search-sidecar remove MODEL删除该模型的绑定

两条容易踩的运维要点:

  1. 改完绑定后要完全退出并重新打开 Codex,模型目录才会刷新,搜索能力才会出现在客户端里
  2. 删除通用供应商是级联操作:移除perplexity-search供应商会同时删除其凭据和所有依赖它的侧车绑定,清理时要心里有数

📚 相关文档与源码

想深入了解可以按顺序阅读:

  • 工作原理与搜索边界说明:docs/HOW-IT-WORKS.md("Standalone web search"与"Per-model search sidecar"两节)
  • 快速上手与命令示例:README.md
  • 侧车执行器源码:src/search-sidecar.mjs
  • 绑定状态与默认参数:src/search-sidecar-state.mjs
  • CLI 控制命令(status/set/enable/disable/remove):src/search-sidecar-control.mjs
  • 能力判定与搜索契约剥离:src/search-capability.mjs
  • 独立入口脚本:bin/search-sidecar

一句话总结:有托管搜索用托管,模型本身验证过就用独立搜索,其余模型用 Perplexity 侧车按名绑定——三条路径互不越界,这正是 Codex Router 让外部模型"安全上网"的答案。

【免费下载链接】codex-routerExternal-model router for Codex with guided Kimi OAuth/API, DeepSeek, safe migration, and rollback.项目地址: https://gitcode.com/gh_mirrors/co/codex-router

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 0:10:34

LibreChat自部署指南:聚合多模型与数据自主权的开源AI对话平台

LibreChat 这个项目,我从早期版本开始就在用,一路跟进到现在。它本质上是一个开源的、可以自部署的 AI 对话平台,界面和交互逻辑都贴近 ChatGPT 的习惯,但背后能接入的模型远不止 GPT 系列。OpenAI、Anthropic、Google Gemini&…

作者头像 李华
网站建设 2026/9/26 0:09:36

Atlas 300V推理卡部署YOLO实战:从硬件选型到性能调优

1. 从一张加速卡说起:atlas 到底在解决什么问题做深度学习落地这行当久了,你会发现一个特别现实的问题:模型在电脑上调得再好,一上真实业务场景就露怯。训练用的显卡动辄几万块,推理服务器一买就是一整台,成…

作者头像 李华
网站建设 2026/9/26 0:06:43

Linux PCI驱动框架详解:从核心数据结构到probe流程

搞Linux驱动开发,绕不开PCI。不管你是做网卡、显卡、SSD还是各种采集卡,最终都要跟PCI/PCIe总线打交道。我早期刚接触这块的时候,对着内核代码也是一头雾水,感觉PCI驱动框架就像一团缠在一起的线,找不到头。后来在一个…

作者头像 李华
网站建设 2026/9/26 0:03:42

易助OA 8.0表结构解析:国产协同办公系统数据库逆向指南

简介:本资源为易助ERP系统8.0版本的完整数据库表结构文档集,面向数据库开发人员、ERP实施工程师及企业信息化运维人员,用于快速理解系统底层数据模型、开展二次开发或迁移适配。压缩包内含1163个文件,主体为1124个XML格式的表结构…

作者头像 李华
网站建设 2026/9/26 0:01:41

知网标红有限元仿真与网格划分怎么办:助研君按字修改与参数复核

知网标红有限元仿真与网格划分怎么办:助研君按字修改与参数复核“机械专业本科毕业设计,整篇论文最硬核的第三章 ANSYS 有限元仿真分析,竟然被知网 AIGC 检测整页整页标深红!系统报告指控我‘疑似 AI 代写 76.5%’!可这…

作者头像 李华