ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

【微知】如何查看 Claude Code 有哪些 agents?用 TaoToken 统一 Key 排查 subagents 命令行

【微知】如何查看 Claude Code 有哪些 agents?用 TaoToken 统一 Key 排查 subagents 命令行

1. 命令行里到底有哪些 agents 可以调用

很多人第一次接触 Claude Code 的 agents 概念时,会以为它像插件市场一样有个可视化列表,点开就能看到全部。实际不是。Claude Code 的 agents 分两层:一层是内置的通用 agent,另一层是你自己或团队在项目里定义的 subagents。它们平时藏在配置目录和命令行输出里,不主动查就看不见。

先说清楚这几个词的关系,不然后面排查会绕晕。Claude Code是命令行工具本体;agents是它能调用的执行单元,可以理解成"带独立上下文的小助手";subagents是 agents 的子集,通常由主 agent 在任务里派生出来,用来并行处理子任务,比如一个负责读代码、一个负责查文档。你问"有哪些 agents",本质是在问:当前这个项目、这套配置下,Claude Code 能识别到哪些可用的执行单元。

为什么这件事值得单独写一篇?因为当出现 401、local proxy failed、reading choices 这类报错时,新手第一反应是"网络挂了"或"Key 错了",但真实原因经常是 agent 配置缺失或 endpoint 指错,导致列表根本没加载出来。分不清是认证问题还是 agent 配置问题,就会在错误的方向上反复折腾。

这篇适合三类人:刚装好 Claude Code 想确认 agents 是否正常加载的;遇到报错想快速定位是认证还是配置的;以及想把 endpoint 统一到 TaoToken 后验证 agents 列表是否正常返回的。全程命令行操作,复制即可跟做。

核心检索词先记住:Claude Code 查看 agents 列表、subagents 命令行排查、401 与 local proxy failed 定位。下面从最直接的查看命令开始,一步步把配置和验证串起来。

2. 用 TaoToken 统一 Key 前的准备与 endpoint 认知

在动手查 agents 之前,得先理解 Claude Code 是怎么找到"有哪些 agents"的。它主要看两个地方:一是内置 agent 定义,随工具版本走;二是项目级和用户级的配置文件,里面用 JSON 或 TOML 声明了自定义 subagents。命令行执行查看命令时,工具会把这些来源合并后输出。

那 TaoToken 在这里扮演什么角色?它是一个统一的模型接入层,把不同模型的调用收敛到同一个 endpoint 和同一把 Key 上。官网在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 入口是 https://taotoken.net/api 。对 Claude Code 来说,你只需要把它的请求地址指向这个 endpoint,再用一把 Key 认证,agents 列表的加载和后续调用就走同一条通道。

这里有个关键认知:agents 列表能不能正常返回,和认证是否通过是两件事,但经常同时出问题。如果 endpoint 写错,请求发不出去,你会看到 local proxy failed 或连接类错误;如果 endpoint 对了但 Key 无效,会看到 401;如果认证过了但 agent 配置文件格式错了,列表会缺项或报 reading choices 相关错误。所以排查顺序应该是:先确认 endpoint 通不通,再确认 Key 对不对,最后确认 agent 配置全不全。

准备阶段你需要三样东西:一把 TaoToken 的 API Key(在控制台创建,地址 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite ),一个确认可用的模型 ID,以及 Claude Code 的配置文件路径。Key 的创建入口在 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite ,文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite 。

注意:不要把 Key 硬编码进会提交到 Git 的文件里。用环境变量或本地未跟踪的配置文件,这是后面所有步骤的前提。

模型 ID 这块,Claude Code 场景下常用的是 Anthropic 系列模型标识,具体以你控制台里可用的为准。TaoToken 的模型对话入口在 https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=models&utm_campaign=rewrite ,可以先在那里确认模型名再填进配置。如果你打算长期跑编码和 Agent 任务,Coding Plan 入口在 https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite ,它更适合高频调用场景。

把这三样准备好,下一步就是写配置。配置写对了,agents 列表才有机会正常返回;配置写错,后面所有查看命令都会以各种报错收场。

3. 可复制的配置片段与 agents 查看命令

这一节是全文最需要动手的部分。先给配置,再给查看命令,顺序不要颠倒,因为查看命令依赖配置生效。

Claude Code 的配置通常放在用户目录下的.claude文件夹里,项目级配置放在项目根目录的.claude下。下面是一个可复制的 settings 片段,把 endpoint 指向 TaoToken,并声明一个自定义 subagent。路径按你实际环境调整,这里以用户级配置为例:

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-你的TaoToken密钥" }, "agents": { "code-reader": { "description": "负责阅读和总结代码文件", "model": "claude-sonnet-4-20250514", "prompt": "你是一个代码阅读助手,专注解释文件结构和依赖关系。" }, "doc-searcher": { "description": "负责检索项目文档", "model": "claude-sonnet-4-20250514", "prompt": "你是一个文档检索助手,返回最相关的文档片段。" } } }

如果你用的是 TOML 风格的配置(部分版本或团队约定会这样写),等价片段如下:

[env] ANTHROPIC_BASE_URL = "https://taotoken.net/api" ANTHROPIC_API_KEY = "sk-你的TaoToken密钥" [agents.code-reader] description = "负责阅读和总结代码文件" model = "claude-sonnet-4-20250514" prompt = "你是一个代码阅读助手,专注解释文件结构和依赖关系。" [agents.doc-searcher] description = "负责检索项目文档" model = "claude-sonnet-4-20250514" prompt = "你是一个文档检索助手,返回最相关的文档片段。"

配置里三个要素必须齐全,缺一不可:Base URL指向https://taotoken.net/api,Key用你的 TaoToken 密钥,Model ID填控制台确认过的模型名。这三件套是后面所有验证的基础。

配置写好后,查看 agents 有两种方式。第一种是在 Claude Code 交互式命令行里直接输入斜杠命令:

/agents

它会列出当前识别到的全部 agents,包括内置的和你在配置里声明的。第二种是在系统 shell 里直接调用:

claude agents

这条命令不进入交互模式,适合脚本化检查。实测下来,claude agents的输出更干净,适合贴进排查记录。

查看 subagents 稍微不同。subagent 是在任务执行时动态派生的,不会一直挂在列表里。调用 subagent 时,Claude Code 会创建新实例并返回一个 agent id,历史记录落在 transcript 文件里。路径形如:

/Users/你的用户名/.claude/projects/{projectdir}/20ed7031-28fb-4b23-9f6d-aa02c33a8b9a/subagents

你可以直接进这个目录看有哪些 subagent 跑过:

ls -la ~/.claude/projects/*/*/subagents

每个子目录对应一次 subagent 调用记录。想确认某个 subagent 的完整行为,读它目录下的 transcript 文件即可。这里要理解一个设计:subagent 之间不直接通信,它们通过共享文件和父级协调间接协作。所以你在列表里看不到"A 和 B 在对话",只能看到各自的 transcript 和父级派生的 agent id。

把配置和命令都跑一遍,如果/agents能列出你声明的code-reader和doc-searcher,说明配置生效了。如果列不出来,先别急着改 Key,往下看验证和排障。

4. 验证请求与 agents 列表是否正常返回

配置写完不代表生效,得实际发一次请求验证。这一步的目标是确认三件事:endpoint 通、Key 有效、agents 列表能正常返回。

最直接的验证是跑一次最小调用。在 shell 里执行:

curl -s https://taotoken.net/api/v1/messages \ -H "x-api-key: sk-你的TaoToken密钥" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "claude-sonnet-4-20250514", "max_tokens": 64, "messages": [{"role": "user", "content": "ping"}] }'

如果返回里带content字段和正常文本,说明 endpoint 和 Key 都没问题。如果返回 401,是 Key 的问题;如果连接超时或报 local proxy failed,是 endpoint 或本地网络配置的问题。这一步把认证问题和网络问题彻底分开,后面排查就不会混。

认证通了之后,回到 Claude Code 里验证 agents 列表。先执行:

claude agents

正常返回应该能看到你配置的 agent 名称和描述。如果这里报reading choices相关错误,通常是配置文件格式有问题,比如 JSON 少了逗号、TOML 段落写错,或者 model 字段填了不存在的模型名。把配置贴进任意 JSON/TOML 校验器过一遍,能快速定位。

再进交互模式跑一次:

claude

进去后输入/agents,对比两次输出是否一致。一致说明配置在两种模式下都生效。然后触发一次 subagent 调用,比如让它读一个文件,再去看 transcript 目录:

ls -lt ~/.claude/projects/*/*/subagents | head

能看到新生成的子目录和 agent id,说明 subagent 机制正常工作。整个链路就通了:endpoint 指向 TaoToken,Key 认证通过,agents 列表正常返回,subagent 调用留下记录。

提示:验证阶段建议用最小请求,别一上来就跑大任务。小请求返回快,出错信息也更干净,排查成本低。

如果这一步全部通过,你就有了一条可复用的验证流程。以后换 Key、换模型、加新 agent,都按这个顺序走一遍即可。

5. 常见报错排查:401、local proxy failed、reading choices

这一节对照真实报错逐个拆。每个报错都给出触发原因和对应动作,照着做基本能定位。

401 未授权。返回体里通常带authentication_error或invalid api key。原因有三种:Key 拼错、Key 已失效、Key 没带上。检查顺序是先确认环境变量ANTHROPIC_API_KEY的值和 TaoToken 控制台里的一致,再确认请求头里确实带了x-api-key。如果用的是配置文件里的env段,确认 Claude Code 读取的是你改的那个文件,而不是另一个路径下的旧配置。改完重启 Claude Code 再试。

local proxy failed。这个报错说明请求根本没发到 TaoToken,卡在本地代理或网络层。常见原因是ANTHROPIC_BASE_URL写成了本地地址,或者系统里残留了指向本地的代理设置。检查配置里的 Base URL 是不是https://taotoken.net/api,再检查 shell 里有没有HTTP_PROXY、HTTPS_PROXY之类的环境变量指向了不可用的地址。清掉这些变量再跑一次 curl 验证。

reading choices 相关错误。这类错误出现在解析响应或配置时,通常是 agent 配置的 model 字段填了不存在的模型 ID,或者 agents 段落结构不对。对照第 3 节的 JSON/TOML 片段逐字段核对,重点看 model 名是否和控制台一致、agents 下每个子项的description和prompt是否齐全。格式错误用校验器一跑就现形。

OAuth 相关报错。如果你之前用过 OAuth 方式登录,配置里可能残留了旧的认证字段,和新的 Key 认证冲突。把配置里跟 OAuth 有关的字段清掉,只保留 Base URL、Key、Model ID 三件套。三件套齐全且一致,是避免这类冲突的最简做法。

agents 列表为空。命令能跑但什么都不返回,说明配置没被加载。确认配置文件放在 Claude Code 会读取的路径下,用户级在~/.claude/,项目级在项目根目录的.claude/。放错位置等于没写。

把这几类报错和动作整理成对照表,排查时直接查:

报错大概率原因对应动作
401Key 错/失效/未带核对 Key,确认请求头
local proxy failedBase URL 错或本地代理残留改回 TaoToken endpoint,清代理变量
reading choices配置格式或 model 名错校验 JSON/TOML,核对模型 ID
OAuth 冲突旧认证字段残留只保留三件套
列表为空配置文件路径错放到正确目录

排查的核心逻辑始终是:先分认证和网络,再分配置和模型。分清楚层次,就不会在一个方向上死磕。

6. 把 agents 排查固化成日常习惯

跑通一次之后,建议把验证流程固化成几条命令,放进你的日常检查清单。每次换 Key、加 agent、升级 Claude Code 版本后,按顺序跑一遍:先 curl 最小请求确认认证,再claude agents确认列表,最后触发一次 subagent 调用确认 transcript 生成。三步都过,说明链路健康。

对于长期跑编码和 Agent 任务的场景,把 endpoint 统一到 TaoToken 后,Key 和模型管理都收敛到一处,排查时变量更少。需要看模型可用性去模型对话入口,需要建 Key 去 API Keys 页面,需要查接入细节去文档。Coding Plan 适合高频调用,Claude Code 相关的接入说明在文档里也有对应章节。

最后留一个实用习惯:把~/.claude/projects/*/*/subagents这个路径记下来,遇到 subagent 行为异常时,直接读 transcript 文件,比猜要快得多。agents 和 subagents 的排查,本质就是把配置、认证、记录三样东西对齐,对齐了,问题自然浮出来。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进