桃子桃子快讯
返回首页
工具

ForkMind:把 LLM 上下文当 Git 管理的本地调试工具

开源工具 ForkMind 将每次 LLM 调用记录为本地 DAG 节点,支持分支、回溯与对比,兼容 OpenAI 协议…

2026.07.08 · 周三4 分钟阅读

核心思路:把 LLM 对话变成可分支的代码仓库

ForkMind 是一个本地优先的 LLM 调试工具,主打「Git for LLM context」。它会在项目目录下生成 .forkmind/ 文件夹,把每一次大模型调用都记录成一个节点,并用有向无环图(DAG)把整个会话树可视化出来。用户可以在任意历史节点「分叉」:改提示词、换模型、调参数后重跑,再把不同结果并排比较,从而替代反复滚动终端日志的调试方式。

所有数据以纯 JSON 形式落盘,不依赖数据库,不上传遥测信息,强调「本地、零账号、零云端」。

兼容性与默认模型

  • 兼容任何 OpenAI 兼容 API,包括 Anthropic、Groq、OpenRouter、Together、vLLM、LM Studio 等托管免费层。
  • 默认走 Ollama 本地开源模型,文档示例使用 llama3,做到无需 API Key 即可上手。
  • 同时提供 Claude Code 插件形态:包含 forkmind skill、/forkmind 命令、forkmind-debugger 代理以及自动接入的 MCP 服务器,使 Claude 能在调试、对比、回溯场景中自动调用 ForkMind。

安装与上手

两种运行方式,无需发布到 npm registry:

  • 直接通过 npx 运行:npx forkmind init && npx forkmind start
  • 从 GitHub 拉取:npx github:medhovarsh/forkmind initgit clone https://github.com/medhovarsh/forkmind 后本地安装。

启动后会在本地 http://localhost:4500 开启代理与可视化面板,并把每次调用以节点形式写入 .forkmind/

SDK 与多语言接入

提供 JS 封装 ForkMindOpenAI,在官方 OpenSDK 基础上自动把串行调用串成会话树;也支持任意语言的官方 OpenAI 客户端,只需:

  • base_url 指向 http://localhost:4500/v1
  • 通过 x-forkmind-upstream 指定上游地址(例如本地 Ollama 的 http://localhost:11434)。
  • 从响应头读取 x-forkmind-node-id,作为下一次请求的 x-forkmind-parent 即可手动串成树。

Python、curl、Go、Ruby、Rust、Java 等只要能发 HTTP 请求都能接入,仪表盘、分支、MCP、回归测试等功能与语言无关。

框架集成

为两个主流 JS 生态提供了薄适配层,均通过同一代理工作,无需替换模型类或额外回调:

  • LangChain.js:通过 @langchain/openai + forkmind/langchainforkmind() 包装,把 baseURL 指向代理并自动串联连续调用,支持 fm.setParent(id) 显式分叉。
  • Vercel AI SDK:通过 forkmindOpenAI 适配 @ai-sdk/openai,与 SDK 其余用法保持一致。

适用场景与局限

ForkMind 主要服务于需要反复调提示词、对比模型、或对智能体/工具调用链路做回归测试的开发者。对于简单单轮问答或生产环境埋点而言偏重,更像是本地调试期的「时间机器 + A/B 平台」。目前项目由个人维护(GitHub: medhovarsh/forkmind),文档以安装与示例代码为主,尚未给出性能开销、存储增长或大规模会话下的可扩展性数据,落地前需自行评估。

信源