1. Claude Code 运行状态词到底是什么,为什么值得单独整理
Claude Code 在终端里干活的时候,屏幕上会不停滚动一些…ing形式的词,比如Thinking…、Baking…、Clauding…。很多人第一次看到会以为只是装饰动画,其实这些词是 Claude Code 在向你反馈「当前处于哪个处理阶段」。它不像传统 CLI 那样只给一个转圈,而是用不同动词区分「正在读文件」「正在推理」「正在写代码」「正在跑命令」这几类动作。
问题在于,官方从没给过一份完整词表。社区靠扒源码和长期观察,整理出大约 187 个状态词,版本更新还会小幅增删。词一多,麻烦就来了:你写个监控脚本想按状态分类,结果发现Percolating和Simmering到底算「思考」还是「等待」根本分不清;你看到Discombobulating以为是报错,其实人家只是「打乱重组」。更现实的是,很多人同时管着好几个项目的 Key,Claude Code 这边配一个、脚本那边配一个,状态词还没搞明白,Key 先乱成一锅粥。
这篇就干两件事。第一,把 180+ 状态词按字母序和场景分类整理成一张能直接查的表,顺带说清楚哪些是高频、哪些是彩蛋。第二,把 TaoToken 的统一 Key 通道接进 Claude Code,用一份可复制的settings.json把 Base URL、Key、Model ID 三件套固定下来,再给一条验证连通性的命令。这样你既看得懂终端在说什么,也不用再为 Key 分散发愁。
适合谁看:正在用 Claude Code 写代码的开发者、想给 Claude Code 做状态监控或日志分析的人、以及手上有多套 Key 需要统一管理的人。下面先从状态词对照表开始,再进入配置。
1.1 状态词按字母序全量对照
先给一张主表,按首字母分组,每个词给中文含义和归类。归类我分成六类:启动准备、构建打包、核心推理、检索解析、执行验证、彩蛋趣味。这样你写脚本时可以直接按归类打标签,而不是逐个词硬编码。
| 首字母 | 状态词 | 中文含义 | 归类 |
|---|---|---|---|
| A | Absorbing | 吸收信息 | 启动准备 |
| A | Accomplishing | 完成中 | 执行验证 |
| A | Actioning | 执行动作 | 执行验证 |
| A | Actualizing | 落地实现 | 执行验证 |
| A | Analyzing | 分析中 | 核心推理 |
| A | Architecting | 架构设计 | 核心推理 |
| A | Aligning | 对齐规整 | 启动准备 |
| B | Baking | 烘焙中(经典彩蛋) | 彩蛋趣味 |
| B | Beaming | 光束推进 | 执行验证 |
| B | Beboppin’ | 爵士摇摆(彩蛋) | 彩蛋趣味 |
| B | Befuddling | 迷糊思考 | 核心推理 |
| B | Blending | 混合中 | 构建打包 |
| B | Boiling | 煮沸高强度运算 | 核心推理 |
| B | Brewing | 酝酿中 | 核心推理 |
| B | Building | 构建项目 | 构建打包 |
| B | Bundling | 打包依赖 | 构建打包 |
| C | Calculating | 计算中 | 核心推理 |
| C | Cerebrating | 深度用脑 | 核心推理 |
| C | Channelling | 集中处理 | 核心推理 |
| C | Churning | 反复搅动处理 | 核心推理 |
| C | Clauding | Claude 专属彩蛋 | 彩蛋趣味 |
| C | Coalescing | 融合合并 | 核心推理 |
| C | Cogitating | 深思熟虑 | 核心推理 |
| C | Combobulating | 整理逻辑 | 核心推理 |
| C | Compiling | 编译中 | 构建打包 |
| C | Composing | 撰写生成 | 核心推理 |
| C | Compressing | 压缩中 | 构建打包 |
| C | Computing | 运算中 | 核心推理 |
| C | Concocting | 构思方案 | 核心推理 |
| C | Conjuring | 变魔术式生成 | 彩蛋趣味 |
| C | Considering | 考虑中 | 核心推理 |
| C | Contemplating | 沉思 | 核心推理 |
| C | Cooking | 烹饪式处理 | 彩蛋趣味 |
| C | Crafting | 精心制作 | 核心推理 |
| C | Creating | 创建中 | 执行验证 |
| C | Crunching | 密集运算 | 核心推理 |
| D | Deciphering | 破译解读 | 检索解析 |
| D | Decoding | 解码中 | 检索解析 |
| D | Deliberating | 斟酌中 | 核心推理 |
| D | Determining | 判定中 | 执行验证 |
| D | Discombobulating | 打乱重组 | 核心推理 |
| D | Divining | 推演预测 | 核心推理 |
| D | Doing | 干就完了(极简) | 执行验证 |
| E | Effecting | 生效执行 | 执行验证 |
| E | Evaluating | 评估方案 | 执行验证 |
| F | Forging | 锻造生成 | 构建打包 |
| F | Forming | 形成结构 | 构建打包 |
| F | Frolicking | 快乐摸鱼(彩蛋) | 彩蛋趣味 |
| G | Generating | 生成内容 | 核心推理 |
| G | Germinating | 发芽式构思 | 核心推理 |
| G | Grouping | 分组归类 | 检索解析 |
| H | Hatching | 孵化方案 | 核心推理 |
| H | Herding | 聚集整理 | 检索解析 |
| H | Honking | 嘟嘟叫(彩蛋) | 彩蛋趣味 |
| H | Hustling | 加紧干活 | 执行验证 |
| I | Ideating | 构思创意 | 核心推理 |
| I | Imagining | 想象中 | 核心推理 |
| I | Incubating | 酝酿孵化 | 核心推理 |
| I | Inferring | 推理中 | 核心推理 |
| J | Jiving | 摇摆式处理(彩蛋) | 彩蛋趣味 |
| M | Manifesting | 显化实现 | 执行验证 |
| M | Mapping | 映射关联 | 检索解析 |
| M | Marinating | 慢慢酝酿 | 核心推理 |
| M | Matching | 匹配比对 | 检索解析 |
| M | Meandering | 慢悠悠梳理 | 核心推理 |
| M | Moseying | 闲逛式思考 | 核心推理 |
| M | Mulling | 反复琢磨 | 核心推理 |
| M | Mustering | 集中资源 | 启动准备 |
| M | Musing | 沉思冥想 | 核心推理 |
| N | Narrowing | 收窄范围 | 检索解析 |
| N | Noodling | 瞎琢磨 | 核心推理 |
| N | Normalizing | 归一化 | 检索解析 |
| O | Optimizing | 优化中 | 执行验证 |
| O | Organizing | 组织整理 | 检索解析 |
| P | Parsing | 解析代码 | 检索解析 |
| P | Percolating | 渗透式思考 | 核心推理 |
| P | Planning | 规划中 | 核心推理 |
| P | Polishing | 打磨优化 | 执行验证 |
| P | Pondering | 深思 | 核心推理 |
| P | Pontificating | 高谈阔论(彩蛋) | 彩蛋趣味 |
| P | Preparing | 准备中 | 启动准备 |
| P | Processing | 处理中 | 核心推理 |
| P | Programming | 编程中 | 执行验证 |
| P | Projecting | 投影预估 | 核心推理 |
| P | Puttering | 慢悠悠折腾 | 核心推理 |
| P | Puzzling | 解谜思考 | 核心推理 |
| Q | Quantizing | 量化中 | 核心推理 |
| Q | Querying | 查询中 | 检索解析 |
| Q | Queueing | 排队中 | 启动准备 |
| R | Reasoning | 逻辑推理 | 核心推理 |
| R | Refactoring | 重构代码 | 执行验证 |
| R | Rendering | 渲染生成 | 构建打包 |
| R | Reticulating | 网状处理(梗) | 彩蛋趣味 |
| R | Retrieving | 检索中 | 检索解析 |
| R | Routing | 路由分发 | 检索解析 |
| R | Ruminating | 反刍式思考 | 核心推理 |
| R | Running | 运行中 | 执行验证 |
| S | Sampling | 采样中 | 核心推理 |
| S | Scheming | 谋划方案 | 核心推理 |
| S | Schlepping | 搬运折腾 | 执行验证 |
| S | Scraping | 抓取内容 | 检索解析 |
| S | Searching | 搜索中 | 检索解析 |
| S | Shimmying | 摇摆处理 | 彩蛋趣味 |
| S | Shucking | 剥离清理 | 检索解析 |
| S | Simmering | 慢炖酝酿 | 核心推理 |
| S | Smooshing | 揉合数据 | 构建打包 |
| S | Solving | 求解问题 | 核心推理 |
| S | Sorting | 排序整理 | 检索解析 |
| S | Spelunking | 探索挖掘 | 检索解析 |
| S | Spinning | 旋转等待 | 启动准备 |
| S | Stewing | 闷头思考 | 核心推理 |
| S | Sussing | 摸清真相 | 核心推理 |
| S | Synthesizing | 合成内容 | 核心推理 |
| T | Thinking | 思考中(最常见) | 核心推理 |
| T | Tinkering | 微调打磨 | 执行验证 |
| T | Tracing | 追踪链路 | 检索解析 |
| T | Translating | 翻译转换 | 核心推理 |
| T | Transmuting | 变形转换 | 核心推理 |
| T | Traversing | 遍历目录 | 检索解析 |
| T | Trimming | 精简修剪 | 执行验证 |
| U | Unifying | 统一整合 | 核心推理 |
| U | Unfurling | 逐步展开 | 启动准备 |
| U | Unravelling | 拆解理清 | 核心推理 |
| U | Unzipping | 解压中 | 构建打包 |
| U | Updating | 更新中 | 执行验证 |
| V | Validating | 验证中 | 执行验证 |
| V | Vectorizing | 向量化 | 核心推理 |
| V | Verifying | 校验中 | 执行验证 |
| V | Vibing | 氛围共鸣(彩蛋) | 彩蛋趣味 |
| W | Wandering | 徘徊思考 | 核心推理 |
| W | Weaving | 编织整合 | 核心推理 |
| W | Whirring | 高速运转 | 执行验证 |
| W | Wibbling | 抖动摇摆 | 彩蛋趣味 |
| W | Wizarding | 魔法操作 | 彩蛋趣味 |
| W | Working | 工作中 | 执行验证 |
| W | Wrangling | 整理数据 | 检索解析 |
表里能数出 130 多个,加上社区补充的彩蛋词和版本新增,总量在 180+ 这个量级。你不需要背,把它当字典用就行。
1.2 高频词与彩蛋词怎么区分
高频词是你在日常编码里几乎每次都会撞见的,主要集中在核心推理和执行验证两类。Thinking出现频率最高,基本每次请求都会先闪一下。Analyzing、Processing、Generating、Running、Validating这几个也很常见,分别对应分析、处理、生成、运行、验证阶段。
彩蛋词的特点是出现频率低、语义偏玩梗,比如Baking、Beboppin’、Frolicking、Honking、Pontificating、Reticulating、Vibing、Wizarding。它们不影响功能,但如果你在做日志分析,最好单独打一个easter_egg标签,免得统计时把「摸鱼」当成真实处理阶段。
还有一类是「语义模糊词」,比如Percolating、Simmering、Marinating、Stewing,字面都是「慢炖、渗透」,实际都归到核心推理。写监控脚本时,建议按归类而不是按单词判断,这样版本新增词也不会打乱你的逻辑。
2. TaoToken 统一 Key 通道的前置准备
在把 TaoToken 接进 Claude Code 之前,先把三样东西确认清楚:Base URL、API Key、Model ID。这三件套是后面所有配置的基础,缺一个都会在验证阶段报错。
Base URL 用https://taotoken.net/api,注意这里不加任何查询参数。API Key 需要你先登录 TaoToken 控制台创建,创建入口在 API Keys 页面。Model ID 则取决于你要调用的模型,Claude Code 场景下通常填 Claude 系列对应的模型标识,具体以控制台模型列表为准。
为什么强调「统一 Key 通道」?因为 Claude Code 默认会读环境变量里的 Key,而你可能同时用脚本、CI、其他工具调同一个模型。如果每个地方各配一份 Key,轮换时就要改一堆文件。TaoToken 的做法是给你一个统一入口,所有调用都走同一个 Base URL 和同一把 Key,Claude Code 只是其中一个消费方。这样 Key 轮换只改一处,状态词监控脚本也能复用同一套凭证。
前置准备清单:
- 一个可用的 TaoToken 账号,能进控制台
- 在 API Keys 页面创建一把 Key,复制保存好(页面关闭后不再完整显示)
- 确认你要用的 Model ID,记下来
- 本地已安装 Claude Code,能跑
claude --version
如果你还没创建 Key,先去控制台 API Keys 页面操作。创建时建议按用途命名,比如claude-code-dev,方便以后区分。Key 只显示一次,务必先存到密码管理器或本地安全位置。
环境变量这块,Claude Code 会读ANTHROPIC_BASE_URL和ANTHROPIC_API_KEY这类变量。但我不建议只靠环境变量,因为不同终端会话可能不一致,排查起来麻烦。更稳的做法是写进 Claude Code 的settings.json,让配置跟着项目走。下一节就给完整片段。
2.1 为什么不用环境变量裸配
环境变量裸配的问题在于「隐式」。你在 A 终端export了 Key,换到 B 终端忘了,Claude Code 就会报 401。或者你同时开了两个项目,一个指向测试 Key 一个指向生产 Key,环境变量互相覆盖,排查半天才发现是 shell 会话串了。
写进settings.json的好处是显式、可版本化(注意别把真 Key 提交到 Git)、可复制。你换机器时把配置文件带过去,改一下 Key 就能跑。对于需要长期用 Claude Code 做编码或 Agent 任务的人,这种稳定性比省事更重要。
另外,TaoToken 的 Coding Plan 适合长期编码场景,如果你打算把 Claude Code 当日常主力,可以了解下它的额度模式,避免频繁换 Key。入口在 Coding Plan 页面。
3. 可复制的 Claude Code settings 配置片段
Claude Code 的配置分两层:全局配置在用户目录下的.claude/settings.json,项目级配置在项目根目录的.claude/settings.json。项目级优先级更高,适合给单个仓库固定模型和通道。下面给一份项目级settings.json片段,路径是<你的项目>/.claude/settings.json。
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-你的TaoTokenKey", "ANTHROPIC_MODEL": "你的ModelID" }, "permissions": { "allow": [ "Read", "Edit", "Bash(git status)", "Bash(npm run lint)" ] } }三件套对应关系要记牢:ANTHROPIC_BASE_URL填https://taotoken.net/api,ANTHROPIC_API_KEY填你在控制台创建的那把 Key,ANTHROPIC_MODEL填 Model ID。这三个值必须同时正确,缺一个或写错一个,验证阶段就会失败。
如果你更习惯用 TOML 管理配置,或者你的工具链读 TOML,可以写一份等价的config.toml:
[anthropic] base_url = "https://taotoken.net/api" api_key = "sk-你的TaoTokenKey" model = "你的ModelID" [claude_code] status_word_logging = true log_path = "./logs/claude-status.log"注意 TOML 这份是我为了演示状态词日志加的扩展字段,Claude Code 本身读的是 JSON 那份。TOML 适合你自己写监控脚本时读取,两边 Key 保持一致即可。
配置写完后,Claude Code 启动时会自动加载。如果你用的是 Cline 或带 MCP 的客户端,配置思路一样:Base URL、Key、Model ID 三件套填全。Cline 的 MCP 配置里,baseUrl和apiKey字段分别对应上面两个值,Model ID 填在模型选择处。Codex 用户如果走auth.json,也是同样三件套,字段名可能是base_url、api_key、model,按你客户端的 schema 对齐即可。
一个容易踩的坑:ANTHROPIC_BASE_URL结尾不要多加斜杠。https://taotoken.net/api是对的,https://taotoken.net/api/在某些客户端里会拼出双斜杠导致 404。我试过在某个版本上因为这个多写了一个斜杠,排查了十几分钟。
3.1 多项目 Key 隔离的写法
如果你同时维护多个项目,又不想让它们共用一把 Key,可以在项目级settings.json里各写各的 Key,全局配置留空或指向默认。这样切项目时 Claude Code 读的是项目级配置,互不干扰。
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-项目A专用Key", "ANTHROPIC_MODEL": "你的ModelID" } }项目 B 同理换一把 Key。这样即使某把 Key 需要轮换,也只影响对应项目。配合 TaoToken 控制台的多 Key 管理,轮换时改一处配置即可。
4. 验证 API 通道连通性与预期返回
配置写完不能直接信,得验证。最直接的方式是用curl打一次模型对话接口,看返回结构。TaoToken 的 API 入口是https://taotoken.net/api,对话接口路径按 OpenAI 兼容风格通常是/v1/chat/completions。下面这条命令你可以直接复制,把 Key 和 Model ID 换成自己的。
curl -sS https://taotoken.net/api/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-你的TaoTokenKey" \ -d '{ "model": "你的ModelID", "messages": [ {"role": "user", "content": "只回复两个字:连通"} ], "max_tokens": 16 }'预期返回是一个 JSON,结构里会有choices数组,choices[0].message.content应该是「连通」或类似内容。如果返回里带usage字段,说明计费通道也正常。看到这个结构,就说明 Base URL、Key、Model ID 三件套都对了。
如果你更想用 Claude Code 自身验证,可以在项目目录下跑:
claude -p "用一句话说明当前目录有几个文件"-p是 print 模式,跑完直接输出结果不进入交互。如果配置正确,你会看到 Claude Code 正常返回答案,终端里也会闪过状态词。如果配置错误,通常会看到 401 或连接失败。
验证通过后,建议把状态词日志打开,方便后续排查。你可以在监控脚本里读 Claude Code 的输出,按前面表格的归类打标签。比如Thinking、Analyzing归到reasoning,Running、Validating归到execution。这样日志分析时能一眼看出时间花在哪个阶段。
4.1 预期返回与异常返回对照
正常返回长这样(字段有裁剪):
{ "id": "chatcmpl-xxx", "object": "chat.completion", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "连通" }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 12, "completion_tokens": 2, "total_tokens": 14 } }异常返回常见几种:401带invalid api key,说明 Key 错了或没带上;404带model not found,说明 Model ID 写错;连接超时或local proxy failed,说明 Base URL 不通或本地网络配置有问题。对照着改就行。
5. 本篇常见错误排查
这一节按真实报错来,每个错误给现象、原因、修法。你遇到问题时直接对号入座。
401 invalid api key。现象是 curl 或 Claude Code 返回 401,提示 Key 无效。原因通常是三种:Key 复制时漏了字符、Key 前后有空格、或者Authorization头没带对。修法是重新从控制台复制 Key,确认Bearer后面紧跟 Key 且无空格。如果你用的是settings.json,检查ANTHROPIC_API_KEY的值有没有被引号包错。
local proxy failed。现象是请求发不出去,报本地代理失败。这通常是你本地 shell 里设了HTTP_PROXY或HTTPS_PROXY环境变量,但代理不可用。修法是先unset HTTP_PROXY HTTPS_PROXY再重试,或者检查你的网络配置。注意这里说的是本地环境变量清理,不涉及任何网络工具。
reading choices 报错。现象是返回 JSON 解析失败,提示读不到choices字段。原因可能是 Base URL 写成了https://taotoken.net/api/带尾斜杠,导致路径拼错返回了 HTML 错误页;也可能是 Model ID 不对,服务端返回了错误结构。修法是去掉尾斜杠,并核对 Model ID。
OAuth 相关报错。现象是 Claude Code 提示 OAuth 认证失败或 token 过期。如果你用的是 API Key 模式,不应该走 OAuth。检查settings.json里有没有残留的 OAuth 配置字段,清掉后重启 Claude Code。API Key 和 OAuth 是两套认证,别混用。
状态词卡住不动。现象是终端停在某个…ing词上很久。这不一定是错误,Percolating、Simmering、Marinating这类词本身就代表慢处理。如果超过几分钟没动静,再检查网络和 Key 额度。可以另开终端跑一次 curl 验证通道是否还通。
Cline MCP 连不上。如果你在 Cline 里配 MCP,报连接失败,检查三件套是否填全:Base URL 填https://taotoken.net/api,API Key 填 TaoToken Key,Model ID 填对应模型。Cline 的 MCP 配置里字段名可能和 Claude Code 不同,但值是一样的。缺任何一个都会连不上。
Codex auth.json 报字段缺失。Codex 用户如果走auth.json,确认里面有base_url、api_key、model三个字段,值分别对应三件套。字段名大小写敏感,按你客户端文档来。
排查顺序建议:先 curl 验证通道,再查 Claude Code 配置,最后看客户端特有配置。这样能快速定位是通道问题还是客户端问题。
5.1 状态词监控脚本的归类建议
如果你要写监控脚本,别按单词硬编码,按归类映射。给一份最小映射示例:
STATUS_MAP = { "reasoning": ["Thinking", "Analyzing", "Cerebrating", "Cogitating", "Pondering", "Reasoning"], "execution": ["Running", "Validating", "Verifying", "Executing", "Refactoring", "Polishing"], "retrieval": ["Searching", "Retrieving", "Parsing", "Querying", "Traversing", "Scraping"], "build": ["Building", "Bundling", "Compiling", "Rendering", "Unzipping"], "easter_egg": ["Baking", "Frolicking", "Honking", "Vibing", "Wizarding", "Reticulating"], }版本新增词时,你只需要把它加进对应归类,脚本逻辑不用动。这样 180+ 状态词也不会让你的监控代码膨胀。
6. 把统一 Key 通道用起来
配置和验证都过了之后,日常使用就简单了。Claude Code 启动时读settings.json,所有请求走 TaoToken 统一通道,状态词照常滚动。你要做的只是偶尔看一眼 Key 额度,轮换时改一处配置。
如果你还没创建 Key,去 API Keys 页面建一把。接入文档在 doc 页面,里面有各客户端的详细字段说明。想先验证模型对话是否正常,可以用模型对话页面直接试。长期做编码或 Agent 任务的话,Coding Plan 的额度模式更适合,不用频繁换 Key。
最后给一个实用技巧:把状态词日志和 Key 通道验证脚本放一起,每次换 Key 后先跑一遍 curl,再启动 Claude Code。这样能避免「以为是状态词卡住,其实是 Key 失效」这种误判。状态词是给你看的反馈,Key 通道是底层管道,两个都稳了,Claude Code 才能真正当日常工具用。