mcpField
M
mdflow — Context OS for AI Coding Agents

mdflow — Context OS for AI Coding Agents

本地服务
github.com/yubinbin32-ops开发工具132 周前更新

关于 mdflow — Context OS for AI Coding Agents

ContextOS 是面向 AI 编码 Agent 的本地开发运行时,将代码证据、命令、架构、计划和验证状态保存在对话之外。它覆盖项目理解、实现与审查,并可选用 Micro 和隔离式 CLI worker。

主要功能

  1. 01按任务检索源码与 AST 证据
  2. 02持久保存命令输出和回执
  3. 03架构 Blocks 与 Chains
  4. 04范围化修改与验证
  5. 05可选 Micro 和隔离式 CLI worker
  6. 06可恢复的计划与项目状态

适用场景

  1. 01查阅相关代码而不加载整个文件
  2. 02获取测试重点输出而无需重跑命令
  3. 03委派实现并审查隔离的改动
  4. 04在新会话中恢复项目工作

MCP 相关

ContextOS 提供本地 MCP 运行时,让编码助手操作仓库和项目状态。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"yubinbin32-ops-mdflow": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MDFLOW_PROJECT_ROOT",
"ghcr.io/yubinbin32-ops/mdflow:0.3.7"
],
"env": {
"MDFLOW_PROJECT_ROOT": "<MDFLOW_PROJECT_ROOT>"
}
}
}
}
启动命令docker run -i --rm -e MDFLOW_PROJECT_ROOT ghcr.io/yubinbin32-ops/mdflow:0.3.7
需要配置的环境变量
MDFLOW_PROJECT_ROOTAbsolute path of the mounted project directory containing .mdflow.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/yubinbin32-ops/mdflow:0.3.7

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

ContextOS 标志

ContextOS

AI 开发的上下文外骨骼。

优化完整开发生命周期。减少重复的 Token 使用,并让上下文保持聚焦。

GitHub release GitHub stars Node.js 22+ MIT license

本地 MCP 运行时 · 精准证据 · 持久化回执 · 实时架构

中文 · 通过 AI 安装 · 实测结果 · 桌面应用

为你的 Agent 配备外骨骼

ContextOS 桌面端演示

ContextOS 是一个本地开发运行时,位于 AI 编码 Agent 与代码仓库之间。它将源代码证据、命令日志、计划、架构和验证回执保存在主对话之外,然后返回下一步决策所需的内容。

OS 支持完整的 AI 开发生命周期:理解项目、规划、检查证据、执行、实现、验证、审查和恢复工作。精准读取、可复用命令、流水线、Blocks、Chains、持久化计划、Micro 和 CLI 都服务于同一目标:减少不必要的 Token 消耗和上下文占用,同时让开发以可检查的项目状态为依据。

你现有的编码助手仍由你掌控。OS 在其下方提供执行和记忆层,其中包括有界的 API Micro 辅助,以及在任务适合委派时采用隔离的 CLI 实现。

在一项录制的真实开发任务中,与原生工具相比,完整的 OS + Micro + CLI 工作流将主线程上下文峰值降低了 63.8%,并将主线程累计原始 Token 降低了 77.4%。查看下方的任务、比较和限制。

为什么长时间编码会变得成本高昂

一个小问题往往会触发大段文件读取。一次测试失败就会让日志塞满对话。Agent 会反复查看相同代码、重复运行命令,并花费精力重新梳理先前做出的决定。随后,多文件实现又与规划和审查共用同一个上下文窗口。

结果很熟悉:对话变得拥挤、解释一再重复、项目状态难以确定,也没有足够空间进行下一个有价值的决策。更大的上下文窗口只是推迟问题;开发需要一种能让工作跨越工具和会话延续下去的方式。

OS 如何延续工作

You → Main agent: plan, scope, architecture, review
          │
          └─ ContextOS: evidence, commands, changes, persistent state
                ├─ API Micro: bounded discovery, summaries, small checks
                ├─ CLI worker: isolated implementation → report → integration
                └─ Desktop App: architecture, plans, checkpoints, settings

证据和日志会保存在本地。工作者在各自的上下文中读取任务证据,并返回精简的报告。变更通过 OS 传递,以保持文件归属、验证和项目图谱彼此关联。新会话可以恢复计划和回执,而不必重新梳理整段对话记录。

能力及其实际效果
能力工作方式实现效果
证据 · ask检查确切路径、行范围和 AST 符号;通过结果 ID 恢复早先的证据,并检查源代码版本。阅读相关实现,并复用有效证据,而不是反复加载整个文件。
命令 · command执行一次,保存 stdout/stderr 和退出状态,然后通过命令 ID 获取指定部分。将构建噪声留在主上下文之外,无需重新运行进程即可获取有用的失败信息。
批处理 · pipeline按串行或并行方式组合已知步骤,并提供每步结果和继续执行能力。减少工具往返次数;通过一次调用组合相互独立的读取和检查。
架构 · Block将精选的源文件绑定到具有边界、状态和验证证据的架构单元。明确归属,并让实现变更与架构保持关联。
架构 · Chain将 Block 连接成项目路径,并记录它们之间的关系和进度。查看各项能力之间的依赖关系,并跨模块边界跟踪功能。
变更 · change / integrate通过 OS 应用范围明确的变更,或合并工作者隔离的差异,并附带验证凭证。审查实际变更,并在实现过程中保持架构状态更新。
轻量助手 · micro配置的 API 模型执行范围有限的检索、摘要、诊断或小幅编辑,并返回精简报告。将常规工具循环转交给成本更低的助手上下文;让主 Agent 专注于判断。
实现 · agent配置的 CLI 适配器在隔离工作区中执行任务,支持后台收集,并返回变更、检查结果和阻碍因素。将复杂实现移出主对话,并整合可供审查的结果。
连续性 · 计划、任务、会话在项目的 OS 状态中保存意图、进度、规则、决策和凭证。跨对话继续实际项目工作,并在 App 中检查进度。

当任务约定明确时,Micro 和 CLI 会有所帮助。小型确定性读取可直接使用 OS;大型实现则适合交给 CLI 工作者。委派会产生开销,因此 OS 会让其执行过程和结果可供检查。

三种开发工作流的实测对比

记录的对比从提交 0dd6431 开始。全新的宿主对话和隔离工作树接收了相同的真实功能任务:计划依赖项的添加/移除/列出、持久化、对未知目标、重复项、自引用和循环的验证、MCP 路由,以及覆盖领域、应用、存储和 MCP 层的测试。历史测量记录。

工作流主线程上下文峰值相较原生工具的减少幅度主线程原始令牌数通过的测试
原生工具234,174基准8,016,375778 / 778
OS + API Micro145,69437.8%4,993,135778 / 778
OS + API Micro + CLI84,68163.8%1,809,566781 / 781

**这里的“上下文减少 60%”是什么意思:**主 Agent 单次请求的输入峰值从 234,174 个令牌降至 84,681 个令牌。这描述的是这项实测任务,而非对每个代码库的承诺,也不代表所有工作者令牌的总和。

完整令牌用量、指定的等效美元成本,以及仅使用 OS 的对照组

原始令牌数为累计输入加输出;上下文峰值为主 Agent 单次输入的最大值。缓存输入计入输入,因此 uncached = input − cached。推理令牌计入输出,不会重复计数或收费。

指定的对比采用以下公式:equivalent tokens = main raw + (Micro raw + CLI raw) / 7:

Arm / 工作流Main 原始值Micro 原始值CLI 原始值观察到的原始总量等效 Token 数相较原生方案的降幅
A · 原生方案8,016,375008,016,3758,016,375基线
B · 仅 OS,不使用助手6,119,582006,119,5826,119,58223.7%
C · OS + Micro4,993,135734,55105,727,6865,098,070.936.4%
D · OS + Micro + CLI1,809,5663,258,709†4,393,1189,461,393†2,902,684.1†63.8%†

美元成本采用用户指定的每百万 Token 对比费率:未缓存输入为 $2,缓存输入为 $0.10,输出为 $10:

base USD = (uncached input × 2 + cached input × 0.1 + output × 10) / 1,000,000

equivalent USD = main base USD + (Micro base USD + CLI base USD) / 7

Arm角色输入缓存输入未缓存输入输出基础美元成本除数等效美元成本
AMain7,971,4867,773,056198,43044,889$1.62305561$1.6230556
BMain6,073,0145,945,216127,79846,568$1.31579761$1.3157976
CMain4,952,7534,710,016242,73740,382$1.36029561$1.3602956
CMicro720,163636,80083,36314,388$0.37428607$0.053469428571
DMain1,788,8521,746,56042,29220,714$0.46638001$0.4663800
DMicro3,211,208†3,007,232†203,976†47,501†$1.1836852†7$0.169097885714†
DCLI4,355,2834,214,016141,26737,835$1.08228567$0.154612228571
工作流等效美元总成本相较原生方案的降幅
原生方案$1.623055600000基线
仅 OS$1.31579760000018.9%
OS + Micro$1.41376502857112.9%
OS + Micro + CLI$0.790090114286†51.3%†

这些是按指定模型计算的等效用量和成本,并非实际的服务商账单或经核实的服务商费率。助手的 7 倍除数是选定的对比假设。所有 Main 会话均报告 deepseek-v4.1-flash 别名、max 推理强度和自定义服务商;Micro C/D 保留了相同的会话 lastModel,D CLI 也报告了相同的别名和自定义服务商。这并不能独立验证底层后端模型。

Main 用量按服务商响应 ID 去重,并与终端累计总量一致。C Micro 有 2 条收据,26/26 个已启动请求均有服务商用量数据。D CLI 有 51 个唯一累计状态,其最后一次用量的总和与终端总量一致。† D Micro 有 5 条收据、129 个已启动请求和 128 个包含用量数据的响应。一个续接超时请求的用量未知。 D 的总量和 51.3% 的成本降幅是观察到的小计;未将缺失请求视为零。原始 Micro 推理字段不可用,因此仍为未知。

完整工作流的观察到的原始 Token 总数高于原生工具,但降低了 Main 上下文峰值。仅 OS 工作流的峰值为 184,507 个 Token(−21.2%),且在本次运行中的等效美元成本低于 OS + Micro。这是一个功能的历史单次运行对比;结果会随任务、模型、缓存和委派情况而变化。

查看冻结的证据和方法、原始用量字段和覆盖范围、按角色划分的成本 CSV,以及四种方案的总量 CSV。使用以下命令重新计算并检查已发布文件的哈希:

python3 docs/benchmarks/plan-dependencies/recalculate.py --check
## 在 App 中查看项目

桌面 App 展示与 Agent 使用的相同 OS 状态:Blocks、Chains、计划、检查点、规则和知识。白色画布、克制的配色和清晰的连线,让大型项目一目了然。

实时 Block 和 Chain 架构画布

一眼看清整个系统。 沿着 Chain 查看其中的 Blocks,检查选中的能力,并在图表旁查看实现和验证进度。

追踪功能并检查其证据

横跨集成、UI 和测试 Blocks 的功能路径

追踪跨模块的影响。 高亮显示的 Chain 将集成、打包和验证工作连接起来。

包含收据引用的已通过检查点

查看完成背后的证据。 检查点会显示其状态和收据引用。

查看项目知识并同步工具

项目知识和规则导航

随手查阅项目知识。 从项目侧边栏打开仓库文档和规则。

桌面阅读器中的仓库 README

在 App 中阅读文档。 阅读器会在项目旁打开仓库内容;性能数据以如下可复现的证据为准。

桌面设置和 AI 编辑器同步

管理开发环境。 设置可在 App 中管理偏好设置和宿主集成。配置共享模型和推理级别,让各角色通过 Use Global 继承这些设置,并为 Micro 和 CLI 适配器同步可用模型和推理力度选项。

上方的设置图片展示的是较早通过验收的布局。

AI 宿主中的 MCP 和技能集成

在编码助手中使用 OS。 宿主会加载 MCP 运行时和相应技能,让 Agent 能够操作项目状态。

部分图库图片来自早期构建版本,仍保留旧名称 mdflow 或较早的版本标签。这些图片展示了工作流;当前运行时和配置请以安装程序为准。

用一条提示词安装

将以下内容粘贴到 AI 编码助手中:

读取 (https://github.com/yubinbin32-ops/ContextOS/blob/main/setup.md) ,为我安装OS

Agent 会读取 setup.md,安装 OS 和相应的宿主插件/技能,注册你的仓库,配置 API Micro 和 CLI,并通过实际工具调用验证结果。它会为你处理依赖项检查、适配器创建、插件设置和问题诊断。

你无需手动下载并配置 Release 包。 安装指南专为执行安装的 Agent 编写,涵盖问题诊断、适配器配置、插件安装和验收检查。

Micro 是必需的

Micro 是处理日常工作的轻量助手,其 API 连接是 OS 工作流的必需条件。请准备 API 密钥、提供商基础 URL 和模型。仅有主 Agent 订阅或 CLI 登录,并不能配置 API Micro。

推荐选项:

  • **Command Code GOAT:**包含 Provider API 访问权限。在其控制台中创建密钥;让 Agent 使用提供商当前的端点和准确的模型 ID。
  • **OpenCode Go:**提供订阅 API 密钥和可用的编码模型。让 Agent 检查当前模型列表和 API 配置。
  • **你自己的兼容 API:**使用你已信任的提供商,包括 DeepSeek API。

对于范围明确的 Micro 任务,如果提供商支持,我们推荐使用 DeepSeek V4.1 Flash,并设置 medium 推理级别。DeepSeek 官方模型 ID 为 deepseek-flash;网关可能使用不同的 ID。安装程序必须验证模型是否可用,并映射提供商的推理设置,而不能假设所有 API 都接受相同的参数。

请将密钥保存在安装程序设定的本地凭据/配置路径中。不要将其粘贴到仓库文档或受版本控制的源文件中。

CLI 设置由 Agent 完成

CLI 工作器需要可用的 CLI 安装、适配器、匹配的 ContextOS 插件/技能,以及经过验证的身份验证执行路径。告诉 Agent 你使用的 CLI;它应查阅该 CLI 的官方文档、编写适配器、配置 OS,并运行真实探测和隔离的实现检查。

登录、浏览器授权或操作系统权限可能需要你操作。Agent 应指出具体需要你执行的步骤,继续完成其余设置,并在你完成操作后验证是否已就绪。仅发现二进制文件或保存适配器,并不代表安装成功。

需要 Node.js 22 或更高版本。插件/运行时更新后,请按设置说明重新加载宿主的 MCP 进程。请确保 App、插件、技能和运行时版本相互匹配。

日常使用:用自然语言操作

你的需求对 Agent 的提示词
开始执行计划任务“将此计划写入 OS 并开始执行。”
明天继续“读取当前 OS 计划和会话状态,然后继续下一个未完成的任务。”
配置轻量助手“帮我配置 Micro,验证其 API 连接,并用它处理范围明确的任务。”
配置实现工作器“帮我配置 CLI。编写它的适配器,安装 ContextOS 插件,并测试隔离的实现。”
调查 Bug“使用 Micro 找出原因;提供相关证据和一份简洁的诊断。”
实现功能“将此实现任务委派给 CLI,在隔离的工作区中完成并验证,然后通过 OS 集成结果。”
查看进度“更新 Blocks、Chains 和检查点,方便我在 App 中查看进度。”
切换工具“切换到我配置的另一个 CLI 适配器,并在下一个任务开始前验证它。”

主 Agent 负责维护验收标准并进行最终审查。Micro 和 CLI 负责范围明确的任务;OS 则在它们之间保留证据和进度。

3.0.0 版新特性

基于 4706c38 准备的 3.0 系列将 ContextOS 重构为覆盖 AI 开发生命周期的外骨骼:

  • 精准证据与可复用命令让源码检查和执行结果保持聚焦且可恢复。
  • 流水线与已验证的更改将批量执行、限定范围的编辑和可审查的结果连接起来。
  • 架构与连续性让计划、任务、会话、Blocks、Chains 和回执在不同对话之间以及桌面 App 中随时可用。
  • 适合任务的委派在同一 OS 生命周期中加入有边界的 API Micro 辅助和隔离的 CLI 实现。
  • AI 主导的安装将提供商配置、宿主插件、CLI 适配器、诊断和实际验收检查纳入设置流程。

请参阅 3.0 版发行说明、安装指南和发行历史。

如果 ContextOS 能帮助你的 Agent 保持专注,请为项目点亮星标。可复现的任务和问题报告有助于我们改进下一个版本。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。