@antseed/produc-claude-oauth (英语)
仅测试与发展. 此插件使用来自个人订阅的 OAuth 证书 。 重新出售基于订阅的接入违反了Anthropic的服务条款,是不允许的. 仅用于本地开发、测试和演示目的 .
第三方 Anthropic Claude 供应商插件,带有 Antseed 的 OAuth 认证. 此插件显示第三方开发者如何使用 Antseed 提供者插件构建、测试和发布 @antseed/provider-core。 。 。 .
如何创建插件
- 创建新目录
plugins/(或磁盘上的任何地方). - 添加一个
package.json与@antseed/provider-core作为依附和@antseed/node作为同伴的依赖. - 执行并默认导出 a
AntseedProviderPlugin对象从src/index.ts。 。 。 . - 以
tsc测试vitest。 。 。 .
插件显示格式
每个提供者插件必须默认导出一个满足对象 AntseedProviderPlugin数字 :
import type { AntseedProviderPlugin, ConfigField } from '@antseed/node';
const plugin: AntseedProviderPlugin = {
name: 'my-provider', // unique plugin name
displayName: 'My Provider', // human-readable label
version: '0.1.0',
type: 'provider',
description: 'Description of the provider',
configSchema: [ // fields the user fills in
{ key: 'API_KEY', label: 'API Key', type: 'secret', required: true },
],
createProvider(config) {
// Return a Provider instance
},
};
export default plugin;
配置字段类型
| 类型 | 说明 |
|---|---|
string | 纯文本输入 |
number | 数字输入 |
boolean | 切换/ 复选框 |
secret | 装入口袋(纸箱、密钥) |
string[] | 以逗号分隔的字符串列表 |
使用提供者核心
这个 @antseed/provider-core 软件包提供了可重复使用的组件 :
BaseProvider-- 执行Provider接口和接线HttpRelay。 。 。 .StaticTokenProvider-- 将静态的 API 密钥包入, 且没有刷新逻辑 .OAuthTokenProvider-- 管理 OAuth 访问/ 重新刷新代号对并自动更新.HttpRelay- 向上游API转发请求,并带有认证头交换、模型验证和货币控制.
import { BaseProvider, OAuthTokenProvider, StaticTokenProvider } from '@antseed/provider-core';
本地测试
# Install dependencies
npm install
# Build the plugin
npm run build
# Run tests
npm test
要用本地的 Antseed 节点测试插件端到端, 请将其链接 :
cd plugins/provider-claude-oauth
npm link
cd /path/to/your/antseed-project
npm link @anthropic/provider-claude-oauth
然后在您节点的插件配置中配置插件与所需的配置字段.
发布到 npm
- 保证
package.json正确无误name, (中文(简体) ),version,以及description。 。 。 . - 构建插件 :
npm run build - 登录到 npm :
npm login - 发布 :
npm publish --access public
对于范围包,例如 @anthropic/provider-claude-oauth,使用时 --access public 作为公共软件包出版.
通过蚂蚁种子插件安装后添加
一旦发布,用户可以安装插件:
antseed plugin add @anthropic/provider-claude-oauth
这将从 npm 下载插件, 在本地的 Antseed 节点注册, 并提示用户配置所需的字段( 访问符等) .
配置参考
| 密钥 | 类型 | 需求 | 默认 | 说明 |
|---|---|---|---|---|
CLAUDE_ACCESS_TOKEN | 隐藏 | 有条件 | - 说吧 | 除非已有的证书文件提供它,否则必须使用 |
CLAUDE_AUTH_FILE | 字符串 | 没有 | - 说吧 | 可证书开发/测试 OAuth 证书文件 |
CLAUDE_REFRESH_TOKEN | 隐藏 | 没有 | - 说吧 | OAuth 刷新自动续签符 |
CLAUDE_TOKEN_EXPIRES_AT | 编号 | 没有 | - 说吧 | 访问符过期时的 Epoch ms |
CLAUDE_OAUTH_CLIENT_ID | 字符串 | 对 | - 说吧 | 刷新令牌时使用的 OAuth 应用程序客户端ID |
ANTSEED_INPUT_USD_PER_MILLION | 编号 | 没有 | 10个 | 投入代号价格(每100美元) |
ANTSEED_OUTPUT_USD_PER_MILLION | 编号 | 没有 | 10个 | 产出代号价格(每100万美元美元) |
ANTSEED_MAX_CONCURRENCY | 编号 | 没有 | 页:1 | 最大并行请求 |
ANTSEED_ALLOWED_SERVICES | 字符串 [] | 没有 | - 说吧 | 以逗号分隔的服务标识列表 |
持续认证发展/测试
设定 CLAUDE_AUTH_FILE 以保存在私有、可写目录中的文件
重启 。 提前创建目录,限制其权限,并使用
绝对路径。 插件以模式创建证书文件 0600 和解剖学
刷新后替换它们。 文件是纯文本证书,不是加密存储;
让他们远离版本控制,并保护任何备份.
- 第一次使用时,供应
CLAUDE_ACCESS_TOKEN财务报告和审定财务报表CLAUDE_REFRESH_TOKEN附加时CLAUDE_TOKEN_EXPIRES_AT(epoch milli seconds) 当知时. 缩写 仅当它不存在时. - 现有文件具有权威性,即使环境证书不同。 内容
JSON领域是
accessToken, (中文(简体) ),refreshToken,以及expiresAt(epoch milli seconds) (英语). 环境证书在初始化后可以去除. - 插件在完成刷新前会保存旋转的令牌 。 如果保存失败, 它 在内存中保留了新的符号,并重试保存,而不是返回到 旧文件。 在重新启动前修正存储错误: 未保存的旋转无法存活 一个进程崩溃.
- 只有一个进程可以拥有/重新拥有证书文件及其OAuth会话. 这个 不是一个跨进程证书同步机制.
- 为了修复被吊销的证书, 停止其他证书作者和解剖 将文件替换为有效的符号对并过期。 下一个请求或健康 探测器重新装入; 不需要重新启动开发进程 。 无效 文件被拒绝,而不是沉默地被旧的环境值所取代.
- 无
CLAUDE_AUTH_FILE,只支持环境行为。 无 刷新符号,访问符号是静态的,过期时停止工作.
失败隔离
启用模型健康检查( CLI 默认值), OAuth 刷新失败 : 提供者初始化使提供者无法使用而不是终止 多提供者发展进程。 其他提供者继续正常工作。 卫生 探测器只有在每次受影响的服务成功响应后才进行再试并恢复. 刷新尝试从一秒到一秒的回转 分钟;实际重试发生在请求/probes上,而不是单独的刷新定时器上. 默认健康扫描间隔为5分钟.
配置缺失, 证书文件无效, 和不相关的初始化 错误仍然是致命的。 故障模型健康检查保留故障快速初始化, 因为没有背景恢复循环会运行。 撤销的刷新符牌 需要重新校正; 重试不能使被吊销的证书有效.
此插件尚存 仅限测试和开发,而不是订阅访问 转售。 认证可靠性不变更改此限制.
许可证
见根寄存器 LICENSE 文件.