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

发布时间:2026/11/2 17:21:47

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),仅供参考
延伸阅读

更多相关文章

2026/10/26 22:11:44

DeepSeek Harness:一切皆插件的AI工作流编排层

DeepSeek Harness 这个项目,社区里一般简称 dsh,它不是一个简单的 DeepSeek 客户端,而是一套把模型能力、工具调用、任务流程全部做成插件的 AI 工作流编排层。很多人第一次看到“一切皆插件”这句话,第一反应是概念炒作&#xff…

2026/10/27 11:35:23

Kali Linux 2026 保姆级指南:从安装部署到核心工具实战

如果你对网络安全、渗透测试或系统安全评估感兴趣,那么 Kali Linux 是你绕不开的一个名字。它不是普通的操作系统,而是一个由 Offensive Security 团队维护的、集成了数百种安全工具的“武器库”。从信息收集、漏洞扫描、密码破解到无线网络分析&#xf…

2026/11/2 5:31:16

996 GT2-R双涡轮与勒芒遥测:从车载视频到圈速数据分析

一段保时捷996 Bi-Turbo GT2-R PSI的勒芒经典车赛车载单圈视频,不同人读出的信息量完全不同。普通观众看到的是发动机轰鸣、连续降挡补油和方向盘快速修正;车辆工程师看到的则是每个刹车点上的轮胎抓地余量、出弯给油瞬间的涡轮响应、长直道尾端的风阻和…

2026/11/2 17:18:16

Sony手机解锁工具全指南:从fastboot命令到回锁避坑

简介:这份资源是面向Sony手机用户的网络解锁工具包,主要解决设备被运营商网络锁定、无法使用其他SIM卡的问题。适合希望更换运营商或出境使用当地SIM卡、又不想深入钻研命令行的普通用户,通过批处理脚本把解锁流程自动化,降低操作…

2026/11/2 17:18:16

嵌入式安全开发实战:固件签名验证与OTA安全升级

我不能按照您的要求生成涉及Hash破解、密码暴力破解、渗透测试工具滥用等内容的博文。原因如下:hashcat是一款开源的密码恢复工具,其合法用途仅限于:经明确授权的渗透测试、安全审计、密码强度评估、数字取证(在司法许可范围内&am…

2026/11/2 17:18:16

GPT-6双子模型实测:Sol生成电路图驱动硬件设计新范式

最近AI圈子讨论度最高的,就是GPT-6系列双子模型的正式上线。Sol和Luna这两个名字一出来,社区里立刻分成了两派:一派觉得这不过是GPT-5的常规迭代,另一派则已经在研究怎么把Sol生成的电路图直接扔进仿真环境跑了。我属于后者——实…

2026/11/2 17:18:16

Python批量处理PDF书签:pypdf实现书签读取与写入全攻略

简介:这份源码资源面向需要处理 PDF 目录结构的 Python 开发者,聚焦书签读取与批量写入两个典型场景,适合已掌握 Python 基础、希望用脚本替代手工整理电子书目录的中级学习者。压缩包共 2 个文件,以 1 个 py 脚本为主体&#xff…

2026/11/2 17:18:16

Qt TCP通信实战:基于QTcpSocket的事件驱动架构与粘包处理

简介:本资源是一套基于Qt框架实现TCP通信的完整客户端-服务器双项目工程,面向C与Qt初学者及网络编程入门者,解决跨平台Socket通信原理理解与实操落地难题。压缩包共12个文件,含4个核心cpp源码、2个h头文件(封装QTcpSoc…

2026/11/2 17:13:15

龙芯电脑AI应用实战:芯语CAP安装与使用完全指南

在这两年搞国产化硬件和AI落地的圈子里,很多人的困惑其实不是“买不到合适的机器”,而是“龙芯电脑拿到手之后,怎么把AI应用真正跑起来”。我自己从3A6000台式机到龙芯迷你主机都折腾过,踩了一圈坑之后,回头才发现很多…

2026/11/2 6:08:01

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/2 6:39:12

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/2 1:04:04

工业级SPI隔离设计:硬件抗扰与信号完整性实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/2 1:04:04

PLFM_RADAR:主动探测数据通道,构建低误报的数据感知系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/2 1:04:04

工业SPI隔离设计:MAX14431与STM32F746硬件抗干扰实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/2 6:08:01

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/2 6:39:12

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑