1. 先把这七个词摆到同一张桌子上
LLM、Prompt、Memory、MCP、Skills、Agent、OpenClaw,这七个词经常被混在一起讲,导致很多人学完一圈还是不知道它们各自管什么。我换个说法:把整套系统当成一家餐厅。LLM 是厨师,Prompt 是你递给他的点菜单,Memory 是后厨记着的“这位客人不吃香菜”,MCP 是连接仓库和外卖平台的标准化接口,Skills 是菜谱流程,Agent 是店长,OpenClaw 是你自己开的这家店。
这样一分,你会发现它们不是替代关系,而是层层叠加。LLM 负责“会说”,MCP 和工具让它“能做”,Memory、Skills、Agent 决定它“做得稳不稳”,OpenClaw 把这一整套装进你自己的机器里。而 TaoToken 在这里的角色,是给上面所有需要调用模型的环节提供一条统一的 Key/API 通道——你不用在每个组件里分别填不同的地址和密钥,改一处就能全局生效。
这篇按七步走,每一步都给你可复制的配置片段和验证动作。你不需要一次全懂,跟着顺序跑通一遍,概念自然就落地了。适合谁?写过一点 Python、装过 Node、想让 AI 真正帮自己干活的开发者;也适合已经用过聊天框、但搞不清 MCP 和 Skills 区别的人。
先说清楚一件事:这七步不是必须全上。很多人卡在第三步就够用了。但如果你想从“问一句答一句”走到“发一句话它自己跑完”,那后面四步迟早要碰。
2. 第一步到第三步:LLM、Prompt、Memory 的边界与 TaoToken 接入位置
2.1 LLM 是引擎,不是产品
LLM 的本质是“根据上文预测下一个 token”。它能写、能改、能总结,但默认有三个硬限制:不知道实时信息、不能直接操作外部系统、对话结束不记得你。这不是 bug,是它的工作方式决定的。所以后面六步,本质上都是在给它补这三块短板。
调用 LLM 最直接的方式就是发一个 HTTP 请求。这里就引出 TaoToken 的接入位置:它是一个统一的 API 通道,你拿一个 Key,就能在同一个 Base URL 下调用不同模型,不用为每个模型单独申请账号、记不同的地址。
2.2 Prompt 是你下达任务的方式
同一个模型,Prompt 不同,结果差很远。“帮我做个旅行计划”是泛指令;“我吃素,预算 1000,周末两天从上海出发,不爬山,想安静点”是带约束的指令。后者结果明显更可用。Prompt 不需要什么玄学技巧,核心就一句:把约束讲清楚。
2.3 Memory 分短期和长期
单次对话里的上下文是短期记忆,把用户偏好写进数据库是长期记忆。有了长期记忆,AI 下次不用从头问你。短期记忆靠上下文窗口,长期记忆靠你自己存。
2.4 用 TaoToken 统一 Key 通道跑通前三步
先拿 Key。打开 https://taotoken.net/api-keys ,登录后创建一个 API Key,复制保存。注意它只显示一次。
然后配置环境变量。Linux/macOS 写进~/.bashrc或~/.zshrc,Windows 用系统环境变量:
export TAOTOKEN_API_KEY="sk-你的key" export TAOTOKEN_BASE_URL="https://taotoken.net/api"验证一下是否生效:
echo $TAOTOKEN_BASE_URL应该输出https://taotoken.net/api。如果为空,说明没写进当前 shell,重新 source 一下配置文件。
接着用 curl 发一个最小请求,确认通道通:
curl https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer $TAOTOKEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-4o-mini", "messages": [ {"role": "system", "content": "你是一个简洁的助手"}, {"role": "user", "content": "用一句话说明什么是 Prompt"} ] }'返回里能看到choices[0].message.content就说明通了。这一步同时验证了三件事:Key 有效、Base URL 正确、模型可调用。后面所有组件,只要支持自定义 Base URL,都填这两个值。
注意:Base URL 填
https://taotoken.net/api,不要多加/v1,具体路径由各客户端自己拼。填错是最常见的 404 来源。
到这里前三步就闭环了:LLM 在跑,Prompt 在控制输出,Memory 暂时靠你手动拼进 messages。下一步开始接外部能力。
3. 第四步 MCP:把“能做”标准化,附可复制配置
3.1 MCP 解决的是什么问题
没有 MCP 之前,AI 要接日历、文件、数据库,每接一个都得单独写对接代码,换个模型还得重写。MCP 是 Anthropic 提出的开放协议,把这些对接方式统一成一套标准:工具方实现一个 MCP Server,AI 侧用 MCP Client 去连,双方按同一套协议说话。迁移和维护成本一下就降下来了。
3.2 在客户端里配置 MCP Server
以 Cline 为例,它支持在设置里配 MCP Server。配置文件通常是 JSON,路径在 Cline 的 MCP 设置面板里能看到。下面是一个可复制的片段,接一个文件系统 Server:
{ "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/Users/yourname/projects" ] } } }如果你用的是 Claude Code,配置写在项目根目录的.mcp.json里,结构类似:
{ "mcpServers": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "./data"] } } }3.3 让 MCP 背后的模型调用走 TaoToken
MCP Server 本身不调模型,调模型的是客户端。所以你要在客户端里把模型通道指向 TaoToken。以 Cline 为例,在 API 配置里选 “OpenAI Compatible”,然后填三件套:
| 配置项 | 填写值 |
|---|---|
| Base URL | https://taotoken.net/api |
| API Key | 你的 TaoToken Key |
| Model ID | 例如claude-3-5-sonnet-20241022或gpt-4o |
这三件套是后面所有客户端的通用公式,记住它。Codex 的auth.json也是同样思路,把 base_url 和 key 换成 TaoToken 的值即可。
3.4 验证 MCP 是否真的连上
配好后重启客户端,在对话里问一句:“列出我 projects 目录下的文件”。如果它调用了 filesystem 工具并返回真实文件名,说明 MCP 通了。如果它只是编了一段文件名,说明工具没挂上,回去检查 JSON 路径和 npx 是否能执行。
npx -y @modelcontextprotocol/server-filesystem --help这条命令能跑出帮助信息,说明 Server 本身没问题,问题在客户端配置。
4. 第五步到第七步:Agent、Skills、OpenClaw 怎么串起来
4.1 Agent 是“会拆任务并执行闭环”的系统
Agent 的常见组成是四块:LLM 负责理解生成,Memory 记住上下文,规划能力拆任务排序,工具调用真正执行。你说“帮我安排这周末苏州行”,它会自己走:查日历、比车次、筛餐厅、生成行程,必要时回头调整。它和普通对话的区别就在于“闭环”——不是给你一段建议,而是把事做完。
4.2 Skills 是流程模板,不是单个工具
这里最容易混。Tools 是单个能力,比如“订票”“发邮件”;Skills 是流程模板,规定“先做什么再做什么”。很多系统里 Skill 就是一份 Markdown,写清某类任务的步骤和检查点。只有订票工具时,AI 可能直接下单;有旅行 Skill 时,它会先确认预算和时间窗口,给候选方案,等你确认再执行,最后回传行程单。
一个 Skill 的 Markdown 大概长这样:
# 旅行规划 Skill ## 触发条件 用户提到“安排行程”“周末去哪” ## 执行步骤 1. 确认预算、出发地、时间窗口 2. 查询目的地天气 3. 给出 2-3 个候选方案,等待用户确认 4. 确认后生成详细行程单 ## 检查点 - 未确认预算前不得直接推荐具体消费项 - 涉及订票必须二次确认4.3 OpenClaw 是把整套能力落到本地的一层
OpenClaw 是在本地运行的 AI 助手,前面接聊天入口(微信、Telegram 等),后面接 LLM 与 MCP 工具,核心逻辑跑在你自己的机器上。它像个网关:消息进来,路由到模型和工具,结果回到聊天窗口。你在手机上发一句“周末帮我安排个短途”,家里电脑完成查询规划,结果回到聊天框。
它受欢迎是因为本地部署、能接真实工作流、可跨平台触发。风险也实际:一旦它拿到文件、终端或账号权限,安全边界必须认真做。权限给多少、怎么隔离、日志怎么审计,这些不能省。
4.4 把 OpenClaw 的模型通道指向 TaoToken
OpenClaw 支持自定义模型端点。在它的配置文件里(通常是config.yaml或.env),把模型通道设成 TaoToken:
model: provider: openai-compatible base_url: "https://taotoken.net/api" api_key: "${TAOTOKEN_API_KEY}" model_id: "claude-3-5-sonnet-20241022"这样 OpenClaw 里所有 Agent 调用、Skill 执行时需要的模型请求,都走同一条通道。你换模型只改model_id一行,不用动其他配置。
4.5 验证整条链路
启动 OpenClaw 后,在聊天入口发一句:“现在几点,顺便看看我 data 目录有几个文件”。如果它既回答了时间(调工具),又列出了真实文件(走 MCP),说明 LLM、MCP、Agent、OpenClaw 四层都通了。这一步跑通,七步闭环就完成了。
5. 常见报错排查:401、local proxy failed、reading choices、OAuth
配这套东西,报错基本集中在几个地方。下面按真实错误对照排查。
401 Unauthorized:Key 错了或没带上。先确认环境变量里TAOTOKEN_API_KEY有值,再确认请求头是Authorization: Bearer sk-xxx,注意 Bearer 后面有空格。如果 Key 是从网页复制的,检查有没有多复制空格或换行。
local proxy failed / connection refused:客户端连不上 Base URL。检查https://taotoken.net/api是否拼错,有没有多加/v1。如果你本地开了其他网络工具,先关掉再试,避免端口冲突。
reading 'choices' of undefined:请求发出去了,但返回结构不对。通常是模型名写错,或者返回的是错误对象而不是正常响应。把 curl 的原始返回打出来看,error字段会告诉你原因。常见是 Model ID 拼错,比如把claude-3-5-sonnet-20241022写成claude-3.5-sonnet。
OAuth 相关报错:多见于 Claude Code 或 Codex 这类带登录态的客户端。如果你用的是 API Key 模式,确保没有同时启用 OAuth 登录,两者会冲突。在配置里明确指定用 API Key,并填全三件套:Base URL、Key、Model ID。
MCP 工具不触发:模型没调用工具,通常是工具描述没被正确加载。检查 MCP Server 是否真的启动,用npx -y @modelcontextprotocol/server-filesystem --help验证。另外确认客户端里 MCP 是启用状态,有些客户端默认关闭。
Skill 不生效:Skill 文件没被加载,或触发条件没匹配上。检查文件路径是否在客户端扫描范围内,触发关键词是否和你的输入一致。可以先手动在对话里说“使用旅行规划 Skill”,强制触发一次。
排查顺序建议:先 curl 验证通道,再验证客户端配置,最后验证工具和 Skill。一层层来,别一次改多个地方。
6. 按七步顺序跑通后,你手里有什么
走到这里,你手里其实是一套可复用的结构:LLM 提供理解和生成,Prompt 控制输入,Memory 维持连续性,MCP 接外部工具,Skills 固化流程,Agent 负责拆解执行,OpenClaw 把这一切装进本地。而 TaoToken 是贯穿其中的那条 Key 通道——从第一步的 curl,到第四步的 MCP 客户端,再到第七步的 OpenClaw,Base URL 和 Key 始终是同一组值。
如果你只想先跑通最小闭环,建议顺序是:先拿 Key 跑通 curl(第一步到第三步),再配一个 MCP Server(第四步),最后接 OpenClaw(第七步)。Agent 和 Skills 可以等前五步稳定后再加。
需要继续深入的话,模型对话入口在 https://taotoken.net/models ,接入文档在 https://taotoken.net/doc ,长期编码和 Agent 场景可以看 https://taotoken.net/coding-plan 。配置过程中卡住,优先回看第五节的报错对照,大部分问题都在那四类里。