Token导航 LogoToken导航

Agent Skill · AI 工具

caam(caam 命令行)

caam 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

caam 是AI 工具类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证为 MIT,第三方扫描有未通过项,按安装量在AI 工具类的 2,536 个 Skill 里排第 1,115。

总安装 1,123周安装 45GitHub Stars 63下载 364核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:caam(caam 命令行)
来源仓库:https://github.com/dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations
仓库路径:skills/caam
安装命令:
npx skills add https://github.com/dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations --skill caam
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations --skill caam

这个 Skill 是做什么的

AI 工具类 Skill 用来扩展助手本身的能力,例如接模型、接检索、接外部服务。

caam 是一个 Go 语言编写的 CLI 工具,用于快速切换多个 AI 编码订阅账号。适用于在达到速率限制时,绕过浏览器 OAuth 流程实现秒级账号切换。支持 Claude Max、GPT Pro、Gemini Ultra 等固定成本订阅服务。使用前需配置各平台的 API 密钥,并注意不同服务的授权机制差异。

caam 属于AI 工具类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/caam

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/dicklesworthstone/agent_flywheel_clawdbot_skil…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

caam 怎么安装?

在终端执行 npx skills add https://github.com/dicklesworthstone/agent_flywheel_clawdbot_skills_and_int…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

caam 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

caam 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

caam 是免费的吗?

来源标注的许可证是 MIT。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

caam 用的人多吗?

公开数据是累计安装 1,123 次,近一周安装 45 次,下载 364 次,GitHub 63 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

caam 安全吗?

第三方扫描有未通过项,风险较高。除非你确认过源码,否则不建议直接安装到常用环境。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 3 个目录同时收录,说明这个 Skill 流传比较广。
  • 许可证明确为 MIT,商用和分发边界好判断。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理AI 工具类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

AI 工具类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
executing-plans

执行计划 · Codex、Claude

1,515,336173,110只读MIT通过
verification-before-completion

完成前的验证 · Codex、Claude

1,319,472173,121权限未标注MIT通过
subagent-driven-development

子 Agent 驱动开发 · Codex、Claude

1,312,416173,138只读MIT通过
copy-editing

复制编辑 · Codex、Claude

1,209,57625,632只读MIT通过
paywall-upgrade-cro

付费专区升级 cro · Codex、Claude

1,030,17625,617只读MIT通过
caam

caam 命令行 · 本页

1,12363接触敏感数据MIT未通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

CAAM — Coding Agent Account Manager

A Go CLI for instant account switching between fixed-cost AI coding subscriptions (Claude Max, GPT Pro, Gemini Ultra). When you hit rate limits, swap accounts in ~50ms instead of 30-60 seconds of browser OAuth friction.

Why This Exists

You're paying $200-275/month for fixed-cost AI coding subscriptions. These plans have rolling usage limits—not billing caps, but rate limits that reset over time. When you hit them mid-flow:

The Problem:

/login → browser opens → sign out of Google → sign into different Google →
authorize app → wait for redirect → back to terminal

That's 30-60 seconds of friction, 5+ times per day across multiple tools.

The Solution:

caam activate claude bob@gmail.com   # ~50ms, done

No browser. No OAuth dance. No interruption to your flow state.

How It Works

Each AI CLI stores OAuth tokens in plain files. CAAM backs them up and restores them:

~/.claude.json ←→ ~/.local/share/caam/vault/claude/alice@gmail.com/
~/.codex/auth.json ←→ ~/.local/share/caam/vault/codex/work@company.com/

That's it. No daemons, no databases, no network calls. Just cp with extra steps.

Why This Works

OAuth tokens are bearer tokens—possession equals access. The CLI tools don't fingerprint your machine beyond what's already in the token file. Swapping files is equivalent to "being" that authenticated session.

Profile Detection

caam status uses content hashing:

  1. SHA-256 hash current auth files
  2. Compare against all vault profiles
  3. Match = that's what's active

This means:

  • Profiles are detected even if you switched manually
  • No hidden state files that can desync
  • Works correctly after reboots

Quick Start

# Install
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/coding_agent_account_manager/main/install.sh?$(date +%s)" | bash

# Backup current account
caam backup claude alice@gmail.com

# Clear and login to another account
caam clear claude
claude  # /login with bob@gmail.com
caam backup claude bob@gmail.com

# Switch instantly forever
caam activate claude alice@gmail.com   # < 100ms
caam activate claude bob@gmail.com     # < 100ms

# Check status
caam status

Two Operating Modes

1. Vault Profiles (Simple Switching)

Swap auth files in place. One account active at a time per tool. Instant switching.

caam backup claude work@company.com
caam activate claude personal@gmail.com

Use when: You want to switch between accounts sequentially (most common).

2. Isolated Profiles (Parallel Sessions)

Run multiple accounts simultaneously with full directory isolation.

caam profile add codex work@company.com
caam profile add codex personal@gmail.com
caam exec codex work@company.com -- "implement feature X"
caam exec codex personal@gmail.com -- "review code"

Each profile gets its own $HOME and $CODEX_HOME with symlinks to your real .ssh, .gitconfig, etc.

Use when: You need two accounts running at the same time in different terminals.

Supported Tools

ToolSubscriptionAuth Files
Claude CodeClaude Max ($200/mo)~/.claude.json, ~/.config/claude-code/auth.json, ~/.claude/settings.json
Codex CLIGPT Pro ($200/mo)~/.codex/auth.json (or $CODEX_HOME/auth.json)
Gemini CLIGemini Ultra (~$275/mo)~/.gemini/settings.json, ~/.gemini/oauth_credentials.json, ~/.gemini/.env

Tool-Specific Details

Claude Code (Claude Max)
  • Login: /login inside CLI
  • Rate Limits: 5-hour rolling usage window
  • Notes: When you hit limits, you'll see rate limit messages. Switch accounts to continue.
Codex CLI (GPT Pro)
  • Login: codex login or codex login --device-auth (headless)
  • Notes: Respects CODEX_HOME. CAAM enforces file-based auth by writing cli_auth_credentials_store = "file" to ~/.codex/config.toml.
Gemini CLI (Google One AI Premium)
  • Login: Start gemini, select "Login with Google" or use /auth to switch modes
  • Notes: OAuth cache stored in oauth_credentials.json, API key mode uses .env.

Command Reference

Auth File Swapping (Primary)

CommandDescription
caam backup <tool> <email>Save current auth files to vault
caam activate <tool> <email>Restore auth files from vault (instant switch)
caam status [tool]Show which profile is currently active
caam ls [tool]List all saved profiles in vault
caam delete <tool> <email>Remove a saved profile
caam paths [tool]Show auth file locations for each tool
caam clear <tool>Remove auth files (logout state)
caam uninstallRestore originals and remove caam data/config

Aliases: caam switch and caam use work like caam activate

Activate Options

FlagDescription
--autoUse rotation algorithm to pick best profile
--backup-currentBackup current auth before switching
--forceActivate even if profile is in cooldown

Uninstall Options

FlagDescription
--dry-runShow what would be restored/removed
--keep-backupsKeep vault after restoring originals
--forceSkip confirmation prompt

Smart Profile Management

CommandDescription
caam activate <tool> --autoAuto-select best profile using rotation algorithm
caam next <tool>Preview which profile rotation would select
caam run <tool> [-- args]Wrap CLI with automatic failover on rate limits
caam cooldown set <provider/profile>Mark profile as rate-limited (default: 60min)
caam cooldown listList active cooldowns with remaining time
caam cooldown clear <provider/profile>Clear cooldown for a profile
caam cooldown clear --allClear all active cooldowns
caam project set <tool> <profile>Associate current directory with a profile
caam project get [tool]Show project associations for current directory
caam tuiInteractive TUI dashboard

Profile Isolation (Advanced)

CommandDescription
caam profile add <tool> <email>Create isolated profile directory
caam profile ls [tool]List isolated profiles
caam profile delete <tool> <email>Delete isolated profile
caam profile status <tool> <email>Show isolated profile status
caam login <tool> <email>Run login flow for isolated profile
caam exec <tool> <email> [-- args]Run CLI with isolated profile

Smart Profile Management

When you have multiple accounts across multiple providers, manually tracking which account has headroom becomes tedious. Smart Profile Management automates this decision-making.

Profile Health Scoring

Each profile displays a health indicator:

IconStatusMeaning
🟢HealthyToken valid for >1 hour, no recent errors
🟡WarningToken expiring within 1 hour, or minor issues
🔴CriticalToken expired, or repeated errors in last hour
⚪UnknownNo health data available yet

Health scoring combines:

  • Token expiry: Time until OAuth token expires
  • Error history: Recent authentication or rate limit errors
  • Penalty score: Accumulated issues with exponential decay (20% reduction every 5 minutes)
  • Plan type: Enterprise/Pro plans get slight scoring boosts

After ~30 minutes of no errors, penalty score returns to near zero.

Proactive Token Refresh

CAAM automatically refreshes OAuth tokens before they expire, preventing mid-session auth failures.

Smart Rotation Algorithms

When you run caam activate claude --auto:

AlgorithmDescription
smart (default)Multi-factor: cooldown state, health, recency (avoids last 30min), plan type, random jitter
round_robinSequential rotation, skipping cooldown profiles
randomRandom selection among non-cooldown profiles

Configure in ~/.caam/config.yaml:

stealth:
  rotation:
    enabled: true
    algorithm: smart  # smart | round_robin | random
  cooldown:
    enabled: true     # Warn when activating cooldown profiles

Cooldown Tracking

When an account hits a rate limit, mark it so rotation skips it:

# Mark current Claude profile (default: 60 min cooldown)
caam cooldown set claude

# Specify profile and duration
caam cooldown set claude/work@company.com --minutes 120

# View active cooldowns
caam cooldown list

# Clear a cooldown early
caam cooldown clear claude/work@company.com

When stealth.cooldown.enabled: true, activating a profile in cooldown warns and prompts for confirmation. Use --force to bypass.

Automatic Failover with caam run

Wrap CLI execution with automatic rate limit handling:

caam run claude -- "explain this code"

# If Claude hits rate limit mid-session:
# 1. Current profile goes into cooldown
# 2. Next best profile selected via rotation
# 3. Command re-executed with new account

Options:

FlagDefaultDescription
--max-retries N1Maximum retry attempts
--cooldown DURATION60mCooldown duration after rate limit
--algorithm NAMEsmartRotation algorithm
--quietoffSuppress profile switch notifications

Zero-friction aliases:

alias claude='caam run claude --'
alias codex='caam run codex --'
alias gemini='caam run gemini --'

Now claude "explain this" handles rate limits transparently.

Project-Profile Associations

Link profiles to project directories:

cd ~/projects/work-app
caam project set claude work@company.com

# Now whenever you're in this directory
caam activate claude  # Automatically uses work@company.com

Associations cascade: setting on /home/user/projects applies to all subdirectories unless a more specific association exists.

TUI shortcut: Press p to set the current profile as default for your working directory.

Preview Rotation Selection

$ caam next claude
Recommended: bob@gmail.com
  + Healthy token (expires in 4h 32m)
  + Not used recently (2h ago)

Alternatives:
  alice@gmail.com - Used recently (15m ago)

In cooldown:
  carol@gmail.com - In cooldown (45m remaining)

Useful for understanding rotation choices or scripting conditional logic.

Usage Analytics

CAAM tracks activation patterns and session durations across profiles, helping you understand usage distribution.

TUI Dashboard

Interactive terminal UI for visual profile management:

caam tui

TUI Features

  • Visual profile list with health indicators
  • Cooldown status display
  • Project associations in status bar
  • Hot reload: auto-refreshes when profiles are modified in another terminal

TUI Keybindings

KeyAction
↑/↓Navigate profiles
EnterActivate selected profile
pSet project association
cMark/clear cooldown
rRefresh
qQuit

Vault Structure

~/.local/share/caam/
├── vault/                          # Saved auth profiles
│   ├── claude/
│   │   ├── alice@gmail.com/
│   │   │   ├── .claude.json        # Backed up auth
│   │   │   ├── auth.json           # From ~/.config/claude-code/
│   │   │   └── meta.json           # Timestamp, original paths
│   │   └── bob@gmail.com/
│   ├── codex/
│   │   └── work@company.com/
│   │       └── auth.json
│   └── gemini/
│       └── personal@gmail.com/
│           └── settings.json
│
└── profiles/                       # Isolated profiles (advanced)
    └── codex/
        └── work@company.com/
            ├── profile.json        # Profile metadata
            ├── codex_home/         # Isolated CODEX_HOME
            │   └── auth.json
            └── home/               # Pseudo-HOME with symlinks
                ├── .ssh -> ~/.ssh
                └── .gitconfig -> ~/.gitconfig

Workflow Examples

Daily Workflow

# Morning: Check what's active
caam status
# claude: alice@gmail.com (active)
# codex:  work@company.com (active)
# gemini: personal@gmail.com (active)

# Afternoon: Hit Claude usage limit
caam activate claude bob@gmail.com
claude  # Continue immediately with new account

Initial Multi-Account Setup

# 1. Login to first account using normal flow
claude  # /login → authenticate with alice@gmail.com

# 2. Backup the auth using email as profile name
caam backup claude alice@gmail.com

# 3. Clear and login to second account
caam clear claude
claude  # /login → authenticate with bob@gmail.com

# 4. Backup that too
caam backup claude bob@gmail.com

# 5. Switch instantly forever!
caam activate claude alice@gmail.com   # < 100ms
caam activate claude bob@gmail.com     # < 100ms

Parallel Sessions Setup

# Create isolated profiles
caam profile add codex work@company.com
caam profile add codex personal@gmail.com

# Login to each (one-time, opens browser)
caam login codex work@company.com
caam login codex personal@gmail.com

# Run simultaneously in different terminals
caam exec codex work@company.com -- "implement auth system"
caam exec codex personal@gmail.com -- "review PR #123"

Smart Rotation Workflow

# Let rotation pick the best profile
caam activate claude --auto
# Using rotation: claude/bob@gmail.com
# Recommended: bob@gmail.com
#   + Healthy token (expires in 4h 32m)
#   + Not used recently (2h ago)

# Hit a rate limit? Mark it
caam cooldown set claude
# Recorded cooldown for claude/bob@gmail.com until 14:30 (58m remaining)

# Next activation picks another profile automatically
caam activate claude --auto
# Using rotation: claude/alice@gmail.com

Zero-Friction Mode

# Add aliases to .bashrc/.zshrc
alias claude='caam run claude --'
alias codex='caam run codex --'

# Use tools normally
claude "explain this authentication flow"

# If rate limited mid-session, caam automatically:
# 1. Marks current profile as in cooldown
# 2. Selects next best profile via rotation
# 3. Re-runs command with new profile
# All transparent - you just see the output

Installation

# One-liner (recommended)
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/coding_agent_account_manager/main/install.sh?$(date +%s)" | bash

# From source
git clone https://github.com/Dicklesworthstone/coding_agent_account_manager
cd coding_agent_account_manager
go build -o caam ./cmd/caam
sudo mv caam /usr/local/bin/

# Go install
go install github.com/Dicklesworthstone/coding_agent_account_manager/cmd/caam@latest

Tips

  1. Use actual email as profile name — self-documenting, never forget which account
  2. Backup before clearing: caam backup claude current@email.com && caam clear claude
  3. Use --backup-current flag: caam activate claude new@email.com --backup-current
  4. Check status often: caam status shows what's active across all tools
  5. Don't sync vault across machines — auth tokens often contain machine-specific identifiers
  6. Use caam paths — if auth file locations change in tool updates, this shows current paths

FAQ

Q: Does this work with API keys? No. CAAM is for fixed-cost subscription plans (Claude Max, GPT Pro, Gemini Ultra) that use OAuth. API keys don't need switching—just use different keys.

Q: Is this against terms of service? No. You're using your own legitimately-purchased subscriptions. CAAM manages local auth files—it doesn't share accounts, bypass rate limits, or modify API traffic. Each account still respects its individual usage limits.

Q: What if the tool updates and changes auth file locations? Run caam paths to see current locations. If they change, we'll update CAAM. File an issue if you notice a discrepancy.

Q: Can I sync the vault across machines? Don't. Auth tokens often contain machine-specific identifiers (device IDs, etc.). Backup and restore on each machine separately.

Q: What's the difference between vault and isolated profiles?

  • Vault profiles (backup/activate): Swap auth in place, one account active at a time
  • Isolated profiles (profile add/exec): Full directory isolation, run multiple accounts simultaneously

Q: Will switching break running sessions? May cause auth errors in running CLI. Best practice: switch before starting a new session, not during.

Q: How do I know which account I'm currently using? Run caam status. It shows the active profile for each tool based on content hash matching.

Integration with Flywheel

ToolIntegration
NTMEach tmux pane can use different account via isolated profiles
Agent MailAgents can coordinate account switching across sessions
CASSSearch sessions by account to track usage patterns
DCGNo interaction (CAAM manages auth, DCG guards commands)

平台分布

Claude Code

28.08%
按下载量换算102

Gemini CLI

23.66%
按下载量换算86

OpenCode

16.45%
按下载量换算60

Antigravity

12.59%
按下载量换算46

Codex

7.37%
按下载量换算27

windsurf

3.26%
按下载量换算12

安全审计

Gen Agent Trust Hub

未通过

Socket

通过

Snyk

未通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。

继续浏览同类 Skills