ianjwhite99/opencode-with-claude

OpenCode plugin to use your Claude Max/Pro subscription with OpenCode via Meridian

opencode-with-claude – 捆绑 Claude-Max 代理的 OpenCode 插件

功能说明

  • 提供一个 OpenCode 插件,自动启动和停止 Meridian 代理(一个本地服务器,通过 Claude Agent SDK 与 Anthropic 的 Claude Max 通信)。
  • 代理在启动 OpenCode 时启动,退出时关闭,因此您只需管理一个进程。
  • 从同一个 npm 包支持 OpenCode 1.x(原始 CLI)和 OpenCode 2(@opencode/cli)。
  • 处理会话跟踪头,并允许多个 OpenCode 窗口并排运行,如果默认端口 3456 被占用,每个窗口将获得自己的空闲端口。

使用方法

  1. 使用 npm 或 Homebrew 全局安装。
  2. 安装 Claude Agent SDK(@anthropic-ai/claude-code)并登录一次(claude auth login)。
  3. 将插件名称(或使用 Homebrew 时的文件 URL)添加到您的 opencode.json 中(两个 OpenCode 版本使用不同的键名)。
  4. 运行 opencode;插件启动代理,将 Anthropic 提供程序的 baseURL 重写为指向本地服务器,并转发请求。

主要特性

  • 生命周期管理 – OpenCode 拥有代理,无需单独的 CLI 或 Docker 容器。
  • 多实例支持 – 每个 OpenCode 进程获得自己的代理端口。
  • 配置文件处理 – 读取 Meridian 的 profiles.json 和 settings.json,以便您可以在个人、工作或基于令牌的 Claude 账户之间切换。
  • 运行时配置 – 您可以通过 MERIDIAN_PATH 环境变量将插件指向更新的 Meridian 构建,而无需等待新的插件版本。
  • 会话头 – 插件添加显式的 x-meridian-profile 和其他身份头,使 OpenCode 的隐藏标题/摘要请求不占用会话租约。

安装与更新

  • npm:npm install -g opencode-with-claude 和 npm update -g opencode-with-claude。
  • Homebrew:brew install ianjwhite99/tap/opencode-with-claude 和 brew upgrade opencode-with-claude(每次 npm 发布后公式会自动更新)。

故障排除提示

  • 确保已安装 Claude CLI(npm install -g @anthropic-ai/claude-code)。
  • 运行 claude auth login 创建有效会话。
  • 如果代理无法启动,请检查身份验证状态、互联网连接以及所选端口是否已被占用。
  • 您可以通过设置 CLAUDE_PROXY_HOST 将代理暴露在 localhost 之外(请谨慎使用)。

开发说明

  • 使用 TypeScript 编写;src/ 文件夹包含插件入口点、代理生命周期代码以及读取 Meridian 配置的辅助函数。
  • 单元测试位于 test/unit/;脚本 test/run.sh 使用构建的插件启动 OpenCode 1.x 进行手动测试。
  • 插件导出一个包含 id、server()(用于 OpenCode 1)和 setup()(用于 OpenCode 2)的单一对象。

许可证 – MIT。

总结 – 如果您使用 OpenCode 并拥有 Claude Max 订阅,此插件为您提供一种无缝的单进程方式,通过官方 Claude Agent SDK 路由 OpenCode 的 Anthropic 风格请求,并支持配置文件管理和轻松更新。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目