MCP协议实战:从原理到搭建,让AI工具调用讲同一种普通话
做AI工具集成这一年多我最大的感受就是“工具多到用不过来但全都各说各话”。每个模型有自己的一套工具调用方式每家平台有一套插件协议连个数据库都要单独写适配代码。直到MCPModel Context Protocol模型上下文协议出现局面才真正开始改变。MCP要干的事情很简单让AI工具之间讲同一种“普通话”底层是Anthropic推的开放标准协议上层是越来越多工具、框架和Agent主动接入。这篇文章我不打算给你念官方文档而是从协议原理讲到实际搭建再聊到生态里头那些真实可用的MCP Server和坑点。适合正在做AI Agent开发、想把自己手里的工具或数据源接入AI、又或者单纯好奇“MCP到底是什么”的人。看完你至少能自己写一个MCP服务端并接到客户端里让AI调用。1. 先搞明白MCP到底在解决什么难题1.1 从“工具爆炸”说起过去两年AI编程助手、Agent框架、MCP服务器、插件市场一波接一波冒出来。Claude有Function CallingOpenAI有Function CallingLangChain有Tool各家还有自己的Plugin格式。你想让AI读数据库、查地图、调用禅道、操作同花顺就得每个工具都写一遍对接代码而且是针对某个特定厂商的模型写换一个模型全部重来。这本质上就是“方言”的问题。北方话、粤语、闽南语各有各的语法互相听不懂。放到AI生态里每个工具都用自己的“方言”跟模型沟通集成方得当翻译翻译还容易出错。MCP的定位就是普通话大家约定一套统一的对话规则工具按这套规则提供服务模型按这套规则发起调用两边都不用关心对方底细。1.2 普通话的比喻为什么贴切说MCP是普通话重点不在于它的传输方式有多高科技而在于它解决了“约定”的问题。过去你想让AI调用某个内部服务要先跟服务方对齐文档、确定URL、确认鉴权方式、再写一个适配层服务方换了接口版本你的适配层就得跟着拆了重砌。MCP把这一切拆成了三件事能力发现、请求格式、响应格式。工具方只要实现一套MCP接口任何支持MCP的客户端都能直接发现它的能力并调用。打个比方以前从北京到广州高铁、飞机、自驾各自买票各自排队MCP相当于统一了票务系统不管你坐什么交通工具都按同一套流程订票、取票、验票。你不用关心承运方是谁只要确认它支持这套票务标准就行。1.3 三个核心角色Host、Client、ServerMCP协议里有三个角色理解这三者的关系后面实操会顺手很多。Host是最终跟用户打交道的应用比如Claude Desktop、Cherry Studio、Cline这类带AI界面的软件。Host里面内置一个MCP Client负责跟外部服务建立连接、发送请求、接收结果。Server就是提供能力的服务端比如一个能读文件、搜数据库、查天气的程序它通过MCP协议暴露Tools、Resources和Prompts。一句话总结Server把能力做成标准接口Client负责调用这些接口Host把接口背后的能力展示给用户。一个Host可以连接多个Server一个Server也可以同时被多个Host连接这就是“互联互通”的结构基础。2. 拆开MCP协议细节原语、传输与消息结构2.1 三种能力原语Tools、Resources、PromptsMCP定义了三类核心能力很多人刚开始用时会混淆我分开讲清楚。Tools是“动词”是让模型主动发起的操作比如查询股票、写文件、发请求。它有明确的入参和出参模型根据用户的意图决定要不要调、怎么调。Resources是“名词”是给模型读取的数据源比如一个文档内容、一张表结构、一个目录列表。它通常不会产生副作用更像给模型“查资料”。Prompts则是“套路模板”是一段预先写好的提示词模板用来引导模型在特定场景下如何工作。实操中你最需要关注的是Tools因为Agent能力的核心就是工具调用。Resources在需要给模型喂大量上下文时很有用比如把项目文档整个挂上去让模型边看边答。Prompts则适合把团队的固定工作流沉淀成模板减少重复写提示词的成本。2.2 传输层选型stdio与HTTP/SSEMCP的传输层主要有两种本地用的stdio和跨网络用的HTTP早期是SSE现在规范更推荐Streamable HTTP。stdio模式下Client直接启动一个本地进程比如python server.py通过标准输入输出进行JSON-RPC消息交换。这种方式配置简单、延迟低、没有网络暴露面适合个人开发机和本地工具我在本机调试MCP Server时90%都用stdio。HTTP模式则适合跨网络部署比如公司内部有一个共享的数据服务多个AI客户端通过HTTP调用。早期MCP的HTTP传输基于SSE长连接服务端要维护会话状态后来更新为Streamable HTTP握手时服务端返回一个Mcp-Session-Id客户端后续请求携带这个ID就可以了服务端不用保持长连接状态管理轻了很多也更容易和现有的网关、鉴权体系结合。选型建议很简单你的MCP Server和客户端在同一台机器用stdio要部署到服务器供多方调用用HTTP加鉴权。2.3 消息协议JSON-RPC 2.0MCP的消息格式基于JSON-RPC 2.0这是一套非常轻量的远程调用协议。客户端向服务端发请求服务端返回响应两端之间还会发通知notification来同步状态比如初始化完成、工具列表变更。一条典型的initialize请求长这样{ jsonrpc: 2.0, id: 1, method: initialize, params: { protocolVersion: 2025-03-26, capabilities: {}, clientInfo: {name: my-client, version: 1.0.0} } }服务端回包之后客户端再发notifications/initialized通知才算完成握手。之后就可以通过tools/call、resources/read这些方法去调用具体能力。有HTTP和RPC基础的读者看到这里应该秒懂MCP并没有发明新的通讯魔法它只是把所有交互约束成了一套标准写法。真正有价值的是这个约束本身——约束带来了统一统一带来了生态。2.4 MCP和Function Calling、插件体系的区别很多人会问OpenAI的Function Calling不也能让模型调工具吗为什么还要MCPFunction Calling是模型厂商提供的一种能力格式它解决的问题是“模型怎么理解工具、怎么生成调用参数”但你仍然要自己写工具注册代码、自己处理调用链路。MCP是模型和工具之间的标准化通道它不关心模型内部怎么做推理只负责把工具暴露出来让大家按统一方式调用。可以说Function Calling解决的是模型脑内的问题MCP解决的是模型和外界握手的问题两者可以同时存在。插件体系则更封闭。传统插件往往绑定特定平台或特定API格式换一个宿主就用不了。MCP的优势在于它是中立协议不绑定厂商OpenAI的模型能用Anthropic的模型能用本地开源模型也能用只要双方都支持MCP。3. 手把手搭建一个MCP服务端并接入客户端3.1 环境准备实操部分我用Python写一个“笔记管理”MCP Server功能很简单新增笔记、罗列笔记、读取笔记。用这个例子把Tools和Resources都演示一遍你跑通之后换成自己的业务逻辑就行。先装官方Python SDKpip install mcp建议用uv管理Python环境省心很多uv venv .venv source .venv/bin/activate uv pip install mcp注意如果你的机器上有多套Python环境本地装过mcp包但客户端启动还是失败八成是客户端调用了解释器的另一个路径。后面排查章节我会专门讲。3.2 编写Server代码SDK提供了FastMCP这个快捷封装非常适合快速搭建底层仍然是标准MCP协议不用担心踩私有格式的坑。# server.py from pathlib import Path from mcp.server.fastmcp import FastMCP mcp FastMCP(note-keeper) NOTES_DIR Path(notes) NOTES_DIR.mkdir(exist_okTrue) mcp.tool() def add_note(note_id: str, content: str) - str: 把笔记内容保存到本地 notes 目录note_id 用作文件名。 Args: note_id: 笔记的唯一ID例如 daily-report content: 笔记正文支持 Markdown 格式 f NOTES_DIR / f{note_id}.md f.write_text(content, encodingutf-8) return f笔记已保存到 {f} mcp.tool() def list_notes() - list[str]: 列出本地 notes 目录下所有笔记 ID。 return [p.stem for p in NOTES_DIR.glob(*.md)] mcp.tool() def read_note(note_id: str) - str: 读取指定 ID 的笔记内容。 Args: note_id: 笔记的唯一ID f NOTES_DIR / f{note_id}.md if not f.exists(): return 笔记不存在 return f.read_text(encodingutf-8) if __name__ __main__: mcp.run()三个函数对应三个Tools。你可能会问为什么不直接让模型读文件系统因为MCP的意义就在这里你定义的是“笔记操作”这个业务能力而不是暴露整个文件系统给模型。业务边界控制在Server层模型只能碰你允许它碰的东西。3.3 注册一个Resources再补一个Resource让模型能够把“某个笔记的内容”作为上下文读取这个不是模型主动调用的函数而是当用户说“基于我的工作笔记回顾一下进度”时客户端能从Resource里读到对应内容。mcp.resource(note://{note_id}) def get_note_resource(note_id: str) - str: 读取笔记内容作为模型上下文。 f NOTES_DIR / f{note_id}.md if not f.exists(): return return f.read_text(encodingutf-8)做完这一步你的Server就同时暴露了Tools和Resources两类能力已经是一个结构完整的MCP服务端了。3.4 配置到客户端服务端写好之后需要在客户端里注册。不同客户端配置方式略有区别但本质都是告诉客户端“你启动这个命令来开启MCP服务”。以Cherry Studio为例在MCP设置里选择Add MCP Server传输方式选stdio命令填python D:/projects/mcp-demo/server.py保存后客户端会自动启动该进程做一次握手然后列出发现到的add_note、list_notes、read_note等工具。以Claude Desktop为例需要在配置文件claude_desktop_config.json里添加一段{ mcpServers: { note-keeper: { command: python, args: [D:/projects/mcp-demo/server.py] } } }重启客户端工具列表里就能看到note-keeper的各个工具。配置完先手动测试一遍让AI“把今天的会议记录存成note-hybrid”再让它“读取note-hybrid”看看模型是否正确调用了Tools。3.5 用MCP Inspector调试Server如果客户端里工具列表是空的或者调用报错先用官方调试工具MCP Inspector检查服务端npx modelcontextprotocol/inspector python server.py这行命令会启动一个本地调试面板默认在http://localhost:6274。在面板里可以看到完整的JSON-RPC消息交互包括握手、工具列表获取、调用参数和返回值。凭我的经验80%的MCP接入问题用Inspector看一遍原始消息就能定位。4. MCP生态全景哪些工具已经“说普通话”了4.1 开发与调试领域开发工具是MCP落地最深的领域。IDA MCP插件把反汇编窗口、函数列表、反编译结果暴露给大模型逆向分析时AI可以直接读取反编译代码、对照汇编给出分析结论。x32dbg也有对应的MCP插件动态调试场景下AI能够读取寄存器状态、内存数据和调用栈辅助定位崩溃和逻辑漏洞。Codex接入Figma MCP是另一个典型场景模型可以直接读取设计稿的图层、组件和样式变量把视觉稿转换成UI代码省去人工翻设计稿对照CSS的步骤。PostgreSQL这类数据库也有相应的MCP Server模型通过标准接口执行SQL查询、读取表结构业务数据接入AI的门槛低了很多。4.2 设计与硬件工具链创意工具和硬件设计领域很有意思。Unreal Engine 5.8以及UE5.6官方大模型MCP让AI可以直接操作关卡编辑器、生成蓝图节点、批量化处理场景资源。设计师可以通过自然语言让AI在编辑器里执行一连串操作这比传统插件脚本更直观。Altium Designer也提供了AI接口的MCP ServerPCB设计中有望让模型辅助检查布线、生成元器件清单、读原理图。这类专业工具的特点是内部数据模型非常复杂传统API学习成本高而MCP把常用能力包装成标准化工具让AI能直接上手操作确实是把专业软件和语言模型打通的好思路。4.3 办公与业务软件业务系统接入MCP的案例也越来越多。同花顺开放了MCP服务行情数据、财务数据、资讯内容可以通过MCP暴露给AI投研助手适合做个股分析和市场情绪总结。禅道MCP把项目、任务、缺陷数据接入AI团队可以用自然语言查询项目进度、自动生成周报。百度地图MCP则把地理编码、路径规划、周边检索这类能力开放给AI。我们可以把这些做一个小结同花顺MCP金融行情与资讯接入适合AI投研、定投复盘等场景禅道MCP项目管理数据接入适合任务统计、缺陷跟进、周报生成百度地图MCP地理与路径能力接入适合位置服务类AI应用PostgreSQL等数据库MCP结构化数据接入适合数据问答与报表生成IDA、x32dbg等调试器MCP程序行为数据接入适合辅助逆向与分析4.4 MCP与AI Agent协作MCP对AI Agent的意义我理解是“把外部世界变成模型可操作的手脚”。Agent不再只能靠内置功能做事而是通过MCP动态挂载各种工具按任务需要即插即用。多AI协作场景里MCP很适合作为Agent之间的能力共享层一个主Agent负责拆解任务多个子Agent各带一组MCP工具分别处理编程、写作、数据查询等子任务通过统一协议汇报结果。我自己实践下来MCP真正解决了Agent开发里最头疼的“工具层重复建设”问题。以前做一个Agent要把每个工具单独封装、单独测联调现在工具提供方按MCP暴露能力Agent侧只要实现标准客户端就能接入全部工具。生态越大这套模式的优势越明显。5. 实战中遇到的典型问题与排障记录5.1 客户端启动MCP进程失败现象客户端提示Connection closed或者服务一直连不上。排查思路先手动在终端跑一遍启动命令确认能正常输出。比如python D:/projects/mcp-demo/server.py看有没有报错信息。最常见的原因是依赖装错环境客户端调用的是系统Python而你用uv把依赖装在了虚拟环境里。解决办法有两种要么改用虚拟环境里的解释器路径要么用uv run python server.py这种在虚拟环境内启动的方式。配置到客户端时命令里写绝对路径不要写相对路径或带空格的简写。5.2 工具列表为空现象客户端连上了但工具列表里什么都看不到。排查思路先在Inspector里查看初始化返回的capabilities字段。确认tools是否在capabilities里。如果Server代码用了FastMCP正常情况下tools肯定会出现在capabilities里。如果看不到看服务端启动时有没有装饰器注册失败常见于函数定义缩进出错、导入异常。再检查客户端配置里的命令是否指向了正确的文件。我之前踩过一次坑客户端配置写的是python server.py但当前工作目录不是项目目录导致相对路径找不到模块。把所有路径改成绝对路径可以避免大部分这类问题。5.3 工具调用超时或卡住现象AI发起工具调用后迟迟不返回最后报超时。排查思路MCP客户端通常对工具调用有超时时间。如果Server端执行的是耗时操作比如网络请求、复杂计算超时概率会很高。解决办法有几个方向第一把耗时操作拆小让单次工具调用在合理时间返回第二在Server端为耗时逻辑开线程处理先返回“任务已提交”的状态再通过后续工具查询结果第三如果客户端允许配置超时时间适当调大。我自己写MCP Server时有个习惯所有网络请求都设置单独的超时时间且总耗时控制在客户端超时的一半以内宁可分多次调用也不要一次跑太久。5.4 参数类型不匹配现象模型生成的参数传入工具后报错比如工具定义里需要note_id是字符串模型却传了一个数字。排查思路MCP的定义文件里会把参数类型说明清楚但大模型偶尔还是会生成不合法参数。你可以在工具函数里做参数校验做好防御性编程。另外函数的docstring和参数注释写得越明确模型生成正确参数的概率越高。比如note_id明确写“只能包含字母、数字和中划线”模型就不太会传路径、传空格。5.5 安全边界与权限问题MCP给AI提供了操作真实系统能力安全边界必须重视。本地stdio服务的权限和启动用户一致如果你用管理员身份跑客户端MCP Server就有管理员权限风险很大。我通常用一个低权限专用账号运行MCP相关进程或者至少不在生产环境用root跑。HTTP模式下必须加鉴权。MCP本身不强制认证你需要在外面套一层Token验证或网关策略否则内网里任何能访问该地址的客户端都能直接调用工具。另一个通用建议是Server暴露最小权限只在Server内部实现具体业务逻辑不要直接把文件系统、数据库连接拿给模型裸用。5.6 MCP Inspector使用心得所有问题都排查不清楚时MCP Inspector是最强帮手。它能把MCP握手、初始化、工具发现、调用的完整消息链路展示出来你就能看到是哪一方的消息不符合协议。我推荐的调试顺序是先看initialize请求是否正常返回再看tools/list是否返回了工具列表最后用Inspector手动调用一个工具确认参数传递和返回结果如果手动调用正常但客户端异常问题基本在客户端配置或模型生成参数上跟Server无关。一些实际体会我从MCP早期就一直跟这个协议感受最深的是MCP真正的价值不在于协议本身有多精巧而在于它把“接入成本”从团队内部拉低到了个人可操作的水平。以前做一个AI工具集成要跟每一个数据源单独签协议、写SDK适配、做长期维护现在很多工具方自己就把MCP Server做了你只需要调用标准客户端就能接入。最后分享一个小技巧刚开始接触MCP时不要一上来就设计很复杂的Server。先用本文的笔记例子跑通stdio链路再尝试把现有业务服务包一层MCP封装逐渐加Tools。等你熟悉了Tools、Resources和错误排查的节奏再去研究Prompts模板、HTTP鉴权和多Agent协作你会觉得整个AI工具互联的版图一下子清晰了很多。

相关新闻

题解:洛谷 AT_abc437_a [ABC437A] Feet

题解:洛谷 AT_abc437_a [ABC437A] Feet

本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。 欢迎大家订阅我的专栏:算法…

2026/10/9 3:25:09 阅读更多 →
Hadoop与Spark大数据处理实战:从伪分布式搭建到PySpark案例

Hadoop与Spark大数据处理实战:从伪分布式搭建到PySpark案例

简介:这是围绕Hadoop与Spark生态的大数据处理与案例分析资料,面向大数据初学者、数据分析师及平台运维人员,帮助读者理解常用组件与实际项目的结合方式。文档内容涉及HDFS、MapReduce、HBase、Hive、Spark、Storm、Mahout等核心工具&#xff…

2026/10/9 3:25:09 阅读更多 →
内存映射文件高级用法:大文件分块映射与跨进程共享实战

内存映射文件高级用法:大文件分块映射与跨进程共享实战

做后端开发这些年,我接触过不少号称“高效加载大文件”的方案,但真正让我重新审视“读文件”这件事的,是一次索引文件扫描的性能优化。当时有一份十几 GB 的分析数据,按老办法读、解析、切片,整个过程慢得让人抓狂。后…

2026/10/9 3:25:09 阅读更多 →

最新新闻

ASP.NET C# ERP源码二次开发:从部署到改造全流程实战

ASP.NET C# ERP源码二次开发:从部署到改造全流程实战

简介:这是一份面向.NET开发团队的ASP.NET C#大型综合管理系统源码包,定位于大型ERP与全能后台管理系统的项目样板,适合具备一定C#基础、希望直接参考完整工程结构或进行二次开发的中高级开发者。压缩包约52.88MB,以zip格式提供&am…

2026/10/9 4:01:29 阅读更多 →
t3code 整合 Claude Code 与 Codex:Electron 多引擎 AI 编程工具架构解析

t3code 整合 Claude Code 与 Codex:Electron 多引擎 AI 编程工具架构解析

1. 从 t3code 这个标题说起:它到底想解决什么问题第一次看到 “t3code” 这个标题,我脑子里蹦出来的第一个念头是:这大概率又是一个围绕 AI 编程工具做整合或增强的项目。为什么这么判断?因为把标题和它周围那一圈热搜词放在一起看…

2026/10/9 4:01:29 阅读更多 →
Agent-Reach:多Agent协作的触达与编排实战指南

Agent-Reach:多Agent协作的触达与编排实战指南

去年下半年我接手了一个多Agent协作项目,前期单体Agent玩得很溜,结果一上多Agent就翻车——20多个Agent挂在一起互相调用,上午还跑得好好的,下午某几个Agent就开始失联,任务直接在中间环节卡死。折腾了两周&#xff0c…

2026/10/9 4:01:29 阅读更多 →
基于Hadoop和Spark的信贷风控系统架构与落地实践

基于Hadoop和Spark的信贷风控系统架构与落地实践

简介:面向大数据金融信贷风控领域学习者和毕业设计开发者的完整项目源码包,基于Hadoop与Spark技术栈实现信贷风险控制系统,覆盖数据接入、流式处理、风控逻辑及可视化等环节,适合课程设计、毕设或项目初期演示。压缩包内共69个文件…

2026/10/9 4:01:29 阅读更多 →
pstack-claude:本地化进程栈+AI诊断的轻量级系统调试方案

pstack-claude:本地化进程栈+AI诊断的轻量级系统调试方案

1. 项目概述:pstack-claude 是什么,它解决的是哪类开发者的实际痛点?pstack-claude 这个名字乍看像一个工具组合词,但拆解后立刻能抓住核心——它不是某个官方发布的软件包,而是开发者社区中自发形成的一套轻量级本地化…

2026/10/9 4:01:29 阅读更多 →
JavaWeb在线问卷调查系统课程设计:结构部署与核心代码解析

JavaWeb在线问卷调查系统课程设计:结构部署与核心代码解析

简介:基于JavaWeb的在线问卷调查系统课程设计源码包,面向需要完成Java课设、毕设或学习Servlet/JSP与Spring Boot整合开发的学生和开发者。系统覆盖用户注册登录、问卷创建与填写、管理员统一管理、多题型支持(单选、多选、文本题&#xff09…

2026/10/9 4:00:29 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →