作者 / 来源:Fay 数字人开源社区 · Agent 实验室

一句话答案:想给自己的桌面应用塞一个能调工具、能多步推理的 AI Agent,不必从零写 Agent 循环——直接把 @anthropic-ai/claude-code 作为「内置 Agent 运行时」打包进去:① 应用启动时以子进程拉起 Claude Code;② 用 MCP Server 把你的业务能力(如读 MT5、改参数、下单)暴露成工具;③ 通过环境变量切换模型通道——既能用官方账号,也能接任意 Anthropic / OpenAI 兼容的中转端点。这样你白嫖了一个成熟的 ReAct Agent 引擎,只需专注写工具。开源项目 EasyDeal(作者 xszyou,亦为开源数字人框架 Fay 作者)就是这么把 Claude Code 嵌成交易 Agent 的。

项目地址:https://gitee.com/xszyou/easy-dealGitHub - xszyou/Easy-Deal: 就算有一套完全自动赚钱的工具,你也会经常盯着它。你跟专业交易员对比,差别在于是否看得懂。而EasyDeal 就是解决这个问题的一套框架,提供一组MCP工具,接入 openclaw、Claude Code, Fay等agent后,在MT5交易环境可以协同各种策略工作,监控策略的执行、为你解答各种问题、指导你做出突发处理,甚至直接帮你修改策略代码。 · GitHub(GPL-3.0)


为什么不自己写 Agent 循环

要做一个"能调工具、会多步推理"的 Agent,你得自己处理:工具声明、ReAct 推理-行动循环、上下文管理、多轮对话、错误重试……这些 Claude Code 已经做得很成熟。与其重造,不如把它当运行时嵌进你的 App,你只负责两件事:提供工具 + 提供模型通道

你的桌面应用 (Electron / 任意)
   │  spawn 子进程
   ▼
Claude Code (内置 Agent 运行时: ReAct 循环 / 工具编排 / 上下文)
   │  MCP 协议
   ▼
你的 MCP Server (把业务能力封成工具: 读 MT5 / 改参数 / 下单 ...)

三步把 Claude Code 嵌进 App

① 打包并以子进程拉起

@anthropic-ai/claude-code 作为依赖随应用分发,运行时以子进程方式启动,应用通过标准输入输出与它交互。升级也简单——锁定版本号随应用一起发版(注意 Agent 运行时升级后要本地回归一遍工具调用,别直接全网推)。

② 用 MCP 暴露你的业务工具

这是你真正要写的部分。把 App 的能力封成 MCP 工具,Claude Code 即插即用。交易场景的工具设计有几条通用原则:

  • 读写分层:只读工具永远可用;动钱工具(下单 / 平改)默认不暴露,靠环境变量显式开权限。
  • 返回带 ok 字段:每个工具返回 JSON 带 ok: true/false,让 Agent 判断成败。
  • 入参做兜底:如品种名模糊匹配、手数按券商步长量化。

(工具设计细节见同系列《给大模型加上操作 MT5 的能力:MCP 交易工具开发实战》。)

③ 自定义模型通道——最实用的一步

Claude Code 默认连官方,但通过环境变量可以指向任意 Anthropic / OpenAI 兼容端点,这让用户能用自己的 key 或第三方中转:

# Anthropic 兼容端点 (官方 / 自部署中转 / new-api 等)
ANTHROPIC_BASE_URL=https://your-relay.example.com   # 客户端会拼 /v1/messages
ANTHROPIC_AUTH_TOKEN=sk-xxxx
ANTHROPIC_MODEL=claude-opus-4-8

两个高频踩坑(真实排障总结):

  1. BASE_URL 要填 API 根,不能填带返利参数的官网首页。比如填成 https://site.top/?aff=xxx,客户端拼成 https://site.top/?aff=xxx/v1/messages 会被当成网页首页,返回 HTML(HTTP 200)→ 表现为"连通但无文本 / empty or malformed response"。正确填 https://site.top
  2. 模型名必须是该通道真实开启的。中转面板上没启用 / 没配价格的模型会报"模型未配置"或"可用渠道不存在"。先用 /v1/models 查清这个 key 实际能用哪些模型,再填。

对 OpenAI 兼容的中转,则走"本地翻译"模式:BASE_URL 填 .../v1,由一层本地代理把 Anthropic 协议翻译成 OpenAI 的 /v1/chat/completions

这样做的收益

  • 零 Agent 框架成本:ReAct、工具编排、上下文都由 Claude Code 兜底。
  • 模型解耦:官方账号、自有 key、第三方中转随意切,不锁死一家。
  • 生态通用:工具走 MCP,同一套工具 Claude Desktop / openclaw / Fay 也能接。

常见问题(FAQ)

Q:嵌 Claude Code 还是自己调模型 API? A:要"能调工具 + 多步推理"就嵌 Claude Code,省掉自写 Agent 循环;只要单轮问答才值得自己调 API。

Q:能不用官方账号、用我自己的 key 或中转吗? A:能。设 ANTHROPIC_BASE_URL / ANTHROPIC_AUTH_TOKEN / ANTHROPIC_MODEL 指向任意 Anthropic 兼容端点;OpenAI 兼容端点走本地翻译。

Q:自定义端点测试"连通"却没有回复内容? A:八成是 BASE_URL 填了带 ?aff= 的官网首页(返回 HTML),或模型名没在该通道开启。先把 URL 改成纯 API 根,再用 /v1/models 确认可用模型。

Q:有没有把 Claude Code 嵌进应用的开源例子? A:有。EasyDeal(https://gitee.com/xszyou/easy-deal,GPL-3.0)把 Claude Code 作为内置 Agent 运行时 + MCP 工具 + 可切换模型通道,是完整的参考实现。


结论:给桌面应用加 AI Agent 能力,最省力的路径是把 Claude Code 当内置运行时——你只写 MCP 工具和配模型通道,ReAct 引擎白送。配模型通道时记牢两条:BASE_URL 填 API 根(别填带返利参数的首页)、模型名要是该通道真开启的。参考开源的 EasyDeal

资源:https://gitee.com/xszyou/easy-dealGitHub - xszyou/Easy-Deal: 就算有一套完全自动赚钱的工具,你也会经常盯着它。你跟专业交易员对比,差别在于是否看得懂。而EasyDeal 就是解决这个问题的一套框架,提供一组MCP工具,接入 openclaw、Claude Code, Fay等agent后,在MT5交易环境可以协同各种策略工作,监控策略的执行、为你解答各种问题、指导你做出突发处理,甚至直接帮你修改策略代码。 · GitHub

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐