[特殊字符] 一句话创建 12306 火车票查询 Agent!OpenClaw 自动生成 Skill 实战全流程

张开发
2026/5/31 0:55:51 15 分钟阅读
[特殊字符] 一句话创建 12306 火车票查询 Agent!OpenClaw 自动生成 Skill 实战全流程
一句话创建 12306 火车票查询 AgentOpenClaw 自动生成 Skill 实战全流程不写接口不写参数不写调用逻辑只说一句话“帮我创建 12306 火车票查询 skill”OpenClaw 自动生成可运行的 Agent 实例。已发布skillMcporter Railway Query供测试使用。这不是 Demo这是完整可运行的实战。 这篇文章你将看到什么Docker 启动 12306 MCP 服务mcporter 注册 MCPOpenClaw 自动创建 Skill自然语言触发真实系统调用完整 Agent 调用闭环我们不是在“聊天”我们是在构建一个真正可执行的 AI Agent。 一、整体架构从会话到真实系统调用整体结构如下用户会话指令 ↓ OpenClaw Agent ↓ mcporter Skill ↓ 12306 MCP ServerDocker ↓ 12306 官方接口这不是简单 API 调用而是会话 → Skill 自动生成 → MCP 绑定 → 执行 → 结果结构化输出⚙️ 二、启动 12306 MCP 服务Docker 方式首先我们启动 12306 MCP 服务。dockerrun-p8080:8080-dlance159/12306-mcp npx12306-mcp--port8080推荐使用 docker-composeservices:mcp12306:image:lance159/12306-mcpcommand:npx 12306-mcp--port 8080ports:-127.0.0.1:8080:8080安全说明绑定 127.0.0.1 避免公网暴露服务只做只读查询不涉及购票启动后访问http://127.0.0.1:8080/sse 三、配置 mcporter 连接 MCP创建文件~/.mcporter/mcporter.json{mcpServers:{12306:{type:sse,url:http://127.0.0.1:8080/sse,name:12306 高铁动车查询,description:查询高铁(G)、动车(D)和城铁(C)余票支持时间段过滤。,enabled:true}}}此时OpenClaw 已经具备调用 12306 查询能力。 四、关键演示一句话自动创建 Skill现在进入最重要的部分。我们对 OpenClaw 说 “帮我创建 12306 火车票查询 skill”接下来发生了什么 第一步AI 理解你的意图OpenClaw 自动识别你要创建一个 Skill功能是铁路票务查询需要绑定 12306 MCP需要定义参数模型⚙️ 第二步自动生成 Skill 定义OpenClaw 会生成类似结构name:mcporter-railway-querydescription:查询中国铁路12306高铁动车余票tools:-name:get-ticketsparameters:date:stringfromStation:stringtoStation:stringtrainFilterFlags:stringearliestStartTime:numberlatestStartTime:numberSkill 已自动实例化。没有手写 YAML没有写 JSON Schema。 第三步自动绑定 MCPOpenClaw 会读取~/.mcporter/mcporter.json自动绑定Skill → 12306 MCP → Docker 服务无需手动接 API。 五、真正的 Agent 执行能力我们继续说“查询 2 月 14 日上海到江阴下午的高铁动车余票”OpenClaw 自动解析日期转换城市为站点代码SHH → KYH添加过滤条件trainFilterFlags“GD”earliestStartTime12latestStartTime18内部等价执行mcporter call12306.get-tickets\date2026-02-14\fromStationSHH\toStationKYH\trainFilterFlagsGD\earliestStartTime12\latestStartTime18但用户完全看不到 CLI。 六、结果自动结构化输出MCP 返回结构化数据{trainNo:G7744,startTime:14:59,arriveTime:16:09,secondClass:有}OpenClaw 转换为自然语言根据查询结果以下是2026年2月14日明天下午上海到江阴的高铁动车班次信息2月14日下午上海到江阴高铁班次详情G2384(14:54 上海虹桥 → 15:58 江阴)历时1小时4分钟座位情况所有席别均已无票G7744(14:59 上海虹桥 → 16:09 江阴)历时1小时10分钟座位情况二等座剩余1张票 ¥71无座有票 ¥71一等座和商务座无票G800(15:25 上海虹桥 → 16:29 江阴)历时1小时4分钟座位情况所有席别均已无票G7138(16:17 上海虹桥 → 17:23 江阴)历时1小时6分钟座位情况所有席别均已无票G2818(16:22 上海站 → 17:38 江阴)历时1小时16分钟座位情况所有席别均已无票G2422(17:38 上海虹桥 → 18:49 江阴)历时1小时11分钟座位情况所有席别均已无票G7114(17:57 上海虹桥 → 19:07 江阴)历时1小时10分钟座位情况所有席别均已无票特别提醒目前明天下午从上海到江阴的大部分高铁班次余票紧张多数班次的各类席位均已售罄唯一还有少量余票的是G7744次列车14:59从上海虹桥出发仅剩1张二等座票¥71和部分无座票如果您计划明天下午从上海返回江阴建议尽快预订G7744次列车的二等座或考虑无座票另外早上有G7134次12:07上海虹桥→13:24江阴和G1420次12:56上海虹桥→14:06江阴但也都显示无票建议您尽早通过12306官网或APP预订或考虑其他时间段的列车。这一步是 Agent 的核心价值结构化系统 → 语义理解 → 人类可读输出 七、这和传统自动化有什么区别传统方式OpenClaw写接口代码自然语言生成手写参数自动推断手写调用逻辑自动构造 Tool Call手动解析 JSON自动转自然语言这已经不是“聊天机器人”。这是一个可组合、可扩展、可本地部署的 AI Agent 系统。 八、安全说明本方案不存储用户数据不进行购票操作不绕过 12306 验证仅做只读查询Docker 绑定本地端口属于安全可控部署。 九、总结通过一句话“帮我创建 12306 火车票查询 skill”我们完成了Skill 定义MCP 绑定参数建模自动调用结果解释这展示的是 OpenClaw 已经具备“系统编排能力”而不仅仅是对话能力。

更多文章