
你在 AnythingLLM 里按 Agent Skills 规范建好 weixin-document-expert 和 SKILL.md 后执行公众号润色仍然报模型请求失败TaoToken 官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentarticle_top 提供 Key 与 Base URL用来把 AnythingLLM 或 Claude 兼容客户端的请求接到可用模型通道。本文不从 Agent Skills 的概念重新讲起而是直接处理接入配置里最容易卡住的一环Skill 能识别、指令能加载但真正调用 Claude 兼容模型执行润色时Key、Base URL、模型名或请求路径没有对齐。TaoToken 在这里只提供可用的 Key 和 Base URL不替代 SKILL.md 里的润色 SOP润色风格、输出格式、标题备选规则仍然由你的 SKILL.md 决定。下面按“先定位问题、再创建 Skill、再配 TaoToken、再验证请求”的顺序展开。原问题与场景AnythingLLM 里 SKILL.md 能触发执行润色仍卡在模型请求很多人在 AnythingLLM 的storage\plugins\agent-skills下创建了weixin-document-expert文件夹也写了SKILL.md但实际输入公众号草稿时还是跑不起来。常见表现不是 SKILL.md 语法错误而是模型请求没有返回界面一直转圈、提示 API Key 无效、返回 404、提示模型不存在或者只给出一段普通聊天式回答完全没有触发润色 SOP。这里要先分清两层。第一层是 Agent Skills 的加载机制。SKILL.md里的 name 和 description 会在启动时被读取用于判断这个 Skill 是否与当前请求匹配当用户明确提出“公众号润色”“标题备选”“提升转发”等意图时Agent 才加载更完整的指令。这个机制就是渐进式信息披露它的价值在于减少无关指令常驻上下文让 Agent 不必一开始就把所有 SOP 都塞进请求。第二层才是模型执行。Skill 本身不是模型SKILL.md也不是模型权重。它只是一份结构化的工作流说明。真正执行润色时仍然要由 Claude 兼容模型读取你的草稿、理解指令、生成润色正文、生成标题备选并输出修改要点。这些推理和输出动作会消耗 Token。也就是说渐进式披露能优化“指令加载”的成本但不会消除“执行润色”本身的模型调用成本。所以当你看到“Token 成本高”或“润色跑不起来”时不要把问题全部归到 SKILL.md 上。先确认 Skill 是否触发再确认模型通道是否配通。如果 Key、Base URL、模型名没有对齐Skill 写得再细也只能停在触发阶段无法得到润色结果。本文的重点就是把 AnythingLLM 到 TaoToken 的模型通道接上让weixin-document-expert真正执行。在 AnythingLLM 创建 weixin-document-expert 与 SKILL.md先保留原教程里最有用的部分在 AnythingLLM 中创建 Skill 文件夹和SKILL.md。不同系统的 AnythingLLM 安装目录不一样你需要进入实际安装目录再找到子目录storage\plugins\agent-skills在这个目录下新建文件夹名称建议使用小写和连字符例如weixin-document-expert注意文件夹名称要和SKILL.md里的 name 对齐否则 Agent 在匹配和加载时可能找不到对应关系。接着进入weixin-document-expert文件夹新建标准文件名SKILL.md文件名建议保持大写SKILL.md不要写成skill.md或Skill.md避免在大小写敏感或插件扫描规则不一致时漏读。SKILL.md至少包含 YAML frontmatter 和 Markdown 指令。下面是一个精简示例你可以按自己的公众号润色流程扩展--- name: weixin-document-expert description: 当用户需要对公众号草稿做润色、结构优化和标题备选时触发。 --- # 公众号润色工作流 当用户要求“公众号风格润色”“提升阅读感”“优化标题”时按以下流程执行 1. 读取草稿识别目标读者和核心情绪但不编造事实。 2. 保留作者原意调整段落节奏短句优先减少公文腔。 3. 输出润色后的正文适合直接复制到公众号编辑器。 4. 输出 3 到 5 个标题备选覆盖情绪型、利益型、共鸣型。 5. 输出修改要点只说明调整方向不改变用户核心立场。 6. 不添加虚构数据、虚构经历和未经用户提供的案例。这个示例的重点不是把 SOP 写得多复杂而是让 description 能准确告诉 Agent 何时触发让正文指令能告诉 Agent 触发后如何输出。description 太短、太泛比如只写“文档处理”Agent 很难判断该不该加载description 太窄又可能在你输入“改标题”时错过触发。创建完成后建议重启 AnythingLLM或者在插件/技能相关页面刷新一次让新的weixin-document-expert被扫描到。如果界面有技能列表先确认列表里能看到它。看不到时优先检查路径是不是storage\plugins\agent-skills\weixin-document-expert\SKILL.md以及SKILL.md是否放在文件夹根目录而不是多套了一层目录。TaoToken 前置先创建 KeyBase URL 只填 https://taotoken.net/apiSkill 创建好之后下一步不是继续改 SOP而是把执行润色所需的模型通道配通。执行润色前先去 TaoToken 创建 Key。入口可以从官网控制台进入https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite也可以直接打开 API Keys 页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite创建 Key 后把它保存到安全位置。本文的示例里统一写成YOUR_API_KEY不要把YOUR_API_KEY当成真实 Key 填进去也不要把它提交到公开仓库。建议为 AnythingLLM 单独创建一个 Key后续如果出现异常可以单独停用不会影响你在其他客户端上的配置。在 AnythingLLM 或 Claude 兼容的模型设置里需要填两个关键值API Key填你在 TaoToken 创建的 Key。Base URL填https://taotoken.net/api。这里要特别强调Base URL 不要加/v1也不要填官网地址。官网地址是控制台和文档入口不是模型请求地址。https://taotoken.net/api才是本文要求填写的 API Base URL。如果你把它写成https://taotoken.net/api/v1某些客户端会自动再拼一次版本路径导致请求路径重复最后表现为 404 或模型不存在。TaoToken 在这里只提供可用的 Key 和 Base URL不替代SKILL.md里的润色 SOP。你的公众号润色规则、标题备选数量、输出格式、禁止行为仍然由SKILL.md决定。Key 和 Base URL 解决的是“模型请求能不能发出去”不是“润色风格好不好”。可复制配置AnythingLLM 与 Claude 兼容模型设置AnythingLLM 不同版本的设置界面略有差异但核心字段是一致的。进入 Settings找到 LLM Preference 或模型提供商设置选择 Anthropic/Claude 兼容入口或者你的版本里对应的 Claude 模型配置项。然后按下面方式填写Provider: Anthropic / Claude Compatible API Key: YOUR_API_KEY Base URL: https://taotoken.net/api Model: MODEL_ID Max Tokens: 按润色任务长度设置 Temperature: 0.3 到 0.7 之间按风格调整其中MODEL_ID不要凭记忆填写要以 TaoToken 控制台当前可用的模型列表为准。模型名写错时常见报错是 model not found、invalid model 或 404。Max Tokens 如果太小长文润色可能输出到一半被截断如果太大又可能让一次请求的输出成本变高。公众号草稿较长时可以分段润色再让模型做一次合并和标题生成。如果你的 AnythingLLM 版本只提供 OpenAI Compatible 入口也要以界面实际要求为准但核心原则不变API Key 用 TaoToken KeyBase URL 用https://taotoken.net/api不要填官网地址也不要自己额外追加/v1。若界面有“自动添加 /v1”的选项需要根据报错判断是否与当前兼容模式冲突。最稳妥的方式是优先选择 Anthropic/Claude 兼容入口因为本文的 Skill 执行目标是 Claude 兼容模型。如果你同时使用 Claude Code配置方式不同。Claude Code 通常看settings.json关键环境字段是ANTHROPIC_BASE_URL、ANTHROPIC_API_KEY、ANTHROPIC_MODEL。示例结构如下{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: YOUR_API_KEY, ANTHROPIC_MODEL: MODEL_ID } }无论你是在 AnythingLLM 里配还是在 Claude 兼容客户端里配保存后都要重启对应进程。很多“配置明明填了但没生效”的情况其实是旧进程还在使用旧环境变量或旧设置缓存。验证请求与成功结果输入公众号草稿触发 weixin-document-expert配置完成后不要先拿长文测试。先用一段短草稿验证模型通道是否走通。新建一个 AnythingLLM 对话确认当前模型是你刚刚配置的 Claude 兼容模型然后输入类似下面的内容请用公众号风格润色下面这段草稿并给出标题备选。 最近我在整理 Agent Skills 的接入流程。很多人卡在 SKILL.md 能触发但模型请求失败。本文想讲清 Base URL 和 Key 怎么配以及怎么确认润色请求真的走通。如果你的description写得合适Agent 应该能识别“公众号风格润色”和“标题备选”这两个意图进而触发weixin-document-expert。成功结果通常包含三部分润色后的公众号正文语言比原草稿更利落段落节奏更清楚。3 到 5 个标题备选最好覆盖不同情绪或利益角度。修改要点清单说明做了哪些表达调整但不改变你的核心意思。只要这三类内容出现就说明至少有两个环节已经通了Skill 被触发模型请求也成功返回。接下来再去 TaoToken 控制台查看请求记录或用量变化确认请求确实来自 AnythingLLM 这次对话。不要只看前端有没有 loading也不要只看模型有没有说话有些失败场景下前端会显示一条兜底回复但实际请求并没有按你的 Skill 执行。如果返回的是普通回答比如只改了句子但没有标题备选也没有修改要点优先怀疑 Skill 没有触发或没有加载完整指令。回去检查SKILL.md的 description 是否包含“公众号”“润色”“标题备选”等触发词以及文件夹名和 frontmatter 的 name 是否一致。如果直接报 401、403、404 或 model not found则优先检查 Key、Base URL 和模型名不要继续改润色 SOP。本篇常见错排查Base URL、/v1、模型名与 SKILL.md 触发条件围绕 AnythingLLM、SKILL.md和 TaoToken 接入最常见的错误集中在下面几类。第一类Base URL 填错。把 Base URL 写成官网地址https://taotoken.net/请求会打到页面入口而不是 API 入口。把 Base URL 写成https://taotoken.net/api/v1某些客户端会再次拼接/v1最后请求路径变成重复版本号。本文要求填的是https://taotoken.net/api不要加/v1也不要填官网地址。第二类API Key 复制错误。Key 前后有空格、换行、引号或者复制时漏掉字符都会导致 401 或 403。建议重新创建 Key 后直接粘贴不要手动输入。如果 AnythingLLM 有“测试连接”按钮先测试连接再回到对话里验证 Skill。第三类模型名写错。MODEL_ID不是固定不变的也不要用网上看到的旧示例硬填。以 TaoToken 控制台可用列表为准。模型名错误时即使 Key 和 Base URL 正确也会报模型不存在或权限不足。第四类SKILL.md没被正确加载。检查路径是否为storage\plugins\agent-skills\weixin-document-expert\SKILL.md文件名是否大写文件夹名是否与 frontmatter 的 name 一致。改完SKILL.md后重启 AnythingLLM避免旧缓存继续生效。第五类description 无法触发。description 太抽象时Agent 不知道什么时候该加载这个 Skill。可以写成“当用户需要对公众号草稿做润色、结构优化和标题备选时触发”并在测试时明确说“公众号风格润色”“给标题备选”不要只发一句“帮我改改”。第六类Token 成本没有预期下降。需要理解一点渐进式信息披露节省的是指令常驻上下文不是模型输出成本。润色长文、生成多个标题、输出修改要点都会消耗 Token。要控制成本可以把长文分段限制标题备选数量减少无关历史对话并选择适合当前任务的模型。Base URL 改到 TaoToken 后请求变得可观测你可以在控制台看用量但 TaoToken 不替代SKILL.md里的润色 SOP也不会替你决定文章该怎么改。第七类配置改了但没重启。AnythingLLM、Claude 兼容客户端、环境变量都有缓存可能。保存 Key、Base URL、模型名后重启进程再测试。尤其是 Windows 下修改系统环境变量后已经打开的终端和客户端不会自动读取新值。语义一致 CTAAPI Keys、接入文档与模型对话如果你正在处理 AnythingLLM 的接入配置和排障优先从 API Keys 与接入文档开始。API Keys 页面用于创建和管理 TaoToken Key接入文档用于核对 Base URL、模型名和兼容方式https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewritehttps://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite如果你要确认模型本身是否可用建议先到模型对话里发一条短消息排除 AnythingLLM 插件层和 Skill 触发层的干扰https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite如果你准备长期把 Agent Skills 用在编码、自动化或复杂工作流里可以进一步查看 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite回到本篇场景关键动作只有几个在 AnythingLLM 的storage\plugins\agent-skills下创建weixin-document-expert和SKILL.md让 Agent 在公众号润色请求出现时加载指令然后去 TaoToken 创建 Key把 Base URL 填成https://taotoken.net/api不要加/v1不要填官网地址最后用一段公众号草稿触发 Skill检查是否返回润色正文、标题备选和修改要点。只要这三步对齐Skill 负责 SOPTaoToken 负责模型通道润色请求就能真正跑起来。