vibepanel Agent Console
A self-hosted web console for supervising parallel coding-agent sessions across multiple projects.
- Source repo
- jiangmuran/vibepanel
- Stars
- ★ 56
- Last updated
- 11d ago
- License
- NOASSERTION
- Primary language
- Go
- FA score
- 65/100 · Some gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformCodex · Claude Code
- Cost
- Free software; you pay for model usage
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- A developer running Claude Code, Codex, or other terminal agents in several repositories can see which sessions are active, waiting for input, or exited from one project sidebar.
- Not a fit if
- Teams planning to host it commercially or bundle it into a product: the PolyForm noncommercial license needs a separate commercial license
- Windows-only users unwilling to build their own setup: the interactive installer is documented for Linux and macOS only
- Source review
- 65/100 · Some gaps
What does this agent do, and when should you use it?
vibepanel is a self-hosted web console that organizes terminal-based coding agents into projects and sessions. A dedicated system service and tmux keep terminal processes alive, while the browser handles naming, ordering, status, and interaction, so closing the page or restarting the panel does not terminate active work. Its desktop and phone interfaces combine session monitoring with a file manager, notebook, scratch terminal, token-usage reporting, and machine-load views. The same capabilities are exposed through an authenticated API, while optional Telegram, Feishu, and personal WeChat integrations can relay questions and permission requests to private chats. It ships as a single Go binary, terminates its own TLS, and supports password or passkey access, making it a fit for developers who want persistent agents reachable from multiple devices.
Users register development directories as projects and create sessions from the web interface or with POST /api/sessions; command is an argv array, and omitting it creates a shell. The backend uses a dedicated service and tmux to preserve terminals and agent processes, while the UI reports whether each session is working, waiting, or finished. A side panel manages files and notes, including copy-and-paste transfer of files and images, and the bottom scratch terminal lets users inspect files or run commands without interrupting an agent. An installable hook supports Claude Code, Codex, Kimi Code, zcode, and opencode, detecting actual completion or requests for attention, previewing what it will write, and backing up the target file first. Optional Telegram, Feishu, and WeChat integrations send numbered session prompts to private chats and route replies back; Telegram and Feishu also expose Allow and Deny actions. The product can also publish agent-authored share pages for status screens, phones, laptops, or televisions.
- A developer running Claude Code, Codex, or other terminal agents in several repositories can see which sessions are active, waiting for input, or exited from one project sidebar.
- A solo developer with a workstation left at home or in the office can use the phone interface to inspect terminals and respond to agent questions while away from the desk.
- Someone running long-lived builds, migrations, or coding tasks can rely on tmux and the dedicated terminal service to preserve work across browser closure, panel upgrades, or application-layer crashes.
- An engineering team integrating agent sessions into internal automation can create and control them through the Bearer-token API, including POST /api/sessions.
- A user who needs a wallboard for session status, token consumption, or project output can publish an agent-authored page and open its share link on a large display.
How do you install or deploy this agent?
The interactive installer is documented for Linux and macOS:
curl -fsSL https://raw.githubusercontent.com/jiangmuran/vibepanel/main/install.sh | shFor restricted networks, the author-operated GitHub mirror can be used; its first run presents a terminal prompt for a browser-based check:
curl -fsSL https://github.muran.tech/https://raw.githubusercontent.com/jiangmuran/vibepanel/main/install.sh -o vibepanel-install.sh \|| curl -sSL https://github.muran.tech/https://raw.githubusercontent.com/jiangmuran/vibepanel/main/install.sh
sh vibepanel-install.sh --mirrorManage the installation with:
vibepanel service status
vibepanel service start
vibepanel service stop
vibepanel service restart
vibepanel service logs
vibepanel service token
vibepanel service upgrade
vibepanel service uninstallUser and system services, unattended installation, CLI creation of the first account, Docker, and source builds are documented as available, but their complete commands are not included in the supplied material.
How do you use this agent?
After starting the service, open the panel in a browser, complete first-account setup, add a project, and create a terminal or agent session under it. Ordinary shell sessions omit command; an agent session supplies its executable as the command argv. For programmatic access, create a token under Settings → API tokens, then run:
TOKEN=…
curl -sX POST https://panel.example.com:18443/api/sessions \
-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-d '{"projectId":"…","title":"billing","command":["claude"]}'Replace panel.example.com, projectId, and TOKEN with real values. The administrative CLI also exposes serve, project, session, hook, service, account, doctor, and version commands. To handle prompts remotely, configure and explicitly enable Telegram, Feishu, or WeChat in settings; the chat feature makes no external connection until a channel is enabled.
What are this agent's strengths and limitations?
- Terminal state is independent of the browser: tmux and the dedicated service preserve active sessions through page closure, panel upgrades, and application-layer restarts.
- One interface combines multi-project sessions, a mobile terminal, file management, notes, a scratch shell, token accounting, and per-session machine-load visibility.
- Hooks explicitly support Claude Code, Codex, Kimi Code, zcode, and opencode and distinguish actual process completion from a merely quiet terminal.
- A Bearer-token API exposes the same operations used by the front end, providing a documented path for automation.
- The single Go binary handles TLS, passwords, and passkeys itself, and optional chat integrations remain offline until configured and enabled.
- Current releases use PolyForm Noncommercial 1.0.0 with attribution conditions; internal company use, hosted offerings, and product bundling require a separate commercial license.
- Persistent session operation relies on tmux, creating a deployment dependency for environments standardized on another terminal multiplexer.
- The interactive installer is only documented for Linux and macOS; the supplied material provides no evidence of a native Windows installation path.
- Enabling remote chat necessarily sends relevant data through Telegram, Feishu, or WeChat infrastructure, subject to the boundary disclosed during setup.
- The author describes the project as early, so adopters should expect its capabilities and operational behavior to continue evolving.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| vibepanel Agent Console This agent | 65 · Some gaps | Self-hosted serviceFree + model costs | ★ 56 | 11d ago | Go | Codex · Claude Code |
| Agent Session Manager Desktop | 74 · Some gaps | Desktop appFree | ★ 30 | 4d ago | Go | Codex · Claude Code |
| tlbx | 73 · Some gaps | Self-hosted serviceFree + model costs | ★ 116 | 2d ago | C# | Codex · Claude Code |
| Happier | 62 · Some gaps | Desktop appFree + model costs | ★ 2.2k | today | TypeScript | Codex · Claude Code |
How does FollowAgents rate this agent?
Why each dimension lost points
The README and AGENTS.md describe a dedicated tmux socket, narrow share-token routes, visitor writes that are opt-in and constrained, and redaction of sensitive data. The install guide says Claude settings changes show current values and make a backup. The README also says chat integrations make no external connection until enabled and ask for consent at activation. Score 2: these controls are mostly claims in documentation; the sample does not include the corresponding implementations for item-by-item confirmation.
The README, workflows, and Go entry point have mutually consistent descriptions of commands, installation, and builds. The workflows list routine checks, and the docs describe reporting unused configuration and a distinct exit code for mirror authorization failures. Score 2: this static sample contains no check results and cannot establish runtime behavior.
The README identifies developers managing multiple agent sessions and describes desktop, phone, remote access, and several chat integrations. AGENTS.md and the docs define boundaries for share tokens, administrator grants, and plugin capabilities. Score 2: the sample covers several scenarios, but does not fully document limitations or provide implementation evidence for every environment.
The repository has entry points for installation, features, and API documentation; the install guide details service types, options, password input methods, and the trust change introduced by using a mirror. The license clearly states noncommercial limits, attribution duties, and the MIT terms for earlier releases, earning 3 for install notes and license. Other criteria score 2: structure and naming are generally clear, with examples, design notes, and stated constraints, but the sample does not show a complete change history. Maintenance responsibility is represented mainly by an individual contact address, with little detail about ongoing stewardship.
The product brings parallel sessions, terminals, project organization, phone access, and session notifications into one console, with clear use cases and readable outputs. Score 2. The README's productivity and usability benefits are mostly the author's claims; the sample offers little independent evidence about costs, resource use, or user outcomes, so cost-benefit scores 1.
The README's installation and API descriptions point to specific docs, the workflows show build and check steps, and AGENTS.md says tests constrain several boundaries. These sources corroborate the product shape and engineering conventions. Score 2: the sample lacks test results and implementation files to verify most safety and behavior claims, so full marks are not justified. This review distinguishes documented assertions from facts visible in the supplied files.
- This is a low-confidence static review. README claims about security, chat data flows, upgrades, and tests are not independently verified by the supplied sample.
- The license is PolyForm Noncommercial; commercial use, including internal company use or hosted service, requires a separate license.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
v1.31.1 - Token usage reads omp (oh-my-pi). Its sessions under ~/.omp/agent/sessions are a sixth source, with its own entry in the agent filter. What is counted is what omp's own summary counts: every assistant call and every side call it files as model_usage (the auto-thinking judge, compaction summaries), each under its own model. Reasoning tokens are already inside output and are not added again. - A subagent's spend is its session's. omp writes each task's conversation to a file of its own inside the parent's directory; those files are read and …View on GitHub ↗ -
Release notes excerpt
v1.31.0 Two contributions, and a switch for each. - Typing into Claude Code, Codex or opencode draws the character in the browser in the same frame as the key, and the keystroke still goes to the server as before; once the agent's own screen shows the same line the local copy is removed. On a 300 ms round trip a character used to take 332 ms to appear. Only for those three programs, only when the cursor is visible at the end of the input, and dropped the moment the server shows something else. Settings → Panel → Local echo turns it off. (Meinianda-L, #27) …View on GitHub ↗ -
Release notes excerpt
v1.30.1 - The terminal's renderer is a setting: Settings → Panel → Terminal renderer, GPU (WebGL) when available or DOM. When the GPU one draws characters wrong or on top of each other, which it can after thousands of distinct CJK characters have been through its glyph atlas, switch to DOM and reload. The switch existed as a stored key with nothing on the page that wrote it.View on GitHub ↗
FAQ
Is it free for commercial teams?
Will closing the browser or upgrading the panel kill an agent?
Does it require Claude Code?
Do the chat features contact outside services by default?
Can an old chat approval authorize a newer command?
Thanks — we use this to improve the page.