The flight recorder for long Claude Code sessions.
English · 简体中文 · Project Page
⚡ Quick Start · 🪟 Sidecar View · ✨ Why Different · 🧭 How It Works · 🎬 Demos · 🤝 Contribute · ❓ FAQ · 🙏 Acknowledgements
GUI-Anything is a sidecar for long Claude Code sessions. Claude keeps coding in the left pane; the Flow Observer watches from the right, turns scrollback into a live map, and brings useful project memory back when you need it — without wrapping or driving the agent.
Run / Capture / Guide by design: the observer reads the session stream in real time, distills summaries and intent graphs on demand, and surfaces prior local wiki hits while the current exploration is still running.
⭐ Star this project if you want a local-first flight recorder for vibe coding sessions, thank you!
Long sessions move fast. GUI-Anything keeps the trail.
|
Run Claude Code stays native in the left pane. The observer shows explorations, tools, phases, and errors in real time. |
Capture The right pane turns long scrollback into summaries, flowchart hints, and intent-aware context. |
Guide Relevant project memory appears inline while the current exploration is still running. Resume keeps the story intact. |
git clone https://github.com/YurunChen/GUI-Anything.git
cd GUI-Anything
./scripts/setup.sh
ga doctor
ga flowga flow opens a Zellij dual-pane layout: Claude Code on the left, Flow Observer on the right. In the observer, press h for project evolution HTML or r for AI-enriched regeneration.
- Claude Code CLI — the agent GUI-Anything observes
- Bun — runtime for the observer and tests
- Zellij — dual-pane launcher used by
ga flow
| Command | Purpose |
|---|---|
ga doctor |
Verify dependencies and environment |
ga flow |
Start dual-pane Claude Code + observer |
ga flow --continue |
Continue session; summarize only new explorations |
ga flow --resume <session-id> |
Replay saved session data |
ga flow --model sonnet "your task" |
Start with a specific model and prompt |
ga flow --watch --open |
Start the live project evolution browser sidecar |
./scripts/flow-run.sh --cleanup |
Tear down stale flow runtime |
ga doctor
cd scheme && bun test && bunx tsc --noEmitga doctor should report Claude Code, Bun, and Zellij as available. The scheme checks are the minimum bar before opening a PR.
GUI-Anything is a sidecar. Claude Code stays native, while the observer renders the session as timeline, flowchart, summaries, and project memory.
| Left pane | Right pane |
|---|---|
| Claude Code runs unchanged | Flow Observer watches the session in real time |
| You keep the normal terminal workflow | Timeline, phase badges, tools, errors, and summaries stay visible |
| No wrapper controls the agent | Useful context is saved locally for later |
| Your session can stay messy | The map stays readable after the conversation gets long |
Focus the right pane first, then use:
| Key | Action |
|---|---|
g |
Timeline / flowchart |
i |
Notes sidebar |
? / / / Ctrl-K |
Help |
c |
Calm mode |
[ ] |
Previous / next theme |
k |
Flag a wrong wiki match |
h |
Export and open project evolution HTML |
r |
Regenerate project evolution HTML with AI enrichment |
q |
Quit observer |
Chinese UI: FLOW_LOCALE=zh-Hans.
After each stable window of three completed explorations, the observer can show a localized Personality strip above the command bar. The HTML evolution export keeps the richer persona card for sharing.
Most coding agents can generate. Fewer tools help you remember what just happened. GUI-Anything keeps three linked views of the same work:
| Layer | What it captures | What you get back |
|---|---|---|
| Run | Explorations, tool calls, errors, phases | A live session timeline instead of raw scrollback |
| Capture | Summaries, flowchart hints, intent buckets | The shape of the work, not just the transcript |
| Guide | Prior wiki matches and focused trails | Context from past sessions while the current turn is still running |
Project memory stays local by default. Related turns accumulate by intent; curation happens on pivot or idle sweep, not every exploration.
- 🪟 Sidecar, not wrapper. Claude Code stays native in the left pane. GUI-Anything observes instead of taking over.
- 🗺️ Live map, not scrollback. Exploration turns become a readable intent graph with responsive terminal layouts.
- 🧠 Memory while you work. Prior local wiki entries surface inline while the current exploration is still running.
- 🧷 Intent-aware curation. Same-task turns compound into a bucket; pivot or idle sweep writes durable context.
- ⏪ Honest resume.
--resumereplays saved session data. It does not silently rebuild the story. - 🔁 Continue without drift.
--continuekeeps existing context and summarizes only new explorations. - 🎨 33 terminal themes. Hot-swap with
[and]; Spectra is the kinetic showcase. - 📤 Shareable HTML. Export a project evolution page, single-session drill-down, or knowledge graph.
- 🌐 Web Mirror. Watch progress from a browser when the terminal is not the best display.
- 📱 WeChat notifications. Walk away and still catch errors or milestones.
| Typical long-session coding | GUI-Anything |
|---|---|
| Raw terminal scrollback only | Live timeline, phases, tools, and errors |
| Context disappears between sessions | Local wiki retrieval surfaces prior work inline |
| Resume rebuilds or re-summarizes silently | Strict replay; continue only fills new explorations |
| Wrapper controls the agent | Native Claude Code sidecar |
| Every turn writes durable memory | Intent buckets; curation on pivot or idle sweep |
| Output judged by vibe only | KNOWLEDGE hits can be audited with k |
Watch the promotional walkthrough:
video1.mp4
Run Session stream → explorations, tools, errors, phases
Capture AI summaries, flowchart hints, intent buckets, wiki curation
Guide prior wiki matches, flowchart, notes, hotkeys
flowchart LR
CC["Claude Code"] -->|session stream| Obs["Flow Observer"]
Obs --> Run["Run layer"]
Run --> Cap["Capture layer"]
Cap --> Guide["Guide layer"]
Cap --> Wiki[("wiki/")]
Wiki -->|prior hits| Guide
Guide --> UI["Timeline + flowchart"]
More detail: data flow · development guide · agent rules
HTML export — project evolution, mirror, knowledge graph
# Project evolution, defaulting to all sessions in this workspace.
ga export -o evolution.html
# In ga flow, press h to export and open the project evolution page.
# Press r for AI-enriched regeneration from the observer.
# Live project evolution sidecar during a flow session.
ga flow --watch --open
# Single-session drill-down.
ga export --scope session --session-id <id> -o evo.html
# Skip AI era synthesis, using deterministic rule grouping.
ga export --no-ai --theme catppuccin -o evo.html
# Real-time browser view.
cd scheme
FLOW_PROJECT_DIR=/path/to/repo FLOW_SESSION_ID=<uuid> \
bun run src/main.ts --web-mirror --port 3001
# Force-directed graph from local wiki.
bun run src/main.ts --knowledge-graph -o graph.htmlNotifications — WeChat
ga notify setup
ga flow
# Reset local WeChat notification state if setup needs to be redone.
ga notify cleanllm-wiki — agentic knowledge ingest
Wiki curation uses the /llm-wiki skill in skills/llm-wiki.
./scripts/setup.sh
./scripts/wiki/wiki-maintain.shGUI-Anything is early but usable. The core Claude Code sidecar path is the supported path.
| Area | Status |
|---|---|
ga flow dual-pane launcher |
Supported |
| Claude Code session observer | Supported |
| Local wiki retrieval and curation | Supported |
| Strict resume / continue replay | Supported |
| HTML export / Web Mirror | Experimental |
| Other agent backends | Not yet supported |
- Add shorter task-focused clips for knowledge retrieval and strict resume
- Improve Web Mirror polish for phone and tablet monitoring
- Add importers for session formats beyond Claude Code
- Expand wiki maintenance reports and bad-match audit workflows
- Package more themes and terminal layouts
Issues and PRs are welcome. Start here:
| Doc | For |
|---|---|
| CONTRIBUTING.md | Local setup, verification, PR checklist |
| docs/development.md | Architecture and extension guide |
| AGENTS.md | Coding-agent principles and red lines |
| docs/data-governance/data-flow.md | Wiki and session data flow |
| docs/THEMES.md | Theme catalog |
Minimum verification:
cd scheme && bun test && bunx tsc --noEmit
ga doctorPlease do not commit wiki/, .flow-runtime/, local logs, or secrets.
Does GUI-Anything replace or control Claude Code?
No. It is a sidecar. It watches the session stream, renders the observer, and saves local context. Claude Code runs unchanged.
Does every exploration write to wiki?
No. Related turns accumulate by intent. Wiki curation runs on intent pivot or idle sweep, not every turn.
What is the difference between KNOWLEDGE and wiki saved?
KNOWLEDGE is prior retrieval from existing local wiki content. wiki saved means this session curated and wrote new content. They are independent.
Can I use it with Cursor or other agents?
Not yet. The observer pattern is agent-agnostic, but this repo currently supports Claude Code sessions.
Where does data live?
By default, in <repo>/wiki/, which is gitignored. Override with FLOW_WIKI_DIR.
MIT. Claude Code and third-party tools are subject to their own terms.
GUI-Anything is developed by the AI4GC Lab at Zhejiang University.
Stop losing the thread.
Give long agent sessions a map, a memory, and a replay button.

