neuron-explorer
Steering-first neuron explorer for Qwen3.5-4B: push every MLP neuron, keep every rollout, browse the results
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证针对一组实时 Claude Code 窗格的电话控制——可附加到现有的 iTerm2 会话,查看状态,响应提示,通过 Tailscale 上的密码钥匙门禁 PWA 驱动窗格。
AI 翻译
Phone control for a fleet of live Claude Code panes — attach to existing iTerm2 sessions, view status, answer prompts, drive panes from a passkey-gated PWA over Tailscale.
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Phone control for a fleet of live agent panes.
CC Dispatch reads and drives your existing iTerm2 agent sessions — Claude Code,
Codex and Grok — from your phone, each with its own critter on the yard so you can
tell them apart. See every pane's status at a glance, read what each one is doing,
answer permission prompts, send follow-ups, and get a push notification the
moment a session finishes or needs input — all from a passkey-protected PWA
served over your Tailnet.查看完整 README ↗Phone control for a fleet of live agent panes.
CC Dispatch reads and drives your existing iTerm2 agent sessions — Claude Code, Codex and Grok — from your phone, each with its own critter on the yard so you can tell them apart. See every pane's status at a glance, read what each one is doing, answer permission prompts, send follow-ups, and get a push notification the moment a session finishes or needs input — all from a passkey-protected PWA served over your Tailnet.
Nothing is restarted. The server attaches to sessions that are already running (via the iTerm2 Python API) and only ever writes in response to an authenticated request from the UI. Kill the server and your fleet is exactly as it was.
Website · Docs · Contributing · Security
iTerm2 panes ──► iTerm2 Python API ──► server.py ──► PWA (static/index.html)
(Claude/Codex/Grok) │ ▲
│ │ passkey / WebAuthn
~/.claude/statusline.sh ─► /tmp/cc-status│ │ web-push
~/.claude/cc-active.sh ─► │ │
(fleet status .json) ───────────────┘ your phone, over Tailscale
server.py — aiohttp server. Polls iTerm2 for pane contents, reads each
session's transcript (Claude's .jsonl, Codex's rollout, Grok's chat log),
exposes the fleet over HTTP/WebSocket, and sends keystrokes back to panes that
are confirmed to be running one of those agents. Permission mode, effort and
model are Claude-only controls and are hidden for the others.auth.py — WebAuthn/passkey login. The bootstrap token in the QR is
single-use to register the first passkey; after that, only passkeys get in.vault.py + dispatch-auth — the credential broker. An agent in a pane
runs dispatch-auth request <service>; you approve it on your phone; the
secret is released just-in-time and never touches disk in plaintext.static/ — the installable PWA (service worker + web-push).127.0.0.1) by default. Reachability is Tailscale's
job: tailscale serve terminates TLS and proxies to the local port, so there
is no listener on any network interface for a stranger to find..integrations.vault); the
Fernet key is stored in the macOS login keychain via the security CLI.All per-install secrets and state are git-ignored — see .gitignore. This
repo contains code only. Full writeup: docs/SECURITY-MODEL.md.
brew install whisper-cpp) + a local model — see below.CC_FLEET_DIR
(default /tmp/cc-status). Ready-to-use hooks that do this ship in
examples/ — see Wire up the fleet-status hooks below. Panes
without a status file are still driveable when iTerm2 reports Claude as the
foreground job; the hooks just make the fleet view complete.git clone https://github.com/charlie-818/claude-dispatch.git
cd claude-dispatch
# make
make venv
# raw
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
make venv also installs requirements-dev.txt (pytest, ruff) so make check
works right away.
So every Claude Code pane shows up in the fleet, install the two helper scripts and point Claude Code at them:
# make
make hooks
# raw
cp examples/statusline.sh examples/cc-state.sh ~/.claude/
chmod +x ~/.claude/statusline.sh ~/.claude/cc-state.sh
Then merge the keys from examples/settings.snippet.json
into ~/.claude/settings.json. They:
statusLine to statusline.sh, which writes each pane's status JSON
(tagged with its iTerm2 session id) into CC_FLEET_DIR, andUserPromptSubmit / Stop / Notification hooks that call
cc-state.sh to record whether the pane is working or idle.New panes appear in the app within a couple of seconds of their first repaint.
# In one terminal: expose the port over your Tailnet with TLS
tailscale serve --bg 8788
# In another: start the server (attaches to your live iTerm2 fleet)
# make
make run
# raw
.venv/bin/python server.py
On startup the server prints a QR code and a URL with the bootstrap token baked in. Scan it with your phone, register a passkey, and add the PWA to your home screen. That's it — subsequent visits are passkey-only.
The /api/whisper endpoint transcribes recorded audio locally — nothing leaves
the machine. Install the CLI and fetch a model once:
brew install whisper-cpp
mkdir -p models
curl -L -o models/ggml-base.en.bin \
https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin
Override the binary/model with WHISPER_BIN / WHISPER_MODEL if they live
elsewhere.
| Env var | Default | Purpose |
|---|---|---|
DISPATCH_PORT | 8788 | Server port. |
DISPATCH_BIND | 127.0.0.1 | Bind address. Leave on loopback. |
CC_FLEET_DIR | /tmp/cc-status | Where pane status .json files are read. |
VAPID_SUB | mailto:[email protected] | Contact mailto: for web-push. |
WHISPER_BIN | whisper-cli | whisper.cpp binary. |
WHISPER_MODEL | models/ggml-base.en.bin | Local transcription model. |
FFMPEG_BIN | ffmpeg | ffmpeg binary, used for audio conversion. |
DISPATCH_GITHUB_CLIENT_ID | (empty) | GitHub OAuth device-flow client id for the integrations page; empty disables it. |
Details: docs/DEPLOYMENT.md. In short:
deploy/install-launchd.sh ensure installs the recommended reboot watchdog —
the server should survive a reboot without you re-running anything by hand.server / deploy / all modes install the other launchd
templates in deploy/launchd/ (run-on-login, auto-deploy-on-push).tailscale serve in front of the loopback port — the
watchdog doesn't change the security model above.make venv # venv + requirements.txt + requirements-dev.txt
make check # ruff + pytest
The tests/ suite is 153 unit tests against the pure parsers and write gates
(pane detection, auth helpers, vault helpers, sweep auth) — no live iTerm2
needed, so it runs in CI on ubuntu and macOS. What it can't cover: anything
that requires a real iTerm2 session or a live agent pane — exercise those by
hand against a real fleet, as described in CONTRIBUTING.md.
Contributions welcome — see CONTRIBUTING.md.
Please don't open a public issue for a vulnerability — see SECURITY.md for how to report one privately.