neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
TWICC는 Claude와 Codex를 위한 웹 UI로, 프로젝트·세션·대화 기록·비용을 확인하고 실행할 수 있습니다
TWICC - The Web Interface for Claude & Codex - A web UI to browse and interact with your Claude Code and Codex sessions. View projects, sessions, conversation history, costs, and run Claude and Codex
개발 도구Python · JavaScriptGitHub @twidi직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
TWICC - The Web Interface for Claude & Codex - A web UI to browse and interact with your Claude Code and Codex sessions. View projects, sessions, conversation history, costs, and run Claude and Codex agents — all from your browser.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
The Web Interface for Claude and Codex
One self-hosted web interface for both Claude Code (Anthropic) and Codex (OpenAI): browse your projects and sessions, run agents and follow them live, track costs and quotas, and stay in control of your AI coding work — from your desktop or your phone.
A 90-second tour: Claude Code and Codex side by side, live tool calls, approvals and questions, your own layout, your phone, orchestration, sharing, light or dark, and more:
▶ No player above? Watch the demo video on GitHub.README 전문 보기 ↗The Web Interface for Claude and Codex
One self-hosted web interface for both Claude Code (Anthropic) and Codex (OpenAI): browse your projects and sessions, run agents and follow them live, track costs and quotas, and stay in control of your AI coding work — from your desktop or your phone.
A 90-second tour: Claude Code and Codex side by side, live tool calls, approvals and questions, comments on any line, your own layout, your phone, orchestration, interactive artifacts in the chat, sharing, light or dark, and more:
https://github.com/user-attachments/assets/ef29d6b0-2f5b-41b5-84e5-7db9042bf529
▶ No player above? Watch the demo video on YouTube.
TwiCC started as a personal project Twidi built for his own needs — but it's shared in the genuine hope that others find it useful too. It's freely available; use it however you see fit.
That said, no support is guaranteed. Suggestions, issues, and pull requests are welcome, but there's no commitment to address them.
Note: TwiCC is almost entirely vibe-coded. The author keeps a general eye on it, but reviews far less now than in the early days — so expect the occasional rough edge.
uvx twicc@latest
Then open http://localhost:3500.
Don't have
uvx? It comes with uv, a fast Python package manager:curl -LsSf https://astral.sh/uv/install.sh | shA plain
pip install twiccin your own virtualenv also works.
If you use TwiCC regularly, install it as a persistent tool:
uv tool install twicc
twicc
Update with:
uv tool upgrade twicc
See the CHANGELOG.md for the full release history.
tmux.conf/ for Claude Code, $ for Codex, @ for files — from the message inputdata/ store so a page can save your choices for the agent to read back) — shown inside TwiCC in the session's Artifacts tab or, for interactive HTML pages, inline right in the conversation, and bookmarkable in a dedicated viewTwiCC exposes a full twicc command-line interface — and a Claude Code / Codex plugin (auto-installed) whose skills wrap the same commands, so an agent can drive TwiCC from inside a running session. Either way you can inspect projects, workspaces, and sessions, run a full-text search, check usage and cost, and create, reply to, update, and control sessions and their live processes — every list/inspect command outputs JSON for scripting.
The same surface is also exposed as native MCP tools: TwiCC runs a built-in MCP server and wires it into every session on both providers automatically, so an agent gets the full command set as first-class tools with nothing to set up.
See SKILLS-AND-CLI.md for the full reference, or run twicc --help.
A connected client can subscribe to session conclusions; TwiCC then POSTs the session’s answer text to that client’s callback URL.
The same MCP tools can also be handed to an MCP client outside TwiCC — a desktop assistant, a hosted agent — so it can inspect your projects, search your history, and create or drive sessions. You approve every connection: the connecting browser shows a verification code, TwiCC notifies your connected devices, and you type that code to authorize it. Connections are listed, named, and revoked one by one in Settings → MCP. TwiCC stays single-user — approving a client does not create a second account.
Like sharing, external MCP is served on a dedicated hostname, separate from the app you log into, and protected by OAuth with PKCE. That host serves only MCP and its OAuth endpoints; the TwiCC interface is never reachable there. Leave it empty, or turn external access off, to keep TwiCC's MCP server internal — Claude Code and Codex sessions running inside TwiCC keep their automatic local access either way.
The same CLI is also exposed over HTTP under /rpc/, so one TwiCC instance — or any HTTP client — can drive another over the network. Every command is auto-generated as a route from the CLI itself, so there is no separate API to keep in sync.
See RPC-API.md for authentication, the request/response shape, and the few HTTP-specific limitations (server-side absolute paths, base64 attachments, blocking waits).
A session can spawn other sessions, which can spawn their own, forming a tree of cooperating agents. A leader/manager/worker skill family lets one agent split a task into sub-tasks across spawned sessions (optionally hidden from the UI), coordinate them through a shared scratch space, and aggregate the results — without a human in the loop for each step.
See ORCHESTRATION.md.
Pair your TwiCC instance with another person's instance so your agents can exchange titled messages and attachments. Every incoming message requires human review: the recipient can refuse it, or place it in a session's composer for review and editing before sending. Pairing never shares projects, sessions, files, settings, or agent control.
Publish a read-only public link to a session transcript or a bookmarked artifact. Each link is an opaque capability URL (the token is the credential); you can optionally add a per-link password and an expiry, choose how much detail viewers see (conversation / simplified / normal / debug, with or without subagents, costs, timestamps), share a live-following view or a frozen snapshot, and revoke at any time. Viewers get a clean, dependency-free reader — no TwiCC account, no access to your app.
Sharing is served on a dedicated share host, separate from the app you log into: a second hostname that points at the same TwiCC (for example, a second Cloudflare Tunnel hostname routed to the same service). Set it in Settings → Sharing. The working origin never serves /share/, and the share host serves only /share/ — so you can put the share host behind its own provider-side access rules if you want. A different port on the same hostname is intentionally not enough (browser cookies aren't port-scoped, so it wouldn't isolate your working session). Leave the share host empty to keep sharing off.
TwiCC reads the JSONL data files written by each provider and indexes them into a local SQLite database (~/.twicc/db/data.sqlite). By default, Claude Code sessions are read from ~/.claude/projects/ and Codex sessions from ~/.codex/sessions/ (see Configuration to point TwiCC at other provider homes). Provider data files remain the source of truth — TwiCC never modifies them. Whether you use Claude Code or Codex directly from the terminal or through TwiCC, everything shows up in the same place. On each startup it re-syncs any changes, and while running it keeps watching for new and updated sessions.
When you start a session or send messages through TwiCC, it uses the provider SDK under the hood: the Claude Agent SDK for Claude Code and OpenAI's vendored Codex SDK for Codex. This means it uses your existing provider credentials and configuration — there is nothing extra to set up. The conversation data written by the provider is then picked up by TwiCC's file watcher and broadcast to the UI in real time over WebSocket.
The interface is fully usable from a mobile browser. Combined with a tunnel service like Cloudflare Tunnel, ngrok, or Tailscale Funnel, you can access TwiCC from anywhere and interact with Claude Code or Codex from your phone.
Important: by default, when no password is set, TwiCC only accepts connections from the machine it runs on. To reach it from another device — through a tunnel or over your LAN — set a password (see Configuration). Even then, prefer a tunnel service with its own access control: TwiCC has no built-in access control beyond optional password protection.
Tip: on Android, the author uses Unexpected Keyboard for an even better terminal experience — it natively exposes Ctrl, Esc, Tab, and other keys that complement TwiCC's built-in keys bar.
~/.claude/projects/ directory created by Claude Code and/or a ~/.codex/sessions/ directory created by Codex (by default — see Configuration for relocated provider homes)TwiCC needs Python 3.13+. If you install through uvx or uv tool install (recommended, see Quick start), uv will download and manage the right Python version for you — nothing to install by hand. If you go the pip install route, install Python 3.13 yourself first.
All configuration goes through environment variables, set in ~/.twicc/.env:
| Variable | Default | Description |
|---|---|---|
TWICC_PORT | 3500 | Server port |
TWICC_PASSWORD_HASH | (empty) | Password hash to enable password protection (managed by twicc password set) |
CLAUDE_CONFIG_DIR | ~/.claude | Claude Code home (sessions, settings, plugins…) — the CLI's own variable, absolute path |
CLAUDE_SECURESTORAGE_CONFIG_DIR | (follows CLAUDE_CONFIG_DIR) | Where Claude Code keeps its credentials; leave it empty (CLAUDE_SECURESTORAGE_CONFIG_DIR=) to keep the default credentials next to a relocated home |
CODEX_HOME | ~/.codex | Codex home (sessions, auth.json, config.toml…) — the CLI's own variable, absolute path |
TWICC_CODEX_MAX_AGENT_THREADS | 9 | Codex: maximum number of agent threads open at once in one session, root included (9 = the main agent + 8 subagents). Codex's own default is 4, which only allows 3 subagents. Applies to new and resumed sessions, and overrides [features.multi_agent_v2] in ~/.codex/config.toml |
A key defined in the .env wins over the process environment. The three provider home keys are read only from the .env: an inherited CLAUDE_CONFIG_DIR / CODEX_HOME exported in your shell is ignored (with a warning at startup) — write it in the .env as a plain KEY=VALUE line. TWICC_DATA_DIR is the one variable read only from the environment, because it locates the .env: TWICC_DATA_DIR=<dir> (default ~/.twicc/) moves the data directory (database, logs, settings).
Set, clear, or check the password interactively. Use the same invocation prefix as for launching TwiCC — twicc if you installed it permanently, uvx twicc for a one-off run, or uv run twicc from a source checkout:
twicc password set # prompt for a password (with confirmation) and write it to .env
twicc password clear # disable password protection
twicc password status # show whether password protection is enabled
Restart TwiCC after setting or clearing the password for the change to take effect.
TwiCC runs on Linux and macOS. There is no native Windows support — the codebase relies on Unix-specific APIs (PTY, process signals, process groups) that would require significant work to adapt, and the author does not have access to a Windows machine for development and testing.
WSL (Windows Subsystem for Linux) is the recommended path for Windows users. TwiCC has been reported to work correctly under WSL2. If you hit issues, please open an issue or a pull request.
TwiCC sends anonymous usage statistics by default: counters, booleans, enums, and buckets, never content, titles, or paths. You can inspect the exact payload, disable telemetry, or reset its anonymous instance identifier in Settings → General. See the telemetry transparency page for the complete schema.
Yes. TwiCC only reads provider data files and never modifies them.
By default in ~/.twicc/. This includes the SQLite database, logs, and user settings. Set TWICC_DATA_DIR to change the location.
Yes. Set CLAUDE_CONFIG_DIR and/or CODEX_HOME in the .env (absolute paths, see Configuration). TwiCC then reads sessions from those homes and hands the same variables to every process it launches — agents, the embedded terminals, twicc claude / twicc codex — so nothing touches the default homes. A new home starts empty: Claude Code creates its directory on first use and TwiCC creates the Codex one; log in once from a terminal of that instance (twicc codex login, or a Claude session). To keep your existing Claude credentials with a relocated CLAUDE_CONFIG_DIR, add CLAUDE_SECURESTORAGE_CONFIG_DIR= (empty).
In ~/.twicc/logs/backend.log for the backend. This is the first file to check when troubleshooting.
Delete ~/.twicc/db/data.sqlite* and restart TwiCC. It will rebuild from the provider source files.
For Claude Code sessions, TwiCC uses the official Claude Agent SDK with the Claude Code system prompt. This is permitted by Anthropic's terms of service.
Billing change (announced, then postponed): Anthropic had announced that, starting June 15, 2026, SDK usage would move to a separate, plan-specific credits quota instead of sharing the regular Claude Code plan quota. That change has since been postponed, so for now SDK usage is still billed against the same plan quota as the Claude Code CLI. Either way, TwiCC is ready: it ships a hybrid mode (currently dormant) that runs your Claude sessions through the real claude CLI instead of the SDK — keeping them on your plan's subscription quota while preserving every TwiCC feature. If the change ever lands, the hybrid mode can simply be switched on.
For Codex sessions, TwiCC uses OpenAI's Codex SDK (vendored — see docs/codex-vendoring.md) and the Codex CLI. OpenAI does not document any limitation on this kind of usage, and TwiCC sessions draw from the same plan quota as the regular Codex CLI.
If you find TwiCC useful, consider sponsoring me on GitHub — it means a lot and helps keep the project going.
See CONTRIBUTING.md for development setup, devctl.py usage, building, and the release process. Conventions, architecture notes, and patterns live in AGENTS.md and CLAUDE.md. The Codex SDK vendoring is documented in docs/codex-vendoring.md.
MIT