Analyzed 31 days ago · 2 anonymous rescans remaining · register free to re-analyze any time.
Public analysis · read only
Register free to re-analyze

kt0319/any-console

1 0 1 issues
Python
MIT

Project Overview

anthropic / claude-opus-4-7

any-console

Self-hosted web console giving browser access to tmux terminals, Git operations, and shell jobs from any device.

AI Verdict
Clean— AI Trust Assessment

True Intent (AI Assessment)

A self-hosted, mobile-first web dashboard that unifies persistent tmux terminals, Git UI, and shell job execution for personal remote development.

README Accuracy

Accurate

Notes

Observed code matches README claims: FastAPI + Vue 3 + tmux + xterm.js, PWA assets, systemd/launchd installers, token auth, rate limiting, and security headers. No obfuscation, telemetry, or suspicious network calls detected.

What Is This?

any-console is a self-hosted web application that exposes a developer's shell environment, Git workflows, and job runner through a browser. It combines a FastAPI Python backend with a Vue 3 frontend and uses tmux as the persistence layer for terminal sessions, so the same session can be resumed seamlessly from a phone, tablet, or desktop.

It targets the pain of not having a real development environment on mobile devices and the friction of context-switching between SSH clients, Git tools, and CI dashboards. By putting a persistent web terminal plus a Git UI plus a shell-job runner behind one authenticated URL, the user can start a build on their PC, monitor it from their phone, commit and push from either device, and never lose session state.

Intended users are individual developers, homelabbers, and Mac mini / Raspberry Pi tinkerers who want a mobile-friendly remote console for their own machine — typically accessed over Tailscale or a private network. Setup is a single `./any-console setup` script that registers a systemd unit on Linux or a launchd LaunchAgent on macOS.

Architecturally the backend is a FastAPI app with routers for terminal (WebSocket + PTY + tmux), git operations, jobs, devices, push notifications, and status streaming. A watchfiles-based watcher pushes realtime git status changes, and an agent-state watcher polls tmux panes to broadcast idle/working state and fire notify-phrase push notifications. The frontend is a Vite-built Vue 3 + Pinia PWA using xterm.js with a custom mobile flick keyboard.

The codebase shows serious engineering hygiene: ruff/mypy configured, pytest with 85% coverage floor, Playwright e2e, Vitest, release-please automation, security headers middleware, rate limiting, token auth with a first-run bootstrap token printed to stdout (not embedded in URLs), and thoughtful comments explaining security tradeoffs. No red flags observed.

Your Report, Tab by Tab
At a Glance
1Stars
0Forks
1Open Issues
July 2026Last Active
Web AppPythonMIT
Technology Stack
LanguagesPython, JavaScript, Vue, Shell, CSS
RuntimePython 3.11+, Node.js 18+
FrameworkFastAPI (backend), Vue 3 + Pinia (frontend)
DatabaseNone (JSON config files and JSONL activity logs on disk)
Package Managerpip (requirements.txt) and npm
Key Dependenciesfastapi, uvicorn, websockets, pydantic, watchfiles, vue, pinia, @xterm/xterm
Build ToolVite
Test Frameworkpytest, Vitest, Playwright