VS Code Copilot Chat — OmniCopilot extension (中文 (简体))
- 运行 OmniRoute —
npm install -g omniroute && omniroute(控制面板位于http://localhost:20128)。 - 安装扩展 — 在扩展视图中搜索“OmniRoute”。
- 选择模型 — Copilot Chat → 模型选择器 → 管理模型… → OmniRoute,然后勾选 所需模型。
当 OmniRoute 在默认端口上运行时,无需进行任何配置。对于远程实例,请打开
活动栏中的 OmniRoute 图标(或运行 OmniRoute: Manage Connection),然后设置:
- 服务器 URL — 服务器根地址,例如
http://192.168.0.15:20128。扩展会自动附加/v1后缀;请勿自行添加。 - API 密钥 — 仅当服务器设置了
REQUIRE_API_KEY时才需要。通过 VS Code SecretStorage 存储在操作系统密钥链中,绝不会存入settings.json。
选择器会显示什么
Section titled “选择器会显示什么”扩展不会直接显示原始的 GET /v1/models 有效负载——它会对其进行整理,而你看到的数量
少于目录大小,原因有两个,这是有意为之。
每个模型仅请求一个 id
Section titled “每个模型仅请求一个 id”MODELS_CATALOG_PREFIX_MODE 默认为 dual,这会将每个模型公布两次——一次使用
短别名前缀,另一次使用规范提供程序前缀——以便旧版客户端配置仍可解析任一形式:
cc/claude-sonnet-4-6 ← 别名前缀claude/claude-sonnet-4-6 ← 规范前缀,同一模型扩展会请求 GET /v1/models?prefix=alias,从而让每个模型仅返回一个 id,而不会
更改其他客户端所使用的服务器全局设置。在参考实例中,这将 2345 个条目缩减为
1396 个——去除 949 个重复项,未丢失任何模型。
如果你希望在服务器范围内为 每个 客户端解决此问题,请在控制面板中将
MODELS_CATALOG_PREFIX_MODE 功能标志设置为 alias。有关查询参数和各模式表格,请参阅
API_REFERENCE → prefix。
隐藏无法聊天的模型
Section titled “隐藏无法聊天的模型”目录中还列出了图像、视频、音频、重排序、嵌入和内容审核模型。无论如何,这些模型 都会拒绝聊天请求:
HTTP 400 — 模型 '<id>' 是图像生成模型,不能用于/v1/chat/completions。请改用 POST /v1/images/generations。因此,在这些模型进入选择器之前,会根据其 type 字段将其过滤掉。Responses-API
模型会予以保留——每个 Codex / GPT-5.x 条目都会声明 supported_endpoints: ["responses"],
而 OmniRoute 会为 /v1/chat/completions 转换这些请求,因此它们完全可用。
你从未配置过的提供程序
Section titled “你从未配置过的提供程序”目录会列出具有活动连接的提供程序中的模型,以及所有 noAuth
提供程序——这些无需密钥的提供程序构成了免费层的很大一部分。这是有意为之。如需
隐藏它们,请在控制面板设置中将其添加到 blockedProviders;扩展中无需进行任何更改。
VS Code 标签页中的仪表板
Section titled “VS Code 标签页中的仪表板”omnicopilot.dashboardOpen: "editor" 会通过 Simple Browser 在编辑器标签页中呈现 OmniRoute 仪表板,而不是在外部浏览器中打开。嵌入功能需要在服务器端主动启用,方法是设置 DASHBOARD_ALLOW_EMBED=vscode。这样提供 HTML 页面时将使用 frame-ancestors 'self' vscode-webview:,而不是默认的 frame-ancestors 'none' + X-Frame-Options: DENY。无论采用哪种方式,API 接口(/api、/v1、/v1beta、/a2a、/healthz)始终保留严格的响应头。
⚠️ 这是构建时标志,而不是运行时标志。 Next.js 会将
headers()编译到路由清单中,因此next.config.mjs会在构建软件包时读取该变量 (next.config.mjs→resolveDashboardEmbedMode、scripts/build/dashboardEmbed.mjs)。 在已经构建完成的服务器前设置此变量不会产生任何效果——这些响应头已固化在构建产物中。
# 该变量必须在执行 BUILD 命令时存在DASHBOARD_ALLOW_EMBED=vscode npm run build # 或 npm run build:releasenpm start| 安装方式 | 能否启用嵌入? |
|---|---|
| 从源代码安装 | ✅ 按上述方式在构建命令中设置该变量 |
npm install -g omniroute |
❌ 已发布的软件包附带预构建的软件包——请改为从源代码构建 |
| Docker 镜像 | ✅ docker build --build-arg DASHBOARD_ALLOW_EMBED=vscode -t omniroute:embed .——Docker Hub 上的预构建镜像未启用嵌入功能 |
如果构建时未启用嵌入,页面会拒绝被嵌入到框架中。扩展会通过响应头检测到这一情况,然后回退到外部浏览器——不会出现任何故障,并且扩展会显示一次相关提示。请参阅 ENVIRONMENT.md 和 issue #10273。
在 VS Code 内配置其他工具
Section titled “在 VS Code 内配置其他工具”OmniRoute: Configure Coding CLI 会调用 omniroute CLI,为 Codex CLI、Claude Code、Cline、Continue、Cursor、Aider、OpenCode、Goose、Crush、Qwen Code、Kilo 和 Roo 写入可直接使用的配置文件——这些配置与 CLI-INTEGRATIONS.md 中所述的配置相同。API 密钥通过 OMNIROUTE_API_KEY 环境变量传递给 CLI,绝不会出现在命令行中。
| 症状 | 原因 / 解决方法 |
|---|---|
| 选择器中没有 OmniRoute 模型 | 无法连接服务器。状态栏圆点会变为灰色;请运行 OmniRoute: Check Connection。模型发现功能按设计不会显示提示,并且在连接失败时不会提供任何模型。 |
| 每个模型都出现两次 | 你使用的 OmniCopilot 版本低于 1.0.1——请更新。扩展现在会请求 ?prefix=alias。 |
| 之前列出的图像/音频模型消失了 | 从 1.0.1 起有意如此——这些模型本来就无法响应聊天请求。 |
| Activity Bar 中缺少面板 | VS Code 会将额外的视图容器移至 Activity Bar 底部的 “…” 溢出菜单中,而通过右键菜单隐藏的容器会一直保持隐藏状态。右键单击 Activity Bar → 勾选 OmniRoute,或通过 OmniRoute: Manage Connection 打开它。 |
尽管使用了 editor 模式,仪表板仍在浏览器中打开 |
服务器在构建时未设置 DASHBOARD_ALLOW_EMBED=vscode(见上文)——在启动预构建安装时设置该变量不会产生任何效果。该回退行为是有意设计的。 |
| 更改提供者后模型列表仍未更新 | 运行 OmniRoute: Refresh Models,或单击面板中的 ↻ 链接。 |
CLI-INTEGRATIONS.md— 所有其他编码工具REMOTE-MODE.md— 操作远程 OmniRoute../reference/API_REFERENCE.md—/v1/models契约docs/CATALOG.md— 该扩展自身的目录说明
HagiCode
HagiCode 是一套智能体编码工作台:结构化工作流、多 Agent 并行执行与 Hero Dungeon 视图,把想法变成真正交付的软件。
让想法更快变成好用的软件,让智能编码更聪明、更高效,也更有趣。

- Smart结构化工作流将意图转化为从想法到交付的可执行路径。
- Efficient多 Agent 工作流让调研、实现与审阅并行推进。
- FunHero Dungeon 让长时间编码协作更直观、更有参与感。