
argot
io.github.get-tmonier由 GitHub 账号 get-tmonier 发布v0.2.127更新于 Oct 25, 2026
Read-only context and complete checks against patterns learned from git history. Local; no LLM.
概览
Argot 是一个本地、只读的 MCP 服务器,让助手依据仓库自身 git 历史学到的模式对改动做统计式检查。
- 可以做什么
- 提供已拟合仓库的只读上下文,包括学到的约定与历史模式,并为每条发现附带仓库证据,便于助手解释某处改动为何显得陌生。提供代码块级与完整变更集检查,标记陌生导入或调用、罕见词元、违背约定、已被取代的写法、重复或位置不当的函数、反向的分层依赖,以及被削弱或删除的测试。把发现呈现为待人工判断的审查提示,而非结论,由用户决定是否接受。仓库拟合本身仍是独立的本地 CLI 或技能流程,不是 MCP 操作。
- 适用场景
- 适用于审查 AI 或人工提交的拉取请求,且仓库有可用的 git 历史;希望助手指出类型正确但在风格或结构上与该代码库格格不入的代码时使用。它只是审查辅助,不是正确性判据,应与常规审查和测试配合。
- 运行要求
- 以本地 stdio 进程运行,通过 npx 从 npm 包 @tmonier/argot 启动(也可全局安装)。仓库需先用本地 CLI(argot init)完成拟合,并具备可用的 git 历史与受支持的源码;依赖模型的工具需要该拟合快照。无需账号、API 密钥或网络访问,嵌入模型随二进制一同提供。
安装
在 SourceWeft 中
- 打开 控制台中的 argot,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Lint the rules you never wrote down.
AI writes the code. argot harnesses it with the one thing that can’t
hallucinate: your repo’s own history.
Statistics, not a second LLM. 100% local. It surfaces the divergence — you
decide what to accept.
argot.tmonier.com · Documentation · Evidence · Research log
[One statically-linked Rust binary] [100% local, no cloud, no account] [12 supported languages] [Benchmarked on 36 real repositories]
Start with an audit
argot audit needs no prior Argot fit or configuration. It fits a historical
base in a temporary worktree, then evaluates the surviving base-to-HEAD net
diff. Your working tree is left untouched. It is a review prompt—not a census
of who wrote code, or proof that a finding is a defect.
Windows: powershell -c "irm https://github.com/get-tmonier/argot/releases/latest/download/argot-installer.ps1 | iex".
The npm package is also available as npm install -g @tmonier/argot.
Audit needs usable Git history and supported source. It has no fixed runtime promise. It runs fully offline — the code-embedding model behind the semantic findings ships inside the binary. See Getting started for install and fit details.
If the audit gives you a useful lead, fit the current repository and score the changes you intend to review:
Review and commit the generated argot.toml and .argot/ fit snapshot, then
merge it into the branch future PRs target before adding a CI workflow. Local
tools and CI then use the same learned baseline. CI only reads the base branch
snapshot; it never fits, so the initial snapshot PR must be separate from the
CI-workflow PR. argot status later recommends a local
fit-and-commit refresh only when accepted source, function, or layout surfaces
have materially changed. Commit count and age are not refresh triggers by
default; [fit] refresh-after is available only as an explicit team backstop.
The argot-refresh skill re-audits exclusions, structural paths, and mutes
before fitting, so a reorganized repository does not blindly relearn old scope.
The embedding model itself ships inside the binary. Git stores only the repository-specific learned snapshot—typically a few MB to a few tens of MB—so every clone can reproduce the check without retraining or operating a service.
check reports patterns worth reviewing on the selected changeset; a clean result
does not prove the change correct or fully idiomatic. Read the
Audit,
Init and Fit, and
Check guides for the exact contracts.
What it surfaces
Type checkers ask if it compiles. argot asks if it’s yours. A clean, type-correct, well-reviewed pull request can still be foreign to the repository it lands in. These are the rules argot ships, every one of them learned from your own history rather than configured by hand:
Repositories add their own on top — a TOML manifest plus a sandboxed Rhai
script under .argot/rules/, with working ones to copy in
examples/rules/. No recompilation.
argot is a probabilistic review guardrail, not a correctness oracle. Each finding carries repository evidence. Treat it as a prompt to inspect and make the human decision explicit—never as proof that the code is wrong.
Choose how to run it
The CLI is the complete, explicit changeset check. Other routes have narrower triggers and coverage; none provides a universal acceptance-time check.
Canonical setup and host details: Claude Code, other agents and MCP, and CI and pre-commit.
Evidence and limits
Current public measurements are detector-specific, not a product-wide accuracy or combined-brief claim. The approved claim manifest records:
- visible foreign-symbol fixtures: 620/637 — 97.3% across 36 corpora and 12 languages;
- reinvention fixtures: 545/584 — 93.3% across 31 corpora and 11 languages;
- placement transplants: 12,899/13,456 — 95.9% across the 22 evaluable corpora and 11 languages (the other nine abstain because their layouts have no separable architecture);
- layering fixtures: 264/272 — 97.1% across 25 corpora and 12 languages;
- test-integrity fixtures: 154/164 — 93.9% across 23 corpora and 12 languages.
A catch rate means little without the noise it costs, so both are published. On the same 36 corpora, the voice detectors flag 0.25% of ordinary accepted edits — and 0.00% of the hunks in newly added files, where a repository has the least to say about what belongs.
Each number has a distinct corpus, denominator, and qualifier. The combined briefing/noise result and ordinary-repository timing are not yet measured public claims. See the benchmark methodology and sources.
Argot ships adapters for 12 languages. The five tested release targets are macOS arm64/x64, Linux x64/arm64, and Windows x64. The local analysis path uses statistical, graph, scripted, and embedding evidence; no generative or opinion-forming model decides a finding.
Fit health matters. A repository with shallow, generated, vendored, or otherwise unsuitable history may not produce a useful model. Argot is also least reliable for an incorrect choice made entirely with familiar vocabulary, masked prose, and code outside the selected range. Read Limitations before relying on a specific detector.
Reproducible authored proof
This is an authored fixture, not a wild-case corpus. Its pinned command, version, receipts, checksums, regeneration procedure, and the visual’s non-byte-stable GIF qualification are documented in the proof receipt. The image is a reproducible companion to the auditable Markdown receipt.
Privacy and open source
Argot analyzes source, history, and findings locally. The individual local core
is free, MIT-licensed open source, and requires no account or cloud service.
Argot has no default telemetry and does not upload source code. No analysis it
performs needs a network at all — the code-embedding model behind the semantic
findings is compiled into the binary. It can still use network paths for
update/version checks, release downloads, or an explicitly configured
review/update/CI integration. Set ARGOT_OFFLINE=1 to prevent network use;
nothing analytical is lost.
Read the complete privacy and security boundary, security policy, and MIT license.
Contribute
Contributions are welcome. Start with CONTRIBUTING.md, then see the product strategy for the maintained decision record and research log for evidence.
Acknowledgements
Every number argot publishes is measured against the real history of 36 open-source projects, across the twelve supported languages — fastapi, rich, faker, saleor, wagtail, scrapy, hono, ink, faker-js, excalidraw, outline, express, commander, eslint, gh-cli, hugo, ripgrep, bat, guava, junit5, powershell, jellyfin, redis, curl, rocksdb, fmt, homebrew, rubocop, laravel, composer, castle-engine, mORMot2, uos, ideU, MSEide/MSEgui, and dagster.
The benchmark would not exist without them, and we are grateful to their
maintainers and contributors. Argot vendors and redistributes none of their
code: the harness clones each repository at a pinned SHA, reads its history
locally, and ships nothing from it. Each project remains under its own license,
held by its own authors. Full list with links, and what argot does commit:
benchmarks/README.md.
argot does redistribute one thing. The model behind redundant and misplaced
is a 15.6M-parameter static table distilled from
jina-embeddings-v2-base-code
(Jina AI, Apache-2.0) using the
model2vec technique (MinishLab, MIT).
Its weights are compiled into the binary and redistributed under Apache-2.0;
full terms in NOTICE. argot is not affiliated with either project.
来源:README.md,提交 254a7ef
工具
0版本历史
1- v0.2.127最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分