机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。
上下文
找到真正可在你的代码库上运行的最便宜的 AI 编码配置。
CTX Fit 分析你的代码库,将有前景的 AI 编码配置在真实任务中进行测试,并将获胜配置生成可审查的更改——在你的工作区中使用 --apply,或者以拉取请求的形式使用 --pr。它选择最便宜且可靠可用的配置——可靠性是硬性要求,不是平手因素——如果没有比你已有的更好的,它会如实说明。
获胜者由固定规则选出,而非评分:剔除所有低于可靠性标准的候选,然后最小化可归因成本,再在平局时倾向选择更简单配置。LLM 可以解释结果,但从不决定结果。
发布范围 (1.0.21)。 CTX Fit 在同一编码代理框架内比较能力配置;不比较 Codex、Claude Code 或其他框架之间的优劣。它能识别并运行 Python、JavaScript/TypeScript、Go、Rust 和 Make 的代码库本地验证命令,并将所选测试命令作为验证权威。对于可安装的 Python 项目,CTX Fit 会构建活动环境并在无网络访问情况下安装;其构建后台及依赖必须无需下载即可使用。在其他生态系统中,仅当运行时可在主机
PATH的隔离主目录中使用且验证依赖已存在于代码库中时才支持验证。最终验证使用该隔离主目录并在无网络的情况下运行,因此用户的包缓存不是支持的依赖来源。这是正常开发的证据;它不能证明恶意代码无法欺骗自身测试运行器。发布资格未包括付费实时服务试用,因此在授权支出前请检查ctx doctor和干运行结果。
pip install --upgrade claude-ctx
cd /path/to/my-project
ctx fit
Bare ctx fit 是免费的、本地的且只读的:它不运行任何模型,不花费任何资源,也完全不发出任何 git 命令。示例输出,摘自针对该代码库的实际运行:
Repository: /path/to/ctx
Languages: python, javascript
Current AI coding setup
Instructions: AGENTS.md, CLAUDE.md
Tool config: .claude/settings.local.json
Installed skills: 26
How this repository verifies itself
test python -m pytest -q
from pyproject.toml [tool.pytest] (high confidence)
typecheck python -m mypy src
from pyproject.toml [tool.mypy] (high confidence)
lint python -m ruff check .
from pyproject.toml [tool.ruff] (high confidence)
build python -m build
from pyproject.toml [build-system] (medium confidence)
AI agent readiness
91/100
Verification 30/30
Instructions 20/20
Environment 6/15
CI enforcement 15/15
Tool safety 10/10
Context tractability 10/10
Highest-impact improvements
1. Commit a dependency lockfile. (+9)
no dependency lockfile is committed
This repository has the static evidence needed to plan an evaluation: it
declares deterministic tests. Whether those tests can execute is checked only
inside the campaign.
需要 Python 3.11 或更高版本。添加 --json 以获得机器可读的输出,或添加 --dry-run 查看完整评估将涉及的内容。--dry-run 会读取你的历史记录——它运行只读 git 查询(log、show --name-only、ls-tree、rev-parse)以推导代表性任务——并且不会写入任何内容:不写入仓库,不写入索引,也不写入任何引用。
在免费配置文件之外,ctx fit --test --budget N 会针对这些任务评估候选配置。进行花费评估需要两个标志:未加 --budget 的 --test 只会生成计划。运行 ctx doctor 查看是否可以在此处进行实际评估。实际评估需要 pip install "claude-ctx[harness]"、带有 npx 的 Node.js 用于工作区文件系统 MCP、匹配的提供程序凭证,以及 Linux 上的 Bubblewrap;基本安装可以进行性能分析、计划和模拟。如果没有匹配的提供程序凭证,--test 在模拟模式下运行,这可以验证管道,但不能验证你的仓库。如果有凭证但缺少运行前提条件,CTX 会在试验设置前拒绝运行。模拟结果不会被接受作为 --apply 和 --pr 的证据。
Ubuntu 24.04:启用 Bubblewrap 打包的 AppArmor 配置文件
Ubuntu 24.04 限制非特权用户命名空间,仅安装 bwrap 并不能证明它可以启动 CTX 用于仓库命令的网络禁用命名空间。为 /usr/bin/bwrap 安装并加载 Ubuntu 打包的、作用域限定的 bwrap-userns-restrict 配置文件:
sudo apt update
sudo apt install bubblewrap apparmor-profiles apparmor-utils
if [ ! -e /etc/apparmor.d/bwrap-userns-restrict ]; then
sudo install -m 0644 \
/usr/share/apparmor/extra-profiles/bwrap-userns-restrict \
/etc/apparmor.d/bwrap-userns-restrict
fi
sudo apparmor_parser -r /etc/apparmor.d/bwrap-userns-restrict
ctx doctor
保持 Ubuntu 的全局非特权用户命名空间限制启用;CTX 使用目标 Bubblewrap 配置文件,而不是削弱系统范围的安全边界。该配置文件是管理员可见的主机策略,适用于每个 /usr/bin/bwrap 调用者,而不是 CTX 私有设置;上面的命令会保留现有的本地配置文件,而不会覆盖它。ctx doctor 在相同的无网络命名空间中用受限的 /bin/true 探针证明了这一路径。它不会执行任何仓库代码,也不调用模型。参见 Ubuntu 的 AppArmor 用户命名空间指南 和 打包的 Bubblewrap 配置文件。
--apply 和 --pr 写入不同的内容
ctx fit --apply 将最终配置写入你的工作树,无论你当前所在的分支。它先打印每个拟议的更改,并在此停止,除非你通过 --yes。写入操作本身不运行任何 git 命令:没有任何内容被暂存、提交或推送。达到该步骤确实会运行 git——没有 ctx fit --test --budget N 的证据,--apply 将被拒绝,并且为该评估生成任务使用了 --dry-run 使用的相同只读查询。
每个拟议的更改都标明文件名以及 CTX Fit 是创建还是修改它。今天每个计划包含恰好一个 CTX 拥有的工件,即 .ctx/fit-configuration.json。Sidecar 记录了固定模型以及被评估的确切指令和能力字节,以及它们的哈希;普通的 ctx run 调用会验证并激活该配置。
| 打印内容 | 写入后的状态 | 查看方式 | 撤销方式 |
|---|---|---|---|
modify: .ctx/fit-configuration.json |
经过比较与交换检查后替换的现有 sidecar | 当被跟踪时使用 git diff -- .ctx/fit-configuration.json;否则直接检查文件 |
从版本控制中恢复被跟踪的文件,或恢复已保存的副本(如果未被跟踪) |
create: .ctx/fit-configuration.json |
新建且未被跟踪,直到你添加它 | 使用 git status --short --untracked-files=all 并直接检查文件 |
删除 .ctx/fit-configuration.json |
CTX Fit 不会重写 AGENTS.md、CLAUDE.md 或其他用户创建的指令文件。它们的评估字节嵌入在 sidecar 中。如果存在未跟踪的 sidecar 对你很重要,请在确认写入前保存一份副本;版本控制的恢复命令无法恢复未跟踪文件。
ctx fit --pr 写入远程仓库。 它创建一个分支,提交最终配置,将其推送到 origin,并通过 GitHub CLI 打开一个 pull request。在运行任何操作之前,它会打印 pull request 的正文、将要写入的文件以及确切的命令序列:
git checkout -b ctx-fit/<timestamp>
git add -- <paths>
git commit -m "<pull request title>"
git push --set-upstream origin ctx-fit/<timestamp>
gh pr create --title "<pull request title>" --body-file -
没有 --yes 时,它会在此处停止并且不做任何更改。使用 --yes 时,它会将这些文件写入工作树,然后按该顺序运行这五个命令,不运行其他命令。在运行任何命令之前,下文所述的门会运行只读探测——git rev-parse、git status、git remote get-url 和 gh auth status——这使得每次拒绝都能让存储库保持原样。CTX Fit 从不进行合并。
如果您不在 git 仓库中、工作树有 CTX Fit 未写入的更改(包括未跟踪文件——它们会被带到新分支上)、gh 未安装或未登录、分支已存在,或者没有要推送的远程,--pr 会在触碰任何内容之前拒绝。每次拒绝都会说明原因,返回非零状态,并且保持工作树未被修改。如果命令在中途失败,CTX Fit 会报告是哪个命令失败、已经执行了多少命令,以及如何返回之前所在的分支;它已经写入的文件会保留在工作树中。
发布: v1.0.21 是 CTX Fit 版本。分发仍然是 claude-ctx ;安装的命令是 ctx。
安装
需要 CPython 3.11 或更高版本。Linux 和 macOS 是经过测试的主机平台;其他 POSIX 系统尽力支持。原生 Windows 和 PowerShell 不受支持。在 Windows 机器上,请在 WSL2 内作为 Linux 安装运行 ctx。
pip install claude-ctx
对于真实的基于模型的评估,请改为安装 claude-ctx[harness],并确保 Node.js 以及 npx 可用。Linux 主机还需要 Bubblewrap。ctx doctor 会在不接触模型或花费金钱的情况下检查这些前提条件。
版本 1.0.21 将 ctx fit 作为主要命令发布,同时提供 ctx doctor 和 ctx advanced。已建立的代理循环拼写(ctx run、ctx resume、ctx sessions)仍然受支持。
推荐界面(现有)
从您想要分析的存储库中,安装运行时图并请求推荐:
ctx-init --graph --model-mode skip
ctx-scan-repo --repo . --recommend
ctx-init --graph 在本地已经缓存了运行时工件时会使用已验证的本地工件,否则它会下载精确的内容寻址 GitHub 发布资源。重量级归档不会存储在 Git 或 Git LFS 中。完整打包的 wiki 是可选的;请参见 知识图谱指南。
每个干净的图谱安装都会生成九个项目拥有的 MIT 许可、无需密钥的备选项:ctx-python-testing、ctx-python-state-protocols、ctx-python-input-boundaries、ctx-python-api-compatibility、ctx-javascript-testing、ctx-rust-patterns、ctx-typescript、ctx-python-reviewer 代理,以及本地 ctx-core MCP 服务器。ctx 会保留不相关的技能、代理、MCP 和已转换技能内容。运行时管理的测试页面会从已安装的工件中刷新。如果遇到意外的保留 ctx-* 身份、主体、覆盖层或父路径,安装将失败关闭。
隐私与遥测
这些控制在版本 1.0.21 中可用。local_redacted 模式下默认启用遥测。事件写入 ~/.ctx/telemetry/events.jsonl,指标写入 ~/.ctx/telemetry/metrics.jsonl,原始提示和查询会被删除或哈希处理。连续的日志、跟踪和指标导出器默认是禁用的。
网络导出需要明确的 ctx-telemetry-export 命令或操作员启用的导出器配置。为了兼容,本地 JSONL 可能保留原始 session_id,因此应将暂存区视为敏感信息。在启用导出之前,请查阅企业遥测指南。
ctx-telemetry-export --dry-run --json
干运行检查本地队列而不导出它。
命令行参考
| 任务 | CLI | 指南 |
|---|---|---|
| 为 AI 编码准备评估仓库 | ctx(与 ctx fit 相同) |
本 README |
| 评估候选配置并选择优胜者 | ctx fit --test --budget N |
本 README |
| 将优胜者写入工作树 | ctx fit --apply |
本 README |
| 使用优胜者发起拉取请求 | ctx fit --pr |
本 README |
| 诊断是否可以在此运行真实评估 | ctx doctor |
本 README |
| 初始化推荐面并安装图数据 | ctx-init |
知识图谱 |
| 扫描仓库以获取技能/代理/MCP 推荐 | ctx-scan-repo |
实体入驻 |
| 连接 MCP、Python 或 CLI 主机 | ctx-mcp-server, ctx advanced run |
主机集成 |
| 检查本地推荐运行时 | python -m ctx_monitor serve |
仪表盘 |
| 审查或导出遥测信息 | ctx-telemetry-export, ctx-telemetry-retention |
遥测 |
本表描述了版本 1.0.21。裸 ctx 不带任何参数就会运行 Fit 配置文件,这就是为什么它未被列在推荐面之下。
代理循环框架(run, resume, sessions)仍然存在并且受到支持。它已移动到 ctx advanced 下,因此顶级帮助保持关于产品的信息,但原始拼写仍然有效:ctx run ... 和 ctx advanced run ... 是同一命令,而 ctx run --help 仍然打印框架选项。只有 ctx --help 发生了变化——它宣传 fit、doctor 和 advanced。以前作为控制台脚本的维护工具可以通过 python -m 访问——例如 python -m ctx.cli.recommend 或 python -m ctx.core.quality.dedup_check。
有关配置、API、实体生命周期和操作详情,请参见完整文档。
示例用户故事
| 跟踪器ID | 用户结果 |
|---|---|
CLI-002 |
扫描存储库并接收受限制的技能、代理和MCP推荐集。 |
CLI-026 |
在安装前与python -m harness_install <slug> --dry-run一起审查自定义模型工具推荐。所需的slug是:--dry-run独自退出2。 |
API-011 |
通过仪表板验证的API管理本地实体。 |
Tracking sources
测试信号
库存徽章报告的是 pytest 收集,而不是笼统的通过声明。CI 徽章链接到已分类更改的 GitHub Actions 工作流;各个作业运行所需的变更流程。
已发布的图形库存
已发布的工件契约为 79,958 个节点的 图,覆盖 68,494 个技能实体页面 , 467 个代理 , 10,790 台 MCP 服务器 ,以及 207 个测试架 。
许可证
MIT. See LICENSE.
- 本文标题:ctx - CTX Fit 会找到在你的代码库上可靠工作的最便宜
- 本文链接:https://www.cn121.com/wiki/stevesolun-ctx.html
- 原项目:stevesolun/ctx 版权归原作者 stevesolun 及贡献者所有
- 收录信息:本站于 2026-10-10 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
- 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。
- 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 stevesolun/ctx。
- 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
- 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
- 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。