用途
ctxfile 是一个本地优先的 MCP 服务器,用于把项目的工作状态快照为一个结构化的上下文对象,并在一次调用中交给任何 MCP 智能体。它面向同时使用多个 AI 智能体的开发者:例如终端里的 Claude Code、编辑器里的 Cursor、用于思考的聊天标签页。每个智能体通常都从“冷启动”开始,因为工作状态(计划、关键文件、git 状态、一小时前做出的决定)只存在于使用者脑中或滚动历史里。ctxfile 让会话可以在一个智能体中保存,在另一个智能体中继续,并且不离开本机。
主要能力
- 快照项目工作状态为一个上下文对象,并一次性交给 MCP 智能体。
- 支持保存会话与继续会话(跨智能体迁移)。
- 默认路径零网络调用,仅使用文件与 git。
- 疑似机密内容(云密钥、令牌、私钥、JWT、password= 赋值)在进入快照前被脱敏;.env*、密钥文件和凭据文件完全不被读取。
- 核心对项目为只读,不写入仓库、git 状态或其他内容。
- 默认无遥测;匿名每周安装 ping 为可选加入(opt-in)。
- 网络连接器(Notion、本地 Ollama 摘要、Sync)仅在显式配置时启用。
- 可通过一条命令安装技能,让任何智能体在正常工作时知道何时对上下文做检查点,并宣布每次保存(从不静默,可随时暂停,始终可审查)。
- 渲染自同一份规范,适配各 harness 所读取的格式:Claude Code、OpenCode、OpenClaw、Hermes 使用 Agent SKILL.md(四个技能系统共用一份可移植文件),Cursor 使用 rule,以及托管的 GEMINI.md / AGENTS.md 块。
- 上下文可跟随使用者进入聊天标签页:将 Grok、ChatGPT、Claude web 或 Perplexity 作为自定义 MCP 连接器连接到加密的 Sync vault,或用 ctxfile export 导出信封并粘贴到任意提示框(Gemini 等)。
使用方式
30 秒快速开始:
- Cursor:在项目中的 .cursor/mcp.json,或全局 ~/.cursor/mcp.json 配置。
- Claude Desktop(无需终端):下载 ctxfile-macos-arm64.mcpb 并拖入 Settings → Extensions。该捆绑包包含编译后的原生模块,因此目前仅支持 macOS(Apple Silicon);在 Windows 或 Intel Mac 上,改为将上述 stdio JSON 加入 claude_desktop_config.json。
- 其他所有客户端:ctxfile 是标准 stdio 服务器,因此
npx -y ctxfile就是完整命令。OpenCode、Gemini CLI、OpenClaw、Hermes、Aider 等的复制粘贴设置见各客户端标签页(ctxfile.dev/docs/clients)。
随后在智能体中输入“load my context”(或调用 get_context)。要求 Node ≥ 20(Windows 上 ≥ 22)。
让保存自动化:一条命令即可安装一个技能,教会任何智能体在正常工作时何时对上下文做检查点,并宣布每次保存。
适用场景
- 在多个 AI 智能体之间切换、需要延续同一项目工作状态的开发工作流。
- 希望上下文与项目状态保留在本机、对隐私敏感的场景。
- 需要把 CLI/编辑器智能体中的上下文带到网页聊天机器人中的场景。
限制
- Claude Desktop 的 .mcpb 捆绑包目前仅支持 macOS(Apple Silicon);Windows 或 Intel Mac 需改用 stdio JSON 配置。
- 核心对项目只读;若需要会话连接器、加密跨会话记忆、多提供商咨询、AI 提炼的提示词 Playbooks 和本地语音捕获等能力,需要付费 Pro 附加包(独立闭源包)。
- Pro 的许可采用 Ed25519 签名密钥离线验证,不会回传信息。
- 资料中未提供具体的收费价格、订阅费用与其他平台支持情况,暂未提供。
开源与反馈
本仓库内容均为 Apache-2.0,可独立使用且永久有效。付费 Pro 附加包为独立的闭源包,用于资助开源工作。“ctxfile”名称与标识为商标,许可证覆盖代码而非名称。欢迎提交 issue、PR 与 harness 报告;问题与功能请求见 issues,提问与分享见 discussions,安全报告请遵循 SECURITY.md(请勿为漏洞开公开 issue)。