ModelCtx

开源 · Apache-2.0 · 早期开发(M0)

看见 agent 真正看到的上下文。

ModelCtx 定义 agent 上下文的开放数据模型 CCM,把各 agent 客户端的会话转换成 CCM,并展示每次模型调用时的上下文窗口,包括主 agent 与子 agent 之间如何交接工作。

快速开始在 GitHub 查看

第 37 次调用 · 128k 窗口100%
  • 系统提示 + 工具 9%
  • AGENTS.md 4%
  • 压缩摘要 11%
  • 消息 22%
  • 工具结果 38%
  • 剩余 16%
示意:某次模型调用推导出的上下文窗口

调试任意 agent,分享任意运行,守住每一份数据。

不必再为每个 agent 自建调试界面

转换一次会话,就能看到完整轨迹:Thread、Turn、工具调用和压缩。不必再为每个 agent 单独维护可视化。

用一个链接分享运行记录

一条命令上传,再发一个链接,其他开发者就能在 ModelCtx Studio 里打开真实会话,而不是看截图。

数据默认只有你能读

本地优先,本机脱敏,云端端到端加密,服务端只存密文。

ModelCtx Studio、个人空间和分享链接计划在 M1–M3 里程碑上线;目前已提供数据模型与转换器。

Trace 是输入,Context 是产品

追踪工具记录发生了哪些调用;CCM 记录每次调用时窗口里有什么、来自哪里、占多少 token、为什么被压缩或丢弃。基本概念沿用 Codex app-server 与 Claude Code 会话记录。

Thread

一个上下文窗口:主 agent、子 agent 或 fork。

Turn

由一次输入触发的一个工作单元。

Item

带生命周期的原子记录:用户消息、agent 消息、推理、工具调用、压缩、注入。

Memory

跨 Thread 共享的记录存储,例如 AGENTS.md。

上下文窗口由记录推导得出,不单独存储:取 Thread 自上次压缩以来模型可见的 Item,再加上该 Thread 的指令。

快速开始

把 Claude Code 或 Codex 会话转换成 .mctx 文件,再查看其内容。

git clone https://github.com/modelctx-ai/modelctx
cd modelctx && bash scripts/setup.sh

# Claude Code → CCM
node apps/cli/dist/cli.js convert ~/.claude/projects/<project>/<session>.jsonl -o session.mctx
node apps/cli/dist/cli.js inspect session.mctx

# Codex CLI: all of ~/.codex/sessions
node apps/cli/dist/cli.js convert --from codex -o codex.mctx

来源

Claude Code已有转换器(合成样本)
Codex CLI已有转换器(合成样本)
Gemini CLI、Cursor、OpenCode 等计划中
OpenTelemetry GenAI、Langfuse、LangSmith计划中

它不是什么

ModelCtx 不是 agent 运行时,也不是生产级可观测后端。它与 Langfuse、LangSmith、OpenTelemetry GenAI 互通,不取代它们。