
Agent Cockpit
io.github.chutingyeanPublished by GitHub account chutingyeanv0.1.0Updated Nov 7, 2026
Evidence-chain whiteboard for AI research agents: every claim traces back to its run and code.
Overview
Local whiteboard and MCP server that records AI research agents' plans, runs, claims and code, and flags claims whose evidence has gone stale.
- What you can do
- Record research plans, stages, task cards, hypotheses and premises
- Run experiments and register claims tied to a file and field written by a recorded run
- Check evidence chains: overview of pending decisions, claims needing recheck and unreported changes
- Ask a human for decisions and read the answers
- Report changed files and run code review, with a built-in code graph and impact analysis
- Read and edit the board canvas: list, search, create nodes, link, diagrams
- When to use it
- Useful when several AI agents work on the same research repo and you need to know which results still hold after code changes, and want unreported edits, open questions and stale claims surfaced on one local board.
- Requirements
- Runs locally over stdio as the npm package @tingyen/agent-cockpit. Needs Node.js 22.13 or newer (for node:sqlite) and git; python3 only for the demo project. The target directory must be a git repo. No accounts, API keys or environment variables are declared. The board binds to 127.0.0.1.
Installation
In SourceWeft
- Open Agent Cockpit in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
[Agent Cockpit: every research claim, traceable to the code that produced it]
[tests] [license: AGPL-3.0-or-later] [node >= 22.13] [MCP: any agent]
English · 繁體中文
Agent Cockpit is a local whiteboard plus an MCP server for AI agents that do research. Any agent that speaks MCP (Claude Code, Codex, Cursor, Gemini CLI, …) draws its work onto the same board: the plan, the tasks, every experiment run, every claim, and the code each run depended on. A deterministic engine keeps checking the whole evidence chain. When any link changes, the cards that depend on it turn red. You can tell which results still hold, and why, without reading the code.
Replay of a real session: Claude Code and Codex complete a small study from an empty repo. An unreported edit breaks one claim, and the cockpit raises a decision and writes a brief. A human picks "restore", and an agent carries it out.
Why
After a few days of research with AI agents, the same things keep going wrong:
- Claims lose their footing silently. An agent edits the grader, the data pipeline or a statistics helper, and results that were "verified" no longer hold. Nobody notices.
- Changes go unreported. Files change and no agent says so, or an agent says it changed something it didn't.
- Decisions pile up, assumptions harden, loops spin. Questions meant for a human wait unanswered, untested premises become foundations, and an agent keeps tweaking hyperparameters "one more time".
- The code grows faster than you can read it.
Agent Cockpit turns these into rules a machine can check, and shows the result on one board.
Features
- Evidence chains, down to a JSON field. A claim must cite a value that a recorded run actually wrote. Each run records the hash of its script, of every file the script depends on, and of each function it reaches. If any of those changes, the run goes stale and every claim built on it is flagged for recheck. Revert the change and the hashes match again, so the claims recover.
- Works with any MCP agent. Agent identity comes from the MCP handshake.
cockpit initwrites the config for Claude Code, Cursor, VS Code and Gemini CLI, and prints the command for Codex. - One write gate. Every write from MCP, the CLI or the board passes through the same validator. Non-compliant writes are rejected with a reason the agent can act on. Rejections are logged too.
- Unreported changes get caught. Real file changes are detected whether or not an agent reports them. Unreported changes block
git commit, and Claude Code cannot end its turn until it reports them. - Built-in code graph and code review, no extra installs. A lightweight graphify-style call graph supplies dependency closures, communities, core nodes and impact analysis. A rule-based reviewer looks at the changed lines every time a file changes. Install the real graphify or open-code-review and they are used automatically.
- Human decisions in the loop. Agents ask through
cockpit_decideand wait. When a change breaks claims, the cockpit raises a decision itself and writes a one-page evidence brief, laid out by answer-me-with-html. - Replay. Everything is an append-only event, so you can scrub or play the board back to any moment. A brief stays available even after the problem is fixed.
- Local and deterministic. The board binds to 127.0.0.1. Every check is a plain rule, with no LLM calls and zero tokens.
Quick start
Requires Node.js 22.13+ (for the built-in node:sqlite), git, and python3 for the demo project.
Then, in a second terminal, break something and watch the board:
[The board after the grader was changed: dependent claims turn red, the cockpit raises a decision]
Use it on your own research repo
No clone needed:
Prefer a permanent cockpit command? npm install -g @tingyen/agent-cockpit.
init only writes inside your repo. Open the repo in your agent and it reads AGENTS.md and the MCP config. The tutorial walks through every agent step by step.
Claude Code plugin. Adds a skill that teaches Claude when and how to use Agent Cockpit, including how to set it up:
The same skill lives in skills/agent-cockpit/SKILL.md for other agents that read SKILL.md files. The MCP server is also listed in the MCP Registry as io.github.chutingyean/agent-cockpit.
How it works
- Content hashes, not timestamps. Staleness is decided by comparing hashes, so reverting a file restores validity exactly.
- Function-level precision. For Python dependencies, a change to a function the run never reaches does not make the run stale. Changes to reachable functions, imports or module-level code always do.
- Event sourcing.
.cockpit/events.jsonlis the single source of truth, and it doubles as the agents' work log. Commit it. The board is a pure projection (reduce→derive), which makes replay possible.
MCP tools
Canvas tools: canvas_list, canvas_read, canvas_search, canvas_createNode, canvas_link, canvas_diagram (architecture diagrams in md²'s format) and canvas_structure (code graph and impact analysis).
CLI
npm install -g @tingyen/agent-cockpit gives you a global cockpit command. Otherwise use npx -y @tingyen/agent-cockpit <command>, or node bin/cockpit.mjs from a clone.
Every command accepts --repo <path>; the default is the current directory.
Project layout
Documentation
- Tutorial: from the demo to your own project, every agent, replay, and a recorded real session
- Recorded session: the events, the code the agents wrote, and their output
Acknowledgements
Agent Cockpit fuses ideas from six projects into one evidence graph: research-cockpit (claims, hypotheses, premises, decisions), graphify (code graph), open-code-review (code review), Understand-Anything (summaries, layers, tours, personas), md² (architecture diagram format) and answer-me-with-html (one-page briefs). See THIRD_PARTY_NOTICES.md for what is bundled and under which license.
License
Copyright (C) 2026 chutingyean
Agent Cockpit is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. If you modify it and let others use it over a network, you must offer them the source code of your version. Third-party components keep their own licenses; see THIRD_PARTY_NOTICES.md.
Source: README.md at commit a968c6b
Tools
0Version history
1- v0.1.0LatestNov 7, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts