@botaoxyz/akm

中文文档
1.2.0发布于 2026/02/25MITES Module近 30 天下载 3778

Anthropic 密钥管理 - 用于管理 Anthropic API 密钥和环境的 CLI 工具

中文使用文档
文档目录29 节
  1. 简介
  2. 特性
  3. 安装
  4. 使用方法
  5. 总览
  6. 添加代理配置
  7. 列出所有配置
  8. 切换到指定代理
  9. 停止使用当前代理
  10. 测试代理连接
  11. 删除代理配置
  12. 重命名代理配置
  13. 配置文件
  14. ~/.claude/settings.json
  15. ~/.claude/config.json
  16. 命令详情
  17. 开发
  18. 环境要求
  19. 开发命令
  20. 项目结构
  21. 技术栈
  22. 错误处理
  23. CHANGELOG
  24. [1.2.0] - 2025-10-09
  25. [1.1.0] - 2025-08-25
  26. [1.0.2] - 2025-07-24
  27. [1.0.1] - 2025-07-24
  28. [1.0.0] - 2025-07-15
  29. 许可证

akm - Anthropic Key Management

           █████
          ░░███
  ██████   ░███ █████ █████████████
 ░░░░░███  ░███░░███ ░░███░░███░░███
  ███████  ░██████░   ░███ ░███ ░███
 ███░░███  ░███░░███  ░███ ░███ ░███
░░████████ ████ █████ █████░███ █████
 ░░░░░░░░ ░░░░ ░░░░░ ░░░░░ ░░░ ░░░░░

一个用于管理 Anthropic API 密钥和环境变量的命令行工具。

简介

akm (Anthropic Key Management) 是一个轻量级的 CLI 工具,用于快速切换不同的 Anthropic 代理配置。它通过管理 ~/.claude/settings.json 和 ~/.claude/config.json 文件来设置环境变量和 API 密钥,让你能够轻松地在不同的 API 代理服务之间切换。同时支持 Claude Code 和 Claude Code for VS Code v2.0+ 插件。

特性

  • 🔐 管理多个 Anthropic API 代理配置
  • 🚀 快速切换不同的代理环境
  • 📝 简单易用的命令行界面
  • 🔒 使用文件锁确保配置安全
  • 🌐 支持连接性测试
  • 💻 同时兼容 Claude Code 和 Claude Code for VS Code v2.0+ 插件

安装

npm install -g @xes/akm

使用方法

总览

Usage: akm [options] [command]

Options:
  -v, --version                    display version number
  --verbose                        output extra debugging information
  --debug                          output complete debugging information (includes HTTP requests & response headers)
  --timeout <seconds>              override default timeout for test command (in seconds) (default: "10")
  -h, --help                       display help for command

Commands:
  ls|list                          list all proxy configurations with current marker
  add <name> <base_url> <api_key> [model] [small_model]  add a new proxy configuration
  use <name>                       switch to a specific proxy configuration
  unuse <name>                     stop using a specific proxy configuration
  del|delete <name>                delete a proxy configuration
  rename <name> <new_name>         rename a proxy configuration
  test <name>                      test connectivity to a proxy configuration
  help [command]                   display help for command

Examples:
  akm ls                           # list all configurations
  akm add kimi https://api.moonshot.cn/anthropic sk-xxx  # add new configuration
  akm add kimi https://api.moonshot.cn/anthropic sk-xxx kimi-k2-turbo-preview kimi-k2-turbo-preview  # add with models
  akm use kimi                     # switch to kimi (immediately effective)
  akm unuse kimi                   # stop using any proxy
  akm test kimi                    # test kimi connection
  akm del kimi                     # delete kimi
  akm rename kimi moonshot         # rename configuration

Global Options:
  --verbose                        Show detailed output
  --debug                          Show debug information including HTTP details
  --timeout <sec>                  Set timeout for test command (default: 10s)

添加代理配置

# 添加基本代理配置
akm add kimi https://api.moonshot.cn/anthropic sk-your-api-key

# 添加带模型配置的代理
akm add kimi https://api.moonshot.cn/anthropic sk-your-api-key kimi-k2-turbo-preview kimi-k2-turbo-preview

列出所有配置

akm ls

切换到指定代理

akm use kimi

停止使用当前代理

akm unuse kimi

测试代理连接

akm test kimi

删除代理配置

akm del kimi

重命名代理配置

akm rename kimi moonshot

配置文件

~/.claude/settings.json

Claude CLI 的配置文件,akm 会自动管理其中的环境变量:

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.anthropic.com",
    "ANTHROPIC_AUTH_TOKEN": "sk-xxxxx",
    "ANTHROPIC_MODEL": "kimi-k2-turbo-preview",
    "ANTHROPIC_SMALL_FAST_MODEL": "kimi-k2-turbo-preview"
  }
}

注意:ANTHROPIC_MODEL 和 ANTHROPIC_SMALL_FAST_MODEL 仅在配置中提供了相应的模型参数时才会被设置。

~/.claude/config.json

Claude Code for VS Code 插件的配置文件,akm 会自动管理 API 密钥:

{
  "primaryApiKey": "sk-xxxxx"
}

从 v1.2.0 开始,akm 同时支持 Claude Code 和 Claude Code for VS Code v2.0+ 插件。执行 akm use 命令时会同时更新两个配置文件。

命令详情

命令描述示例
add <name> <url> <key> [model] [small_model]添加新的代理配置,可选择指定模型akm add proxy1 https://api.example.com sk-key model_id small_model_id
ls列出所有配置,标记当前使用的akm ls
use <name>切换到指定代理akm use proxy1
unuse <name>停止使用当前代理akm unuse proxy1
test [name]测试代理连接(默认测试当前代理)akm test proxy1
del <name>删除指定配置akm del proxy1
rename <old> <new>重命名配置akm rename proxy1 proxy2

开发

环境要求

  • Node.js >= 18.0.0
  • pnpm(推荐)或 npm

开发命令

# 安装依赖
pnpm install

# 开发模式(监视文件变化)
pnpm dev

# 构建项目
pnpm build

# 运行测试
pnpm test

# 运行带覆盖率的测试
pnpm test:coverage

# 类型检查
pnpm typecheck

# 代码检查
pnpm lint

# 修复代码格式
pnpm lint:fix

# 格式化代码
pnpm format

项目结构

src/
├── index.ts        # CLI 入口,使用 commander 定义命令
├── actions.ts      # 所有命令的具体实现逻辑
├── config.ts       # ConfigManager - 管理 ~/.akmrc 配置文件
├── shell.ts        # ClaudeSettingsManager - 管理 ~/.claude/settings.json
├── services.ts     # API 服务,用于 akm test 命令
├── logger.ts       # 日志工具,基于 chalk
├── constants.ts    # 常量定义
└── types.ts        # TypeScript 类型定义

技术栈

  • 运行时: Node.js ≥ 18, TypeScript
  • CLI 框架: commander
  • 配置解析: ini
  • 终端样式: chalk
  • 文件锁定: proper-lockfile
  • 测试框架: vitest
  • 构建工具: tsdown
  • 代码检查: ESLint 9, typescript-eslint 8

错误处理

项目使用自定义的 AkmError 类统一处理错误,包含明确的退出码:

  • 0: 成功
  • 1: 参数错误/重名冲突
  • 2: 网络失败/API 失败
  • 3: 配置不存在
  • 4: 文件写入失败
  • 5: 未知异常

CHANGELOG

[1.2.0] - 2025-10-09

Added

  • 支持 Claude Code for VS Code v2.0+ 插件兼容性
  • 新增对 ~/.claude/config.json 文件的自动管理
  • 执行 akm use 命令时会同时更新 settings.json 和 config.json 文件
  • 在 config.json 中设置 primaryApiKey 字段,确保 VS Code 插件正常工作

Updated

  • 优化了 ClaudeSettingsManager 类,新增 updatePrimaryApiKey() 方法
  • 更新了 onUse() 命令逻辑,同时管理两个配置文件
  • 完善了文档说明,添加了 VS Code 插件兼容性的相关信息

[1.1.0] - 2025-08-25

Added

  • 支持可选的模型参数:akm add 命令现在接受可选的 [model] 和 [small_model] 参数
  • 新增环境变量 ANTHROPIC_MODEL 和 ANTHROPIC_SMALL_FAST_MODEL 的自动管理
  • 模型配置会保存到 ~/.akmrc 配置文件中,并在使用时自动设置相应的环境变量
  • 向后兼容:现有配置不受影响,模型参数完全可选

Updated

  • 更新了所有相关文档,包括 README.md、设计文档和产品需求文档
  • 优化了代码结构以支持可选的模型配置
  • 更新了示例和帮助信息

[1.0.2] - 2025-07-24

Changed

  • 从 package.json 动态读取版本号,确保版本一致性
  • 优化版本管理机制

[1.0.1] - 2025-07-24

Changed

  • 将环境变量名称从 ANTHROPIC_API_KEY 更改为 ANTHROPIC_AUTH_TOKEN
  • 更新所有文档和代码中的环境变量引用
  • 添加向后兼容性处理,自动清理旧的 ANTHROPIC_API_KEY 配置

Updated Files

  • 源代码:constants.ts, shell.ts
  • 文档:README.md, CLAUDE.md, prd.md, design-doc.md

[1.0.0] - 2025-07-15

Added

  • 初始版本发布
  • 支持管理多个 Anthropic API 代理配置
  • 提供完整的 CLI 命令:add, use, unuse, del, rename, test, ls
  • 自动管理 ~/.claude/settings.json 文件
  • 支持连接性测试功能
  • 完整的文档和开发指南

许可证

MIT License

版本与发布记录

@botaoxyz/akm 共发布 1 个版本,首次发布于 2026/02/25;过去 12 个月发布了 1 个版本。

版本发布日期距今
1.2.0latest2026/02/258 个月前

关于 @botaoxyz/akm 的常见问题

@botaoxyz/akm 是什么?

Anthropic 密钥管理 - 用于管理 Anthropic API 密钥和环境的 CLI 工具

如何安装 @botaoxyz/akm?

在项目目录运行 npm install @botaoxyz/akm,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 akm,可以用 npx akm 直接运行。

@botaoxyz/akm 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/botaoxyz__akm 是否存在。

@botaoxyz/akm 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@botaoxyz/akm 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@botaoxyz/akm 可以商用吗?

@botaoxyz/akm 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@botaoxyz/akm 的下载量有多少?

根据 npm 官方下载统计,@botaoxyz/akm 在 2026/10/09 – 2026/11/07 这 30 天内被下载 3,778 次,日均约 126 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@botaoxyz/akm 还在维护吗?

最新版本 1.2.0 发布于 2026/02/25(8 个月前);至今共发布 1 个版本,其中过去 12 个月发布了 1 个;首次发布于 2026/02/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。