ForkMind:把 LLM 上下文当 Git 管理的本地调试工具
开源工具 ForkMind 将每次 LLM 调用记录为本地 DAG 节点,支持分支、回溯与对比,兼容 OpenAI 协议…
核心思路:把 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 插件形态:包含
forkmindskill、/forkmind命令、forkmind-debugger代理以及自动接入的 MCP 服务器,使 Claude 能在调试、对比、回溯场景中自动调用 ForkMind。
安装与上手
两种运行方式,无需发布到 npm registry:
- 直接通过 npx 运行:
npx forkmind init && npx forkmind start。 - 从 GitHub 拉取:
npx github:medhovarsh/forkmind init或git 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/langchain的forkmind()包装,把baseURL指向代理并自动串联连续调用,支持fm.setParent(id)显式分叉。 - Vercel AI SDK:通过
forkmindOpenAI适配@ai-sdk/openai,与 SDK 其余用法保持一致。
适用场景与局限
ForkMind 主要服务于需要反复调提示词、对比模型、或对智能体/工具调用链路做回归测试的开发者。对于简单单轮问答或生产环境埋点而言偏重,更像是本地调试期的「时间机器 + A/B 平台」。目前项目由个人维护(GitHub: medhovarsh/forkmind),文档以安装与示例代码为主,尚未给出性能开销、存储增长或大规模会话下的可扩展性数据,落地前需自行评估。
