chargehand

io.github.Egoushka由 GitHub 帳號 Egoushka 發布v0.19.23更新於 Nov 13, 2026

Runs coding-agent workers on a codebase question; every claim in the answer carries evidence.

已驗證STDIO僅桌面開發者工具AI 與機器學習

概覽

AI 產生的概覽

在程式碼儲存庫上執行唯讀編碼代理工作階段,回傳每項論斷都引用固定提交中檔案與行號的答案。

可以做什麼
  • 針對程式碼庫提問,取得含論斷、引用、未決問題、信心度與成本的型別化結果
  • 依預設集執行工作階段,具備 token 與金額預算、可選的唯讀子任務拆分,以及超限時的審核中斷
  • 透過 code 預設集與沙箱化批次任務產出已測試的分支或草稿拉取請求
  • 檢視執行日誌、快取與路由,並以成對評測把關提示詞或預設集變更
  • 可從 MCP 用戶端、HTTP API、命令列、瀏覽器操作主控台或 Claude Code 外掛指令使用
適用情境
當你希望助理對儲存庫的回答可被查核而非只是散文式描述時適用:每項論斷都指向固定提交中的檔案與行範圍,無法解析的論斷會轉為未決問題。也適合希望在代理執行外圍加上預算、預設集與提示詞日誌的團隊。
執行需求
透過 dnx 以 stdio 在本機執行,需要 .NET 10 SDK;需要 PATH 中已登入的 Claude Code 2.1.283,或以 OpenCode 作為工作執行環境。必須提供工作權杖:來自 claude setup-token 的 CLAUDE_CODE_OAUTH_TOKEN,或 ANTHROPIC_API_KEY。可選 CHARGEHAND_PROFILE 與 CHARGEHAND_RUNTIME。僅限桌面端。
安裝前請注意
ANTHROPIC_API_KEY 依 token 計費,執行本身也帶 token 與金額預算,代理工作可能產生費用。此伺服器會啟動讀取儲存庫複本的代理工作階段;寫入類預設集與批次任務會建立分支,並可能開啟草稿拉取請求。專案仍在 1.0 之前,請固定具體套件版本並在升級前閱讀變更日誌。引用解析只確認目標存在,並不確認其內容支持該論斷。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 chargehand,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[chargehand]

[status: Active] [CI] [last commit]

chargehand

Ask a question about your code from Claude Code or any MCP client and get back claims that each cite a file at a pinned commit, checked before you see them.

Active. I work on it this month.

mermaid
flowchart LR  caller[You or a program<br/>CLI · HTTP · MCP] -- request --> intake[Intake<br/>picks an action]  intake -- answer or split --> workers[Agent sessions<br/>Claude Code or OpenCode]  intake -- ask · deny · improve --> result  workers -- claims + citations --> resolver[Evidence resolver<br/>checks each citation]  resolver --> result[Typed result<br/>claims · open questions · cost]  workers -. code preset, driven batches .-> branch[Tested branch<br/>or draft pull request]  resolver --> log[(Run log<br/>tokens · cache · prompts)]

Why

Coding agents answer in prose. A program that calls one needs something it can check: claims tied to files at a commit, diffs, session messages or the caller's own inputs, plus a confidence and the exact prompts behind the answer. I also wanted the control flow (the task graph, budgets, retries, parallelism) in code rather than in a prompt, so each agent's context stays small, cached and disposable.

What it does

Answers with checked citations. You ask a question about a repository; chargehand runs a read-only agent session (Claude Code or OpenCode) on a clone at a pinned commit and returns typed JSON (result/v1): claims, open questions, a confidence, the cost and the prompts behind it. A citation is a file and line range, a commit, a diff range, a session message or an input id. Each one must exist at the pinned commit before a claim leaves its worker; the worker gets one repair turn, and claims that still fail move to open questions.

You reach it as an MCP server (stdio or HTTP), an HTTP API or a CLI. Presets (default, cheap, thorough, strict, draft, review) set the tools, the token and dollar budgets and whether a question may be split into 2 to 4 read-only subtasks.

Also in the box, each with its own guide:

  • A code preset and driven batches that write a tested branch or a draft pull request in a sandbox (Writing a branch, Driven sessions).
  • /chargehand:change, a Claude Code plugin command: one prompt to a reviewed change on a local branch (the change command).
  • An operator console in the browser (Web UI).
  • Prompt CI, which gates prompt and preset changes on paired evals; the run log records tokens, cache hits, cost and the prompt chain of every call (Prompt CI).

Not here: an agent loop of its own, direct calls to model providers, a model gateway, a memory store (it uses yours over MCP), a hosted service. A citation that resolves points at something that exists; checking that the cited text supports the claim is planned, not built (roadmap).

[!WARNING] Before 1.0. The images have no latest tag: pin an exact version and read the changelog before you upgrade.

Quick start

Ask Claude Code a question about your own repository, with no clone of chargehand.

You need:

  • the .NET 10 SDK (dotnet --version prints 10.x), which provides dnx;
  • Claude Code 2.1.283 on PATH (claude --version), signed in (run claude once);
  • a token for the workers: claude setup-token prints one for your subscription (an ANTHROPIC_API_KEY works too and bills per token).
bash
claude mcp add chargehand -e CLAUDE_CODE_OAUTH_TOKEN=<token> -- dnx [email protected] --yes -- mcp

Replace 0.19.4 with the newest version of the Chargehand package on nuget.org and pin it: the package changes before 1.0. In a Claude Code session in the repository you want to ask about, say: use chargehand to find where retries are decided, and cite the code. The answer lists claims, each with its file and lines. Other editors and agents (Cursor, VS Code, Codex, Gemini CLI and more) are in Connect your editor or agent.

From a clone, to ask one question about chargehand itself without MCP: it needs the .NET 10 SDK, git and the same Claude Code, signed in. With no profile, the workers use the CLI's own login and default model.

bash
git clone https://github.com/Egoushka/chargehand.git && cd chargehandcat > request.json <<EOF{  "contract_version": "request/v1",  "text": "Where does a split node decide whether to fork the first node's session? Cite the code.",  "context": { "interactive": false, "preset": "default",               "repository": { "path": "$PWD", "commit": "$(git rev-parse HEAD)" } }}EOFdotnet run --project src/Chargehand.Cli -- run < request.json

It prints result/v1 on stdout: claims with citations, open questions, a confidence and the cost. The quickstart guide explains every field, OpenCode instead of Claude Code, and what to do when a run fails.

How it works

  1. Intake reads the request (request/v1) and writes a Task Spec: one action, answer, split, ask, deny or improve. The last three stop the run with questions, a reason or a better request. A preset can also stop a run for approval above a risk or cost estimate.
  2. Workers are ordinary Claude Code or OpenCode sessions on a clone of the repository at the pinned commit, inside the directories the profile allows. chargehand never calls a model provider itself.
  3. The evidence resolver checks every citation against git, the session and the request. The invariant: no claim reaches the result unless its citations resolved.
  4. The result (result/v1) carries the claims, the open questions, usage and the prompt chain. The same record goes to the run log, which show, cache and routes read.

Writing runs follow the same path with a sandboxed worker: the code preset verifies a branch with the repository's tests, and driven batches add an egress allowlist, a runner that alone holds the Docker socket, and a check gate before a pull request opens. ARCHITECTURE.md maps the code.

Numbers

ValueSource
Citations that resolved, read-only runs50 of 50 (phase 3), 99 of 99 (phase 4)benchmarks
Cost of a split against one plain session1.53× ($0.00754 vs $0.00492 a run) for a blind score of 0.967 vs 0.950phase 4
Deliberate prompt regressions Prompt CI blocked1 of 2, and only after the score added completenessPrompt CI
Quality benchmark on public repositories13 tasks over 4 pinned repositories; no real run yetbenchmark
Users1, mecounted

Lessons

  • Parallelism did not pay on the questions I measured. Splits resolved every citation but cost half again as much for a small score gain, so the shipped default, review and draft presets allow no split (ADR 0017).
  • A score that measures what run-time checks already enforce catches nothing. The first Prompt CI score measured grounding, which the resolver already forces, so a prompt that dropped a third of the claims passed. The score now multiplies grounding by completeness (ADR 0019).

Docs

License

Versions after v0.19.19 are under the Functional Source License, Version 1.1, ALv2 Future License (FSL-1.1-ALv2): you may use, copy, modify and redistribute the code for any purpose other than a competing use, and each version converts to Apache-2.0 two years after its release.

Releases up to and including v0.19.19 were published under Apache-2.0 and remain Apache-2.0 (LICENSE-APACHE-2.0). See NOTICE.

來源:README.md,提交 d9e29ac

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:該軟體包類型無法在沙箱中執行。

版本歷史

32
  1. v0.19.23最新Nov 13, 2026
  2. v0.19.21Nov 11, 2026
  3. v0.19.14Nov 7, 2026
  4. v0.19.11Nov 4, 2026
  5. v0.19.10Nov 3, 2026
  6. v0.19.9Nov 1, 2026
  7. v0.19.8Oct 30, 2026
  8. v0.19.7Oct 30, 2026
  9. v0.19.6Oct 29, 2026
  10. v0.19.2Oct 26, 2026
  11. v0.19.0Oct 26, 2026
  12. v0.18.1Oct 24, 2026
  13. v0.18.0Oct 23, 2026
  14. v0.17.0Oct 22, 2026
  15. v0.15.0Oct 21, 2026
  16. v0.14.1Oct 20, 2026
  17. v0.13.1Oct 19, 2026
  18. v0.12.0Oct 19, 2026
  19. v0.11.0Oct 19, 2026
  20. v0.10.1Oct 18, 2026
  21. v0.9.6Oct 14, 2026
  22. v0.9.5Oct 14, 2026
  23. v0.9.4Oct 13, 2026
  24. v0.9.1Oct 13, 2026
  25. v0.8.8Oct 12, 2026
  26. v0.8.6Oct 10, 2026
  27. v0.8.5Oct 10, 2026
  28. v0.8.4Oct 5, 2026
  29. v0.8.2Oct 5, 2026
  30. v0.8.0Sep 30, 2026
  31. v0.6.1Sep 30, 2026
  32. v0.4.1Sep 29, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。