mcpField
O
OzBridge

OzBridge

本地服务
marketplace.visualstudio.comAI 与智能体33 天前更新

关于 OzBridge

OzBridge 是开源 MCP 服务和 VS Code 扩展,可从兼容客户端和编辑器运行 Warp Oz Agent。它提供独立服务或 VS Code 集成,通过 stdio 或 Streamable HTTP 暴露六个 MCP 工具,用于运行 Oz 任务和管理模型。

主要功能

  1. 01从 MCP 客户端运行 Warp Oz Agent
  2. 02六个任务和模型选择工具
  3. 03支持 stdio 与 Streamable HTTP
  4. 04VS Code `@oz` 聊天参与者
  5. 05集成 Copilot Agent 模式工具

适用场景

  1. 01从 Claude Code 运行 Warp Oz Agent
  2. 02将 Cursor 或 Codex 连接到 Oz
  3. 03在 VS Code Copilot Chat 中使用 Oz

MCP 相关

OzBridge 提供六个工具,用于启动和查看 Oz 任务以及管理模型选择。MCP 客户端可通过 stdio 启动独立服务,或连接 Streamable HTTP 端点;运行需要 Warp 和 `oz` CLI。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"OzBridge": {
"command": "npx",
"args": [
"-y",
"@sena-labs/oz-mcp-server"
]
}
}
}
启动命令npx -y @sena-labs/oz-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@sena-labs/oz-mcp-server

工具

6

收录的工具列表 · 更新于 3 周前

参数类型必填说明
promptstring是提供给 agent 的自然语言指令,例如 "add unit tests for src/auth.ts"。
modelstring否要使用的 AI 模型 ID,来自 `oz_list_models`(例如 `claude-4-8-opus-max`)。省略则使用已配置的默认值(`auto` 由 Warp 选择)。
profilestring否Oz agent 配置文件名称(在 Warp 应用的 Settings → AI → Profiles 中管理)。省略则使用默认配置文件。
skillstring否来自 7 阶段流水线的 agent 技能 ID(例如 `5-test-agent`)。省略则由 CLI 根据提示词选择。

详细介绍

OzBridge — 通过 MCP 在任意 IDE 或 Agent 中使用 Warp Oz

Build VS Code License: MIT Listed on MCP ServerList OzBridge 截图

什么是 OzBridge?

OzBridge 是一个开源的 Model Context Protocol (MCP) 服务和 VS Code 扩展,可通过任何兼容 MCP 的客户端运行 Warp Oz 云端和本地 Agent — GitHub Copilot Chat、Claude Code、Cursor 和 Codex CLI。

独立扩展 — 与 Warp, Inc. 无关联,未获其认可或赞助。 Warp™ 和 Oz™ 是 Warp, Inc. 的商标,此处仅用于说明互操作性。OzBridge 仅使用 Warp 的文档化公开接口 (oz CLI、Model Context Protocol 和 WARP_OUTPUT_FORMAT 环境变量);不会修改、逆向工程或与 Warp 竞争。请参阅 DISCLAIMER。

可在 VS Code 中以嵌入方式运行 — Oz 会原生显示为 @oz 聊天参与者,并提供 Agent 原生语言模型工具,供 Copilot Agent 模式自主调用 — 也可以通过 MCP(stdio 或 Streamable HTTP)公开 Oz 工具集,让 Claude Code、Cursor 和 Codex 也能驱动 Oz。没有编辑器?部署独立的 @sena-labs/oz-mcp-server,并让任意 MCP 客户端连接它。

flowchart LR
    subgraph clients["MCP clients"]
        CC["Claude Code"]
        CU["Cursor"]
        CX["Codex CLI"]
    end
    VSC["VS Code<br/>Copilot Chat"]

    clients -->|"stdio / HTTP"| BR
    VSC -->|"@oz participant<br/>LM Tools"| BR

    BR["OzBridge<br/>(6 MCP tools)"] -->|"spawn"| CLI["oz CLI"]
    CLI -->|"local run"| WS["Your workspace"]
    CLI -->|"cloud run"| CLOUD["Warp Oz cloud"]

快速开始

**所有方式的前提条件:**已安装 Warp,oz CLI 位于 PATH 中(Linux 上通常为 ~/.warp/bin/oz — 请参阅 故障排除),并已在终端中运行过一次 oz login。 使用 oz --version 检查。npm 服务还需要 Node.js ≥ 22.12。

Cursor / Windsurf / VSCodium(Open VSX) — 通过 MCP 使用 OzBridge。将以下内容添加到 ~/.cursor/mcp.json(Cursor)或 ~/.codeium/windsurf/mcp_config.json(Windsurf):

{ "mcpServers": { "oz": { "command": "npx", "args": ["-y", "@sena-labs/oz-mcp-server", "--stdio"] } } }

@oz 聊天参与者需要 GitHub Copilot Chat,且仅适用于 VS Code, 因此在这些编辑器中驱动 Oz 需使用 MCP。

VS Code + GitHub Copilot Chat — 安装扩展 (code --install-extension sena-labs.ozbridge),运行一次 oz login,然后在 Copilot Chat 面板中输入:

@oz /run fix the failing test in src/auth/login.ts

Claude Code / Codex / 任意 MCP 客户端 — 客户端会通过 stdio 启动服务,因此无需长时间运行终端:

claude mcp add oz -- npx -y @sena-labs/oz-mcp-server --stdio
# ~/.codex/config.toml
[mcp_servers.oz]
command = "npx"
args = ["-y", "@sena-labs/oz-mcp-server", "--stdio"]

其他客户端(例如 Claude Desktop)使用与上方 Cursor 相同的 JSON 配置。更多选项(包括 HTTP),请参阅连接 MCP 客户端。

功能展示

运行与资源

OzBridge 侧边栏,显示活跃运行、历史记录和计划任务

Warp Drive

VS Code 中 Warp Drive 提示词和技能的预览

MCP 桥接

嵌入式 MCP 桥接状态及已注册客户端

仪表板

OzBridge 仪表板,含分析数据和故障分类


目录

刚开始使用 Warp 或 VS Code 扩展?快速入门指南提供分步可视化指引,涵盖先决条件、各操作系统的安装、首次运行、所有斜杠命令、设置和故障排除,适合尚未进行任何设置的读者。完整文档网站:https://sena-labs.github.io/OzBridge/.


功能

  • MCP 桥接 — 面向任意客户端的 Warp Oz — 将 Oz 工具集作为 Model Context Protocol 服务(stdio 或 Streamable HTTP)公开,让 Claude Code、Cursor 和 Codex 通过六个 MCP 工具驱动 Oz;这些工具与 Copilot 可见的大语言模型工具相对应。可选择在 VS Code 中内嵌运行,或通过 @sena-labs/oz-mcp-server 完全独立运行。参见 docs/MCP.md。
  • @oz 聊天参与者 — 在 VS Code 聊天面板中与 Warp Oz Agent 互动。
  • 面向 Agent 的大语言模型工具 — Copilot Agent 模式可直接调用 Warp Oz,无需输入 @oz。
  • 一键选择模型 — 通过 QuickPick(OzBridge: Select Model)、$(sparkle) 状态栏指示器或 @oz /models <id> 选择 Oz 模型,无需手动在设置中输入 ID。Agent 可通过 MCP 工具 oz_list_models / oz_set_default_model 切换模型。
  • Warp 侧边栏 + 状态栏 — 活动栏视图包含活动运行、历史记录、计划、环境、MCP 服务和密钥;还提供 $(cloud) Warp: N active 指示器和 $(sparkle) <model> 模型指示器(单击即可切换)。
  • 上下文变量与 Warp 交接 — #warp.env、#warp.profile、#warp.model、#oz.history 和 #oz.run/<id> 内联标记会在任何 /run 或 /cloud 提示词中展开,并可一键交接到实际的 Warp 终端。
  • 按工作区配置 — 可选的 .warp/warp-bridge.yaml 可提交到代码库,为所有打开项目的用户覆盖 ozBridge.* 设置。优先级:YAML > VS Code 设置 > 默认值。mcpBearerToken 和特定平台的 ozPath 等机密会被刻意排除。
  • 9 个斜杠命令,涵盖完整的 Agent 工作流:/run、/cloud、/status、/history、/schedule、/models、/mcp、/config、/init。
  • IDE 上下文注入 — 自动在每条提示词中加入工作区路径、活动文件、选区和诊断信息。
  • Agent 技能检测 — 将提示词关键词映射到 7-Agent 流水线(规范、设计、实现、审查、测试、部署、维护)。
  • 云端运行轮询 — 采用指数退避轮询,并在聊天流中实时更新进度。
  • 健壮的 JSON 解析器 — 针对混合文本/JSON CLI 输出提供 5 级回退机制。
  • 可配置 — 所有设置均可在 VS Code 设置界面的 ozBridge.* 下调整。
  • 运行时占用极小 — 仅需一个打包的工作区包(copilot-chat-toolkit)和 vscode API;不包含第三方网络代码。生产构建包约为 160 KB。

要求

  • VS Code ≥ 1.101.0(@oz 参与者需要稳定版 Chat Participant API;LM Tools 还需要 vscode.lm.registerTool)。
  • 已安装 Warp Terminal,且 oz CLI 可在 PATH 中访问。
  • Warp 账户,并通过 oz login 登录。
  • GitHub Copilot Chat 扩展(可选,但要实际调用 @oz 或使用 Agent 模式工具则必需)。

安装

从注册表安装

从 v0.9.0 起,每次发布带标签的版本时,OzBridge 都会发布到两个注册表。

VS Code Marketplace(Stable / Insiders / Cursor,需可访问 Microsoft Marketplace):

code --install-extension sena-labs.ozbridge

Open VSX(VSCodium、Gitpod、Theia、Cursor,需使用 Open VSX 镜像):

codium --install-extension sena-labs.ozbridge
# or, inside the editor GUI, search for "OzBridge" on open-vsx.org

直接链接:

从 VSIX 安装(本地)

选项 A — VS Code 图形界面(推荐):

  1. 按 Ctrl+Shift+P(macOS 上按 Cmd+Shift+P)。
  2. 输入 "Extensions: Install from VSIX…"。
  3. 选择 ozbridge.vsix 文件。

选项 B — CLI:

code --install-extension ozbridge.vsix

**注意:**在 Windows 上,code 可能不在 PATH 中。请使用完整路径或上述图形界面方法。

从源代码安装
git clone https://github.com/sena-labs/OzBridge.git
cd OzBridge
npm install
npm run build

然后在 VS Code 中按 F5,启动已加载构建后扩展的 Extension Development Host。

验证安装
  1. 打开 Copilot Chat 面板(Ctrl+Shift+I / Cmd+Shift+I)。
  2. 输入 @oz /config 并提交。
  3. 面板应显示包含当前配置和检测到的 Oz CLI 路径的表格。如果缺少 CLI,你会看到一个 "Install Warp" 操作按钮,点击后会打开下载页面。

连接 MCP 客户端

OzBridge 会向每个 MCP 客户端公开相同的六个 MCP 工具(oz_agent_run、oz_agent_run_cloud、oz_run_get、oz_run_list、oz_list_models、oz_set_default_model)。最简单的配置方式是 stdio:客户端会自行启动独立服务,因此无需在终端中保持进程运行。

更倾向于使用长期运行的 HTTP 服务?可以在 VS Code 中启用内置服务("ozBridge.mcpEnabled": true,然后选择 OzBridge: Start MCP server),或运行 npx -y @sena-labs/oz-mcp-server。两者默认都监听 http://127.0.0.1:3847/mcp(Streamable HTTP);旧版 /sse 端点已弃用。默认情况下,环回地址无需令牌。

如果设置了 ozBridge.mcpBearerToken(或为独立服务设置了 --token / OZ_MCP_TOKEN),请在下方基于 URL 的配置中添加 Authorization: Bearer <token> 标头——例如,在 JSON 中使用 "headers": { "Authorization": "Bearer <token>" },或在 Codex 中使用 http_headers = { "Authorization" = "Bearer <token>" }。

如何在 Claude Code 中使用 Warp Oz?
claude mcp add oz -- npx -y @sena-labs/oz-mcp-server --stdio

或者,连接正在运行的 HTTP 服务:

claude mcp add --transport http oz http://127.0.0.1:3847/mcp
如何在 Cursor 中使用 Warp Oz?

添加到 ~/.cursor/mcp.json(Windsurf:~/.codeium/windsurf/mcp_config.json;Claude Desktop:claude_desktop_config.json):

{
  "mcpServers": {
    "oz": {
      "command": "npx",
      "args": ["-y", "@sena-labs/oz-mcp-server", "--stdio"]
    }
  }
}

或者,连接正在运行的 HTTP 服务:{ "mcpServers": { "oz": { "url": "http://127.0.0.1:3847/mcp" } } }。

如何在 Codex CLI 中使用 Warp Oz?

添加到 ~/.codex/config.toml:

[mcp_servers.oz]
command = "npx"
args = ["-y", "@sena-labs/oz-mcp-server", "--stdio"]

或者,连接正在运行的 HTTP 服务:

[mcp_servers.oz]
url = "http://127.0.0.1:3847/mcp"
如何在 VS Code 中使用 Warp Oz?

无需配置 MCP 连接——安装扩展(并安装 GitHub Copilot Chat)后,即可将 Oz 用作 @oz 聊天参与者,也可用作 Copilot Agent 模式自动调用的四个 Language Model Tools(oz_run_local、oz_run_cloud、oz_get_run、oz_list_runs)。请参阅用法。

协议详情、端点参考和原始 curl 速查表见 docs/MCP.md。

用法

聊天参与者(@oz)

打开 Copilot Chat 面板,输入 @oz,后接你的请求:

@oz fix the failing test in src/auth/login.ts

扩展会在提示词前注入 IDE 上下文块(工作区路径、活动文件、选区、诊断信息),然后运行 Oz Agent。结果会以 Markdown 流式返回,并附带操作按钮(例如 Retry、Open run)。

斜杠命令
命令描述示例
/run在工作区中本地运行 Oz Agent@oz /run refactor this function
/cloud在云端运行 Oz Agent(消耗点数)@oz /cloud deploy to staging
/status显示正在运行的任务(QUEUED / INPROGRESS),或按 ID 查看详情@oz /status 或 @oz /status <runId>
/history显示已完成的任务(SUCCEEDED / FAILED),支持可选筛选条件@oz /history、@oz /history succeeded、@oz /history <runId>
/schedule创建和管理计划运行任务@oz /schedule create daily "0 9 * * *" "Run linting"
/models列出可用的 AI 模型,或使用 /models <id> 设置默认模型@oz /models · @oz /models claude-4-8-opus-max
/mcp列出已配置的 MCP 服务@oz /mcp
/config显示当前配置@oz /config
/init搭建 Warp Skills 和 Rules 文件@oz /init
/history 筛选条件
/history               — list all completed runs (SUCCEEDED + FAILED)
/history succeeded     — only SUCCEEDED runs
/history failed        — only FAILED runs
/history <runId>       — show details for a specific run
/schedule 子命令
/schedule list                                    — List all schedules
/schedule create <name> "<cron>" "<prompt>"       — Create a schedule
/schedule pause <id>                              — Pause a schedule
/schedule unpause <id>                            — Resume a schedule
/schedule delete <id>                             — Delete a schedule
Agent 模式 — 语言模型工具

在 GitHub Copilot Chat Agent 模式下,Copilot 可以通过已注册的语言模型工具直接调用 Warp Oz, 无需在请求前添加 @oz。Copilot 会根据提示词 及其声明的 modelDescription 选择合适的工具。

工具引用行为
oz_run_local#ozRunLocal在当前工作区中运行本地 Oz Agent。默认注入 IDE 上下文(可设置 includeIdeContext: false 以选择不注入)。
oz_run_cloud#ozRunCloud启动云端 Oz Agent。在消耗 Warp 点数前显示确认对话框。默认轮询直到达到终态(设置 wait: false 会立即返回任务 ID)。
oz_get_run#ozGetRun按 ID 获取特定任务的状态和输出。只读。
oz_list_runs#ozListRuns列出近期任务,可按状态筛选(all、active、completed 或原始的 OzRunStatus),并可选设置 limit。只读。

示例:

# Agent mode picks oz_run_local automatically:
Run the unit tests locally via Oz.

# Explicit tool reference (prefix with #):
Run this refactor on cloud: #ozRunCloud refactor src/auth to hexagonal architecture

# Query a previous run:
Check run #ozGetRun for run id run-abc123.

每个工具都在 package.json 的 contributes.languageModelTools 中声明,并带有严格的 JSON inputSchema,因此 模型在调用工具时能收到准确的类型提示。无论用户的 Bypass Approvals 偏好设置如何,云端工具在运行前始终会显示确认对话框。

侧边栏和状态栏

此扩展提供专属的活动栏视图(OzBridge → 运行和资源),其中包含五个可折叠类别:

  • 正在运行 — QUEUED + INPROGRESS(每 10 秒实时刷新)。
  • 历史记录 — SUCCEEDED + FAILED,每次刷新最多显示 20 条。
  • 计划任务 — 来自 oz schedule list 的 cron 任务。
  • 环境 — 来自 oz environment list 的云端环境。
  • MCP 服务 — 来自 oz mcp list 的 MCP 集成。

右键菜单操作:

  • 对任何任务 / 计划任务 / 环境 / MCP 节点执行复制 ID。
  • 对任务节点执行在浏览器中打开(打开 app.warp.dev/agents/<id>)。
  • 对计划任务节点执行暂停 / 恢复 / 删除(删除时会要求确认)。

状态栏项($(cloud) Warp: N active,右对齐)会实时同步正在运行的任务数量;有 1–2 个任务正在运行时切换为 warningBackground,有 3 个及以上时切换为 errorBackground。点击该指示器会聚焦 OzBridge 侧边栏。

提示词变量

在任意 @oz /run … 或 @oz /cloud … 提示词中,都可以嵌入少量 标记。扩展会在将提示词发送给 Oz CLI 前在本地解析这些标记。未知标记(例如 #some.other)会原样传递。

标记展开为
#warp.envozBridge.defaultEnvironment 的值(若为空,则为 (no default environment))。
#warp.profileozBridge.defaultProfile 的值。
#warp.modelozBridge.defaultModel 的值。
#oz.historyoz run list 返回的最近 10 次运行的 Markdown 表格。
#oz.run/<id>oz run get <id> 返回的围栏 JSON 载荷(截断至 2 000 个字符)。

示例:

@oz /cloud deploy branch #warp.env profile=#warp.profile given the last runs:\n#oz.history
移交给 Warp

以下两个命令会通过 warp://action/new_tab URI 方案打开真正的 Warp 终端(Warp ≥ 0.2024.x):

  • Warp: Hand off to Warp terminal…(命令面板)— 提示你输入提示词,并在新的 Warp 标签页中运行 oz agent run --prompt "<prompt>"。
  • Warp: Hand off run to Warp terminal(任意运行节点的侧边栏上下文菜单)— 运行 oz run get <runId>,让你可以直接在终端中查看该运行。

如果当前平台未注册 warp:// URL 处理程序,扩展会显示一个模态框,其中提供可复制到任意 shell 中的准确命令,作为备用方案。

工具

桥接层提供了六个 MCP 工具。Copilot Agent 模式会在 VS Code 中原生调用这些工具;Claude Code、Cursor 和 Codex 则通过嵌入式或独立的 MCP 服务访问同一组工具。

工具用途
oz_agent_run在本地使用提示词运行 oz agent run。返回完整的运行负载。
oz_agent_run_cloud启动云端运行。会消耗 Warp 积分。
oz_run_get按 ID 获取运行状态和输出。只读。
oz_run_list列出近期运行;可按 all / active / completed / 原始状态筛选,并指定数字 limit。
oz_list_models列出该账户可用的 AI 模型 ID,并报告当前默认模型。只读。
oz_set_default_model将 defaultModel 写入工作区 .warp/warp-bridge.yaml,以设置默认 Oz 模型。

每个工具的完整 JSON inputSchema 都会由 tools/list 原样输出。有关协议详情、原始 curl 速查表和端点参考,请参阅 docs/MCP.md。

配置

所有设置都位于 VS Code 设置中的 ozBridge.* 下(文件 → 首选项 → 设置),也可以在 settings.json 中编辑。

工作区级覆盖(.warp/warp-bridge.yaml)

在仓库根目录提交 .warp/warp-bridge.yaml,OzBridge 会将其中的值合并到 VS Code 设置之上,供所有打开该项目的人使用。创建、修改或删除该文件时都会自动重新加载,无需重新加载 VS Code。

# .warp/warp-bridge.yaml — committed to Git, shared across the team.
defaultProfile: team-shared
defaultEnvironment: staging
timeoutMs: 600000
mcpEnabled: true
mcpPort: 3900
mcpBindAddress: "127.0.0.1"

支持的键: defaultModel、defaultProfile、defaultEnvironment、timeoutMs、maxOutputChars、cloudPollingIntervalMs、cloudPollingTimeoutMs、mcpEnabled、mcpPort、mcpBindAddress。

有意排除的键:

  • ozPath — 与平台相关,必须放在用户设置中。
  • mcpBearerToken — 密钥,不应提交到版本库。

未知键和类型不正确的键会记录到 OzBridge 输出通道并忽略,因此拼写错误不会导致扩展出错。

设置默认值说明
ozBridge.ozPathozOz CLI 可执行文件的路径
ozBridge.defaultModelautoAgent 运行的默认 AI 模型
ozBridge.defaultProfileDefault默认 Oz Agent 配置
ozBridge.defaultEnvironment(空)默认云环境名称
ozBridge.timeoutMs300000本地 Agent 运行的超时时间(5 分钟)
ozBridge.cloudPollingIntervalMs5000初始云端轮询间隔
ozBridge.cloudPollingTimeoutMs1800000云端轮询最长时长(30 分钟)
ozBridge.maxOutputChars15000截断前显示的最大字符数

架构

该扩展采用分层架构,并在组合根(src/extension.ts)中进行依赖注入。每一层都有单一职责:

层文件职责
类型types/index.ts接口、错误类、配置结构、常量
解析器parsers/jsonParser.ts、parsers/outputFormatter.tsJSON 解析(5 层)、聊天流渲染
服务services/ozCliService.ts、configManager.ts、contextCollector.ts、runPoller.ts、logger.tsCLI 执行、设置、IDE 上下文、轮询、日志记录
命令commands/router.ts + 9 个命令文件斜杠命令分发和业务逻辑
工具tools/*VS Code Language Model Tool 实现
参与者participant/handler.ts、followups.ts聊天参与者注册和后续处理
文件夹结构
src/
├── types/index.ts          — Contracts: interfaces, errors, config
├── parsers/
│   ├── jsonParser.ts       — Robust 5-level JSON parser
│   └── outputFormatter.ts  — Chat stream formatting & truncation
├── services/
│   ├── configManager.ts    — VS Code settings wrapper with caching
│   ├── contextCollector.ts — IDE context gathering
│   ├── ozCliService.ts     — Core CLI execution via child_process
│   ├── runPoller.ts        — Async polling with exponential backoff
│   └── logger.ts           — Centralised extension logging
├── commands/
│   ├── router.ts           — Slash-command dispatch
│   └── {9 command files}   — One handler per /command
├── tools/
│   ├── baseTool.ts         — Shared helpers (textResult, errorResult)
│   ├── runLocalTool.ts     — oz_run_local
│   ├── runCloudTool.ts     — oz_run_cloud (with confirmation)
│   ├── getRunTool.ts       — oz_get_run
│   ├── listRunsTool.ts     — oz_list_runs
│   └── index.ts            — registerWarpTools()
├── participant/
│   ├── handler.ts          — Chat Participant registration
│   └── followups.ts        — Contextual follow-up suggestions
└── extension.ts            — Entry point: compose & register
数据流
  1. 用户在 Copilot Chat 中输入 @oz /run implement auth。
  2. VS Code 将请求分发给 @oz 聊天参与者。
  3. CommandRouter 将 /run 映射到 createRunCommand 处理程序。
  4. 处理程序调用 ContextCollector.gather() 获取 IDE 上下文。
  5. 处理程序调用 OzCliService.agentRun(),后者将 oz 作为子进程启动。
  6. 通过 5 层 jsonParser 解析 JSON 输出。
  7. OutputFormatter 将结果渲染为聊天流中的 Markdown。

开发

# Install dependencies
npm install

# Type-check
npm run compile

# Build (esbuild)
npm run build

# Run tests
npm test

# Tests with coverage report
npm run test:coverage

# Watch mode (dev)
npm run watch

# Clean build artifacts
npm run clean

# Package VSIX for distribution
npm run package
测试套件
  • 1,400 多项测试,分布在 100 多个文件中
  • 测试与代码比例高
  • 框架:Vitest v4.0.18

贡献

欢迎贡献。提交更改前,请阅读 CONTRIBUTING.md。

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add amazing feature')
  4. 推送到该分支(git push origin feature/amazing-feature)
  5. 发起 Pull Request

提交前请确保所有测试通过:

npm run compile && npm test

另请参阅行为准则和 安全策略。

故障排除

找不到 oz 命令

请确保已安装 Warp,且 oz CLI 可在 PATH 中使用。

操作系统常见路径
macOS/Applications/Warp.app/Contents/MacOS/oz
Linux~/.warp/bin/oz
WindowsC:\Users\<user>\AppData\Local\Programs\Warp\bin\oz.cmd
# Verify oz is available
which oz   # macOS / Linux
where oz   # Windows (PowerShell)

如果 oz 已在 PATH 中,但扩展仍报告其不可用,请在 Copilot Chat 面板中输入 @oz /config——这会触发扩展激活和首次 CLI 检查。你也可以在设置 → 扩展 → OzBridge → Oz Path中设置明确的路径。

身份验证错误

在终端中运行 oz login 以重新进行身份验证,或使用聊天面板错误消息中显示的 Login Warp 按钮。

超时错误

在**设置 → 扩展 → OzBridge → Timeout (ms)**中增加超时时间。默认值为 300 000 ms(5 分钟)。对于大规模 Agent 运行,可考虑将其提高到 600 000 ms。云端运行有单独且更长的超时时间,由 cloudPollingTimeoutMs 控制。

扩展未激活

仅当在 Copilot Chat 中调用 @oz 参与者(或 Copilot Agent 模式调用某个 LM Tool)时,扩展才会激活。若要手动激活:

  1. 打开聊天面板(Ctrl+Shift+I)。
  2. 输入 @oz,后接任意命令(例如 @oz /config)。

请确保使用 VS Code ≥ 1.101.0,已安装 GitHub Copilot Chat 扩展并已登录。

常见问题

问:OzBridge 能与 Cursor、Claude Code 和 Codex 配合使用吗? 答:可以。这三者都是 MCP 客户端——将它们指向该桥接服务,它们就能使用 OzBridge 的六个 MCP 工具(Copilot Agent 模式则会使用四个名称不同的 Language Model Tools)。可在 连接 MCP 客户端中找到可直接复制粘贴的配置。

问:我一定要使用 VS Code 吗? 答:不需要。独立的 @sena-labs/oz-mcp-server 可通过 npx 运行,无需编辑器;只有使用 @oz 聊天参与者和侧边栏时才需要 VS Code。

问:本地运行和云端运行有什么区别? 答:本地运行会在你的工作区中启动 oz CLI(oz agent run),并可完全访问你的文件;它仍会使用 Warp 的 AI,因此可能计入 Warp 套餐的 AI 使用量。云端运行则在 Warp 的基础设施上执行,会消耗 Warp 云端额度,并且独立于你的计算机运行。所有客户端都可以使用这两种运行方式。

问:此扩展需要 Warp 订阅吗? 答:你需要一个 Warp 账号(oz login)。本地 Agent 运行会使用套餐的 AI 使用额度;云端运行会消耗 Warp 云端额度,根据使用情况可能需要付费套餐。请在 app.warp.dev查看你的账号。

问:我可以使用自定义模型吗? 答:可以——在 VS Code 设置中设置 ozBridge.defaultModel,或通过 /run --model gpt-4o 内联指定。若要查看所有可用模型,请使用 /models。

问:支持哪些操作系统? 答:原生支持 macOS、Linux 和 Windows。只要能运行 VS Code 和 Oz CLI 的平台都可以使用此扩展。在 Windows 上,扩展会自动处理 .cmd 包装器。

问:如何报告 Bug? 答:使用 Bug 报告模板提交问题。请提供你的操作系统、VS Code 版本、扩展版本以及复现步骤。

问:我可以在 GitHub Copilot Chat 中使用此扩展吗? 答:可以——此扩展是 VS Code 聊天参与者,会在 Copilot Chat 面板中显示为 @oz。你需要安装并启用 GitHub Copilot Chat。

问:如何更新 Oz CLI? 答:Oz CLI 随 Warp 一同提供。将 Warp 更新到最新版本即可自动更新 Oz CLI。

  • macOS:brew upgrade warp
  • Windows/Linux:从 warp.dev下载最新安装程序。

问:如果 Agent 运行超时会怎样? 答:扩展会显示超时错误,并注明设置的秒数限制。你可以在设置中通过 ozBridge.timeoutMs 延长超时时间。云端运行有单独且更长的超时时间,由 cloudPollingTimeoutMs 控制。

问:我可以并行运行多个 Agent 吗? 答:可以——每个 /run 或 /cloud 命令都会启动一个独立进程。多条聊天消息可以触发并发的 Agent 执行。

许可证

本项目根据 MIT 许可证授权。详情请参阅 LICENSE 文件。

免责声明

OzBridge 是由 Ivan Sena 以 Sena Labs 名义开发的独立项目。它与 Warp, Inc.、Microsoft、GitHub 或 Visual Studio Code 无隶属关系,未获其认可或赞助,也未与其建立官方关联。

Warp™ 和 Oz™ 是 Warp, Inc. 的商标;其他名称可能是其各自所有者的商标。此处仅以指称性方式使用这些名称,用于说明互操作性。OzBridge 仅使用 Warp 的公开文档所述接口(oz CLI、Model Context Protocol 和 WARP_OUTPUT_FORMAT);它不会修改或逆向工程 Warp,也不与 Warp 竞争。

本扩展按“原样”提供,不附带任何形式的保证。使用风险由你自行承担。详情请参阅 DISCLAIMER.md。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。