FEATURED · 精选文章

opencode-anthropic-auth诞生记:SST团队为何要为OpenCode做这个认证插件

发布时间 / 2026/9/1 14:02:08
来源 / 创域科博编辑部
栏目 / 资讯中心
opencode-anthropic-auth诞生记:SST团队为何要为OpenCode做这个认证插件 opencode-anthropic-auth诞生记SST团队为何要为OpenCode做这个认证插件【免费下载链接】opencode-anthropic-auth项目地址: https://gitcode.com/GitHub_Trending/op/opencode-anthropic-authopencode-anthropic-auth 是 SST 团队为终端 AI 助手 OpenCode 打造的一款Anthropic 认证插件它让 OpenCode 用户可以直接用 Claude Pro/Max 订阅账号通过 OAuth 登录而不再需要为每次调用支付 API 费用。这个诞生记其实源于一个让很多开发者头疼的现实问题订阅明明已经付了钱第三方工具却用不了。一、问题背景为什么 OpenCode 不能直接用 Claude 订阅 用 Claude 写过代码的朋友都熟悉这套流程在终端运行claude登录命令浏览器跳转授权登录你的 Claude 账号订阅额度就开始为官方 CLI 服务。但在 OpenCode 这样的第三方终端 AI 助手里这条路是走不通的原因很简单OAuth 入口只开放给了官方 CLIAnthropic 的订阅登录流程绑定的是claude-cli官方客户端的身份信息第三方工具无法直接复用API 与订阅是两套计费体系走 API 就要按 token 付费走订阅才能用尽为止而 OpenCode 默认只会走前者服务端会识别客户端身份如果请求特征不像官方 CLI订阅授权根本不会被接受。于是 SST 团队也就是 OpenCode 背后的团队干脆自己动手写了这个只有一个核心文件、几百行代码的小插件把整条链路补上了。二、插件做了什么三种认证方式一键接入整个插件的核心逻辑集中在 index.mjs 中对外只导出一个AnthropicAuthPlugin入口index.mjs#L71。为 Anthropic 提供商注册了3 种认证方式index.mjs#L313-L362认证方式类型适合人群Claude Pro/MaxOAuth 订阅登录已购买 Claude 订阅的用户主力场景 Create an API KeyOAuth 后自动创建有 Claude 账号、想要 API Key 的用户Manually enter API Key手动输入已有 API Key 的开发者其中第二种的细节很有意思它先走 console.anthropic.com 的 OAuth 授权再用拿到的凭证调用 Anthropic 的接口自动帮你创建一把 API Keyindex.mjs#L341-L353全程不用打开控制台复制粘贴。三、诞生记源码里的四个关键设计读懂 index.mjs 就能明白这个插件为什么必须存在——它解决的每一个问题都是订阅登录绕不开的坎。1. 用标准 PKCE 流程拿到授权码浏览器无法安全保存密钥现代 OAuth 普遍采用 PKCEProof Key for Code Exchange。插件通过依赖openauthjs/openauth生成 PKCE 挑战码见 package.json#L8-L10 的依赖声明拼出claude.ai/oauth/authorize的授权链接交给浏览器用户登录后把回传的授权码粘回终端再与 PKCE verifier 一起换取 access_token 和 refresh_token完整流程见 index.mjs#L8-L66。2. Token 过期后台自动续期订阅凭证的 access_token 有效期很短。插件在每次发起请求前检查过期时间一旦临期就自动用 refresh_token 静默换新index.mjs#L107-L138并回写缓存。用户全程无感——这是登录一次长期可用体验的关键。3. 让请求看起来像官方 Claude Code这一部分是插件最匠心的地方也是它诞生的技术核心身份伪装把user-agent设置为claude-cliindex.mjs#L186-L190满足订阅授权的客户端校验提示词改名服务端的校验规则会拦截带有 OpenCode 字样的请求插件在发出前把 system 提示词里的 OpenCode 统一替换成 Claude Codeindex.mjs#L198-L212并在系统提示词头部注入官方 CLI 的自我介绍index.mjs#L73-L81工具名加前缀再还原OAuth 通道要求工具以mcp_前缀出现插件给所有工具名加上前缀index.mjs#L192-L239又逐字节改写流式响应把前缀剥离index.mjs#L276-L297保证 OpenCode 内部工具调用完全不受影响补齐 beta 头自动合并oauth-2025-04-20等必需的anthropic-beta头并为/v1/messages追加?betatrue参数index.mjs#L169-L268。4. 订阅用户成本直接归零当检测到当前认证方式是 OAuth 订阅时插件会把该提供商下所有模型的 input/output/cache 成本全部置为 0index.mjs#L86-L103。这样 OpenCode 的用量统计就不会再显示你在按 API 计费订阅额度用多少算多少——这正是付费用户最在意的一点 四、快速上手3 步完成 OpenCode 的 Claude 订阅登录安装插件opencode-anthropic-auth已发布为 npm 包当前版本 0.0.13见 package.json#L2通过 OpenCode 的插件机制安装该包即可发起登录运行 OpenCode 的认证命令opencode auth login选择 Anthropic 提供商你会看到插件提供的Claude Pro/Max选项完成授权终端会打开浏览器授权页用你的 Claude 账号登录并把回传的授权码粘贴回终端插件会自动完成换 Token 与缓存随后即可正常对话。五、使用注意与项目文件导航⚠️两点提醒成本归零仅对 OAuth 订阅登录生效手动填 API Key 的用户依然按量计费以订阅授权调用非官方客户端可能触及 Anthropic 的服务条款边界请自行评估合规风险后再使用。项目文件导航整个项目精简到只有 5 个文件文件说明index.mjs插件全部核心逻辑OAuth、刷新、请求改写、成本归零package.json包元信息与依赖声明script/publish.ts版本号升级 触发发布流程的自动化脚本bun.lock依赖锁文件LICENSEMIT 开源协议Copyright © 2025 SST总结opencode-anthropic-auth 的诞生是 SST 团队为了解决OpenCode 如何合法接入 Claude 订阅认证这一真实痛点用一个轻量插件补齐 OAuth 登录、Token 续期与客户端身份适配的完整方案。如果你正想在 OpenCode 里用上 Claude Pro/Max这个认证插件值得放进你的工具箱。【免费下载链接】opencode-anthropic-auth项目地址: https://gitcode.com/GitHub_Trending/op/opencode-anthropic-auth创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻