尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

claude-code-templates不是CLI工具:它是可复用的AI代码生成工作流模板

claude-code-templates不是CLI工具:它是可复用的AI代码生成工作流模板 1. 这不是又一个 CLI 工具Claude-Code-Templates 的真实定位与误用重灾区“claude-code-templates”——光看这个名字绝大多数人第一反应是“哦Anthropic 官方出的 Claude 代码生成 CLI 工具”接着就去npm install -g claude-code-templates然后发现命令不存在或者搜到某个 GitHub 仓库git clone下来npm install npm run dev结果卡在unable to locate the codex cli binary再一查npm warn deprecated node-domexception1.0.0心里咯噔一下这玩意儿还能用吗更有人在 Windows 上敲npm install直接报错无法加载文件 ...npm.ps1因为在此系统上禁止运行脚本当场放弃。我必须先说清楚claude-code-templates不是一个可直接安装、开箱即用的 CLI 命令行程序它本质上是一套面向开发者的工作流模板集合核心价值在于“结构化复用”而非“一键调用 API”。这个认知偏差是所有后续踩坑的根源。它和create-react-app或vite create的定位类似——你不会npm install -g create-react-app然后输入create-react-app my-app就立刻跑起一个 React 应用你真正执行的是npx create-react-app my-app背后是临时拉取模板、注入配置、初始化项目。claude-code-templates同理它提供的是template.json、prompt.md、package.json骨架、预设的.gitignore和README.md结构甚至包含针对 MCPModel Context Protocol协议的mcp-server配置示例但它本身不包含anthropicSDK 的封装逻辑也不内置api.anthropic.com的连接层。为什么这个区别如此关键因为所有热词里反复出现的unable to connect to anthropic services、failed to connect to api.anthropic.com、mac claude cli 用 qwen key都暴露了一个事实大量使用者把模板当成了“代理客户端”试图绕过 Anthropic 官方认证体系用非官方密钥比如通义千问的 key去“骗过”模板里的请求逻辑。这是完全走偏的方向。模板的价值在于帮你快速搭建一个符合 Anthropic 最佳实践的、可审计、可协作、可版本化的代码生成环境。它默认假设你已拥有合法的ANTHROPIC_API_KEY并已理解其作用域与配额限制。那些npm : 无法将“npm”项识别为 cmdlet的报错恰恰说明用户连 Node.js 环境的基础校验都没过却已在幻想调用大模型 API——这就像还没学会拼写就在构思长篇小说。我见过最典型的误用场景是某团队把claude-code-templatesclone 下来删掉所有mcp相关文件只留下prompt.md然后手动复制粘贴进 Claude Web 界面。他们以为省去了“CLI”的麻烦实则丧失了模板最核心的资产上下文一致性管理。prompt.md里定义的“角色设定”、“输出格式约束”、“错误处理指令”、甚至“代码块语言标识符的强制规范”只有在与mcp-server或自研调度器集成时才能被稳定、可复现地注入到每一次 API 调用中。手工粘贴每次都要重新检查、手动补全出错率极高。而claude-code-templates的scripts/generate.js示例脚本正是为了演示如何将这些静态模板与动态参数如当前 Git 分支、文件路径、用户输入安全拼接再交由anthropicSDK 发起请求。它的存在不是为了替代你写代码而是为了让你写的每一行调用代码都自带“工程化基因”。所以如果你此刻正被npm install claude-code-templates报错困扰或者纠结于codex cli是什么先停下来。这不是你的环境问题而是你对这个项目的根本定位产生了误解。接下来的内容我会带你从零开始亲手搭建一个真正可用、可维护、能规避所有热词里高频报错的claude-code-templates实战环境。它不依赖任何神秘的codex cli不挑战 Windows 的 PowerShell 执行策略也不需要你去破解api.anthropic.com的连接限制——它只依赖你已有的node、npm和一个合法的 API Key。这才是它该有的样子。2. 拆解骨架claude-code-templates仓库的真实文件结构与每个文件的不可替代性当你git clone下来一个标着claude-code-templates的仓库注意目前 Anthropic 官方并未发布同名 npm 包所有npm install claude-code-templates的尝试都会失败你看到的不是一个“程序”而是一个精心设计的“开发蓝图”。它的价值90% 都藏在那些看似平淡无奇的文件名和目录结构里。我把它完整拆解给你看每一个文件都不是摆设删掉任何一个都会让整个工作流出现难以察觉的裂痕。首先根目录下的template.json是整个模板的“宪法”。它不是配置文件而是元数据声明。里面定义了name模板的唯一标识用于npx调用时的识别description对模板用途的精准描述直接影响npx create-*命令的提示信息version语义化版本号决定了npx缓存策略和更新行为files一个数组明确列出哪些文件会被npx复制到新项目中。这里没有node_modules没有dist只有源码骨架。这意味着你永远不必担心模板自身依赖污染你的项目。紧随其后的是prompt.md这是整个工作流的“灵魂”。它远不止是一个提示词草稿。我打开一个典型版本你会发现它被严格划分为几个区块# Role Context明确定义 Claude 在本次任务中的身份如“资深前端架构师”和当前上下文如“正在为一个使用 Vite 构建的 Vue 3 项目编写组件”。这个区块会被scripts/generate.js动态注入当前项目的真实信息Git commit hash、package.json version确保每次生成都基于最新状态。## Input Requirements用清晰的 bullet points 列出 Claude 必须接收的输入例如Current file path: {{filePath}}、Users specific request: {{userRequest}}。这里的{{}}占位符是generate.js解析的入口保证了提示词与实际运行时数据的强绑定。### Output Format这是最容易被忽略、却最关键的部分。它强制规定输出必须是 Markdown 格式并且代码块必须用语言标识typescript所有非代码内容必须用引用块包裹。这个约定使得后续的postprocess.js脚本能自动提取、校验、保存生成的代码无需人工干预。热词里频繁出现的claude code cli 怎么避开每次确认的动作答案就在这里——通过Output Format的机器可读性实现全自动解析根本不需要“确认”。package.json则是“契约”。它不包含dependencies只定义devDependencies和scripts。其中scripts是精华generate: node scripts/generate.js主入口调用核心逻辑postprocess: node scripts/postprocess.js负责清洗、格式化、保存生成结果lint:prompt: markdownlint prompt.md用markdownlint检查prompt.md的语法和风格确保提示词质量可控。这个lint:prompt脚本的存在直接回答了“为什么我的提示词总是效果不好”的问题——它把提示工程变成了可测试、可审查的软件工程实践。scripts/目录下的两个 JS 文件是整个模板的“引擎”。generate.js的核心逻辑只有三步参数收集从process.argv或inquirer交互式获取filePath、userRequest模板渲染用fs.readFileSync读取prompt.md用正则或mustache替换{{}}占位符API 调用构造anthropic.messages.create()的参数对象发送请求。这里的关键是它不硬编码 API Key而是读取process.env.ANTHROPIC_API_KEY。这意味着你只需在.env文件里设置一次所有调用都自动生效彻底规避了npm : 无法将“npm”项识别为 cmdlet这类因环境变量未配置导致的连锁报错。最后mcp/目录是面向未来的“接口”。它包含server.js和protocol.json。server.js是一个极简的 Express 服务监听/mcp/execute端点接收符合 MCP 协议的 JSON-RPC 请求并将其转发给generate.js的逻辑。protocol.json则定义了这个服务支持的method如code.generate、params参数结构和result返回格式。这就是为什么热词里有mcp server、blender mcp、playwright mcp——它们不是claude-code-templates的功能而是它的“扩展接口”。你可以把这个mcp-server集成到 Obsidian 插件、VS Code 扩展甚至 Burp Suite 的插件中让任何支持 MCP 的工具都能调用你定制的 Claude 代码生成能力。它不解决unable to connect to anthropic services但它让你有能力把连接逻辑封装起来统一管理、统一监控、统一熔断。所有这些文件共同构成了一条完整的、可追溯的、可审计的代码生成流水线。它不承诺“一键魔法”但承诺“每一步都清晰可见”。当你理解了这个骨架那些npm install报错、codex cli不存在、api.anthropic.com连接失败的问题就自然转化为了一个个具体的、可解决的工程问题是环境变量没配是prompt.md的占位符写错了还是mcp-server的端口被占用了这才是claude-code-templates真正想教会你的东西。3. 从零构建绕过所有 npm 陷阱的本地化部署实战Windows/macOS/Linux 通用现在我们抛开所有关于npm install claude-code-templates的幻想从一个干净的文件夹开始亲手搭建一个 100% 可用的claude-code-templates环境。这个过程会彻底解决你搜索热词时遇到的 90% 的报错包括npm : 无法加载文件 ...npm.ps1、npm : 无法将“npm”项识别为 cmdlet、unable to locate the codex cli binary。关键在于我们不安装任何全局 CLI所有操作都在本地项目内完成且完全兼容 Windows PowerShell、macOS Terminal 和 Linux Bash。3.1 环境准备只做三件事拒绝一切“npm 全局安装”陷阱第一步确认node和npm已正确安装。打开终端Windows 用户请务必使用PowerShell不是 CMD输入node -v npm -v如果返回类似v20.11.0和10.2.4的版本号说明基础环境 OK。如果报错npm : 无法将“npm”项识别为 cmdlet这通常意味着npm的路径没有加入系统PATH。不要慌不要去网上搜“如何修复 PowerShell 执行策略”那是在给自己挖更大的坑。正确做法是找到你的 Node.js 安装目录Windows 默认是C:\Program Files\nodejs\macOS 是/usr/local/bin/然后在 PowerShell 中临时添加$env:Path ;C:\Program Files\nodejsmacOS/Linux 用户用export PATH$PATH:/usr/local/bin。这条命令只在当前 PowerShell 窗口有效安全无害完美规避了修改系统执行策略的风险。第二步创建你的工作目录。不要用中文路径不要用空格这是所有npm报错的温床。在终端中执行mkdir my-claude-project cd my-claude-project第三步初始化一个纯净的package.json。这是最关键的一步也是所有热词里npm warn deprecated的源头。我们不用npm init -y的默认模板而是手写一个最精简的package.json{ name: my-claude-project, version: 0.1.0, type: module, scripts: { generate: node scripts/generate.js, postprocess: node scripts/postprocess.js }, devDependencies: { anthropic-ai/sdk: ^0.32.0, dotenv: ^16.4.5, inquirer: ^8.2.6, markdownlint: ^0.37.0 } }注意type: module这告诉 Node.js 使用 ES Module 语法避免require is not defined的报错。devDependencies里只放真正需要的包anthropic-ai/sdk是官方 SDKdotenv用于加载.envinquirer提供交互式提问markdownlint用于检查提示词。绝对不要安装node-domexception或其他无关的废弃包那些npm warn deprecated就是这么来的。3.2 搭建核心骨架手写prompt.md与generate.js拒绝“找不到二进制文件”现在我们手动创建claude-code-templates的核心文件。在my-claude-project目录下创建prompt.md# Role Context You are an expert TypeScript developer, reviewing code for a project using Vite and React. ## Input Requirements - Current file path: {{filePath}} - Users specific request: {{userRequest}} ### Output Format Your response must be in strict Markdown format. - All code blocks must be fenced with triple backticks and include the correct language identifier (e.g., typescript). - All non-code explanations must be wrapped in blockquotes (e.g., This is an explanation). - Do not include any additional text outside of the specified format.这个prompt.md极其精简但包含了所有必要元素。{{filePath}}和{{userRequest}}是待替换的占位符。接着创建scripts/目录并在里面新建generate.jsimport fs from fs; import path from path; import { Anthropic } from anthropic-ai/sdk; import dotenv from dotenv; import inquirer from inquirer; // 加载 .env 文件 dotenv.config(); // 初始化 Anthropic SDK const anthropic new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY, }); // 从命令行参数或交互式获取输入 const args process.argv.slice(2); let filePath args[0]; let userRequest args[1]; if (!filePath || !userRequest) { const answers await inquirer.prompt([ { type: input, name: filePath, message: Enter the path to the current file:, default: ./src/App.tsx }, { type: input, name: userRequest, message: What do you want Claude to do?, default: Add error boundary handling } ]); filePath answers.filePath; userRequest answers.userRequest; } // 读取并渲染 prompt.md const promptTemplate fs.readFileSync(path.join(process.cwd(), prompt.md), utf8); const renderedPrompt promptTemplate .replace(/{{filePath}}/g, filePath) .replace(/{{userRequest}}/g, userRequest); // 调用 Anthropic API console.log(Sending request to Claude...); const message await anthropic.messages.create({ model: claude-3-haiku-20240307, max_tokens: 1024, messages: [ { role: user, content: renderedPrompt } ] }); // 输出原始响应便于调试 console.log(\n RAW CLAUDE RESPONSE ); console.log(message.content[0].text); console.log(\n END RAW RESPONSE ); // 将原始响应写入临时文件供 postprocess.js 处理 fs.writeFileSync(./tmp_response.md, message.content[0].text);这个generate.js的设计哲学是透明、可调试、无黑盒。它不做任何自动保存或格式转换只是把 Claude 的原始响应原封不动地写入./tmp_response.md。这样当你遇到unable to connect to anthropic services时你能清晰地看到是网络超时、API Key 错误还是模型返回了空内容。它不依赖任何codex cli所有逻辑都在这 50 行 JS 里。3.3 安全接入 Anthropic.env文件的正确写法与 Key 管理最佳实践现在创建.env文件这是整个流程的安全基石# .env ANTHROPIC_API_KEYsk-ant-api03-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx重要警告ANTHROPIC_API_KEY必须以sk-ant-api03-开头这是 Anthropic v3 API 的标准前缀。任何以sk-ant-api02-或其他开头的 Key 都会直接报401 Unauthorized这是unable to connect to anthropic services的最常见原因。绝对不要把.env文件提交到 Git。在my-claude-project目录下创建.gitignore内容只有一行.env如果你在公司环境建议使用dotenv-flow或dotenv-expand来管理不同环境dev/staging/prod的 Key避免混淆。执行npm install。这一次你会看到npm安装devDependencies而不是报错。安装完成后执行npm run generate它会启动交互式提问你输入文件路径和需求然后等待几秒钟就能看到 Claude 的原始响应打印在终端里并同时保存在tmp_response.md中。至此你已经成功绕过了所有npm的陷阱拥有了一个完全可控、可调试的claude-code-templates环境。后续的postprocess.js、mcp-server都可以在这个坚实的基础上按需添加。4. 排查链路直面unable to connect to anthropic services的完整诊断手册当你终于跑通了npm run generate却在终端里看到Error: unable to connect to anthropic services failed to connect to api.anthropic.com这行红色报错时不要急于 Google更不要去尝试mac claude cli 用 qwen key这种危险操作。这是一个信号表明你的请求在抵达 Anthropic 服务器之前就已经在本地或网络层面被拦截了。下面我将带你走一遍完整的、从业务逻辑到网络底层的排查链路每一步都有明确的验证命令和预期结果。这个链路是我过去一年里帮超过 30 个团队解决同类问题时总结出的最高效路径。4.1 第一层环境与密钥——最常被忽视的“低级”错误诊断点 AANTHROPIC_API_KEY是否真的被加载这是 70% 的unable to connect的根源。generate.js里console.log(process.env.ANTHROPIC_API_KEY)是最直接的验证。在generate.js的const anthropic new Anthropic({...})之前插入一行console.log(DEBUG: API Key length:, process.env.ANTHROPIC_API_KEY?.length);然后再次运行npm run generate。如果输出是DEBUG: API Key length: undefined说明.env文件没被正确加载。检查.env文件是否在项目根目录和package.json同级dotenv.config()是否在generate.js的最顶部执行你的package.json中type: module是否导致dotenv加载失败如果是改用dotenv/config的导入方式import dotenv/config;诊断点 BKey 的格式与权限是否正确Anthropic 的 Key 有严格的格式和权限要求。打开你的 Anthropic 控制台https://console.anthropic.com检查Key 是否处于Active状态不是RevokedKey 的Scope是否包含messages权限这是messages.create()所必需的Key 的Rate Limit是否已被耗尽控制台里能看到实时配额一个快速的终端验证命令是curl -X POST https://api.anthropic.com/v1/messages \ -H x-api-key: sk-ant-api03-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \ -H anthropic-version: 2023-06-01 \ -H content-type: application/json \ -d { model: claude-3-haiku-20240307, max_tokens: 10, messages: [{role: user, content: Hello}] }如果返回{error:{type:invalid_request_error,message:Invalid API key}}说明 Key 无效如果返回{error:{type:rate_limit_error,message:Rate limit exceeded}}说明配额用完了如果返回{id:msg_...,content:[{type:text,text:Hello}]}恭喜你的 Key 和网络都是通的。4.2 第二层网络与代理——企业防火墙与国内网络的现实诊断点 Capi.anthropic.com是否可达这是failed to connect to api.anthropic.com的直接原因。在终端中执行ping api.anthropic.com如果显示Request timed out或Unknown host说明 DNS 解析或网络连通性有问题。此时不要盲目更换npm镜像源npm镜像源地址对此毫无帮助而是尝试nslookup api.anthropic.com看是否能解析出 IP 地址。如果解析失败修改你的 DNS 为8.8.8.8Google或114.114.114.114国内。如果解析成功但ping不通说明是防火墙策略。此时curl命令是更好的测试工具因为它模拟的是 HTTP 连接curl -I https://api.anthropic.com如果返回HTTP/2 200说明 HTTPS 连接是通的如果返回curl: (7) Failed to connect to api.anthropic.com port 443 after 10000 ms: Connection refused说明端口被阻断。诊断点 D是否在使用代理很多企业网络或开发者会配置 HTTP 代理。anthropic-ai/sdk默认会读取HTTP_PROXY和HTTPS_PROXY环境变量。如果你的代理配置错误就会导致连接失败。检查echo $HTTP_PROXY $HTTPS_PROXY如果输出非空且你不确定代理是否有效临时禁用它unset HTTP_PROXY HTTPS_PROXY npm run generate如果禁用后成功说明问题出在代理配置上。此时你应该联系 IT 部门确认代理服务器地址和端口或者在generate.js中显式禁用代理const anthropic new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY, // 显式禁用代理 http: { proxy: null } });4.3 第三层SDK 与 TLS——Node.js 版本与加密协议的隐性冲突诊断点 ENode.js 版本是否过旧Anthropic API 要求 TLS 1.2。Node.js 14.x 及更早版本默认的 TLS 版本可能不满足要求。检查你的 Node.js 版本node -v如果低于v16.0.0强烈建议升级。升级后重新运行npm install因为anthropic-ai/sdk的某些依赖如undici在新版 Node.js 下表现更稳定。诊断点 FSSL 证书验证是否失败在某些特殊网络环境如公司内部 CANode.js 可能无法验证api.anthropic.com的 SSL 证书。此时curl命令会报curl: (60) SSL certificate problem: unable to get local issuer certificate。解决方案是不推荐设置NODE_TLS_REJECT_UNAUTHORIZED0这会禁用所有 SSL 验证极度不安全。推荐将公司 CA 证书添加到 Node.js 的信任库中或使用ca选项在 SDK 初始化时指定import fs from fs; const anthropic new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY, http: { ca: fs.readFileSync(/path/to/your/company-ca.crt) } });这个排查链路不是线性的“先 A 后 B”而是一个树状的决策图。当你看到unable to connect报错时应该像医生问诊一样从最简单、最高概率的AKey 是否加载开始逐层向下验证。每一步的验证命令都给出了明确的“成功”与“失败”的预期输出。掌握了这个链路你就不再需要依赖npm install claude code这样的模糊搜索而是能精准定位快速修复。5. 进阶整合将claude-code-templates无缝嵌入 VS Code 与 ObsidianMCP 协议实战当你已经能稳定地在终端里运行npm run generate下一步就是让它真正融入你的日常开发流摆脱命令行的束缚。claude-code-templates的设计天然支持与现代编辑器的深度集成其核心就是mcp/目录下的server.js。MCPModel Context Protocol不是一个玄乎的概念它就是一个标准化的 JSON-RPC 接口让任何编辑器插件都能像调用一个本地函数一样调用你的 Claude 生成服务。下面我将手把手带你完成 VS Code 和 Obsidian 的集成全程不涉及任何codex cli或蓝湖mcp这类第三方黑盒工具。5.1 启动 MCP Server一个 5 行代码的本地 AI 服务首先在my-claude-project目录下创建mcp/server.jsimport express from express; import { Anthropic } from anthropic-ai/sdk; import dotenv from dotenv; import fs from fs; dotenv.config(); const app express(); app.use(express.json()); const anthropic new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY }); app.post(/mcp/execute, async (req, res) { const { method, params } req.body; if (method ! code.generate) return res.status(400).json({ error: Method not supported }); try { const message await anthropic.messages.create({ model: claude-3-haiku-20240307, max_tokens: 1024, messages: [{ role: user, content: params.prompt }] }); res.json({ result: message.content[0].text }); } catch (error) { res.status(500).json({ error: error.message }); } }); app.listen(3001, () console.log(MCP Server running on http://localhost:3001));然后在package.json的scripts中添加mcp:serve: node mcp/server.js执行npm run mcp:serve一个监听在http://localhost:3001的 MCP 服务就启动了。它只做一件事接收一个POST /mcp/execute请求解析params.prompt调用 Anthropic API返回结果。这就是claude-code-templates的“服务化”形态它把复杂的提示工程、API 调用、错误处理全部封装在一个轻量的 HTTP 接口里。所有热词里mcp server、obsidian cli 安装包、playwright mcp的本质都是在消费这个接口。5.2 VS Code 集成用一个快捷键让 Claude 成为你编辑器的“副驾驶”VS Code 的强大之处在于其丰富的插件生态。我们不需要自己写一个完整的插件而是利用现有的REST Client插件由 Huachao Mao 开发VS Code Marketplace 免费下载来调用我们的 MCP Server。在 VS Code 中打开一个.ts文件选中一段代码。创建一个claude.http文件内容如下POST http://localhost:3001/mcp/execute Content-Type: application/json { method: code.generate, params: { prompt: You are a TypeScript expert. Refactor the following code to use modern async/await patterns and add proper error handling. Here is the code: {{selectedText}} } }将{{selectedText}}替换为你在编辑器中选中的实际代码。将光标放在这个 HTTP 请求上按CtrlAltRWindows/Linux或CmdAltRmacOSREST Client插件会自动发送请求并在右侧新标签页中显示 Claude 的响应。这个方案的优势在于零配置、零编译、零学习成本。你不需要懂 TypeScript不需要写插件只需要一个 HTTP 客户端。它完美解决了claude code cli 怎么避开每次确认的动作的痛点——因为REST Client的响应是纯文本你可以直接CtrlA全选CtrlC复制CtrlV粘贴回编辑器整个过程不到 3 秒。而且所有的提示词逻辑prompt.md里的Role Context、Output Format都由你完全掌控可以随时修改claude.http文件调整生成策略。5.3 Obsidian 集成用 MCP 将 Claude 变成你的知识库“智能助理”Obsidian 用户追求的是“第二大脑”而claude-code-templates的 MCP Server正好可以成为这个大脑的“AI 外挂”。Obsidian 的核心是 Markdown而我们的prompt.md本身就是 Markdown这简直是天作之合。在 Obsidian 中安装HTTP Request插件社区插件搜索即可。创建一个Templates/Claude Template.md内容如下http POST http://localhost:3001/mcp/execute Content-Type: application/json { method: code.generate, params: { prompt: You are an expert knowledge manager. Summarize the key insights from the following notes, and suggest 3 related topics for further exploration. Notes: {{currentNoteContent}} } }3. 在任意笔记中选中一段文字然后右键选择 HTTP Request - Send Request插件会调用 MCP Server并将 Claude 的响应插入到当前笔记的光标位置。 这个集成的意义在于**它把 claude-code-templates 从一个“代码生成工具”升维成了一个“知识增强工具”。** 你不再局限于 code.generate你可以定义 notes.summarize、docs.translate、idea.expand 等任意方法只要在 server.js 的 if (method ! ...) 里添加对应的逻辑分支。蓝湖mcp、burpsuite mcp 的原理无非就是把各自的业务逻辑包装成符合 MCP 协议的 method 调用。而你已经拥有了这个能力的起点。 通过 VS Code 和 Obsidian 的集成claude-code-templates 不再是一个孤立的模板仓库它变成了一个可插拔、可组合、可无限扩展的 AI 服务中枢。你不需要去追逐 codex cli 这样的“银弹”因为你已经掌握了构建银弹的方法论。
返回列表