
Security News
/Research
Popular node-ipc npm Package Infected with Credential Stealer
Socket detected malicious node-ipc versions with obfuscated stealer/backdoor behavior in a developing npm supply chain attack.
ai-cli-online
Advanced tools
An AI-powered development environment that runs in your browser. Persistent terminal sessions, structured task lifecycle, and autonomous execution β all through a single Node.js process.
Built for running Claude Code, Codex CLI, Gemini CLI, or any other AI CLI over unstable networks. tmux keeps everything alive when connections drop; the browser UI provides planning, annotation, and chat panels alongside the terminal.
npm: https://www.npmjs.com/package/ai-cli-online | GitHub: https://github.com/huacheng/ai-cli-online

Terminal + Planning + Execution in one screen:
ββ Tabs βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ββ Plan Panel βββββββ¬β Terminal βββββββββββββββββββββββββ β
β β AiTasks/ browser β β β
β β Markdown viewer β $ /ai-cli-task auto my-feature β β
β β Inline annotations β βΆ planning... β β
β β (insert/delete/ β βΆ check(post-plan): PASS β β
β β replace/comment) β βΆ executing step 1/4... β β
β β β βΆ executing step 2/4... β β
β β Mermaid diagrams β ... β β
β β βββββββββββββββββββββββββββββββββββββ€ β
β β β Chat Editor β β
β β β Multi-line Markdown + /commands β β
β ββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
AiTasks/ files, annotate documents with 4 annotation types, send structured feedback to AIThe ai-cli-task plugin provides an 8-skill lifecycle for structured AI task execution:
init β plan β check β exec β check β merge β report
β β
re-plan ββββ (on issues)
| Skill | What it does |
|---|---|
| init | Create task module (AiTasks/<name>/), git branch, optional worktree |
| plan | Generate implementation plan or process human annotations |
| check | Evaluate feasibility at 3 checkpoints (post-plan / mid-exec / post-exec) |
| exec | Execute plan steps with per-step verification |
| merge | Merge task branch to main with conflict resolution (up to 3 retries) |
| report | Generate completion report, distill lessons to experience database |
| auto | Run the full lifecycle autonomously in a single Claude session |
| cancel | Stop execution, set status to cancelled, optional cleanup |
/ai-cli-task auto my-feature
One command triggers the entire lifecycle. A single Claude session runs plan β check β exec β merge β report internally, sharing context across all steps. A daemon monitors progress via .auto-signal files, enforces timeouts, and detects stalls.
AiTasks/
βββ .index.json # Module listing
βββ .experiences/ # Cross-task knowledge base (by domain type)
β βββ .summary.md # Experience file index
β βββ <type>.md
βββ .references/ # External reference materials (collected during plan/exec)
β βββ .summary.md # Reference file index
β βββ <topic>.md
βββ my-feature/
βββ .index.json # Status, phase, timestamps, dependencies (JSON)
βββ .target.md # Requirements (human-authored)
βββ .summary.md # Condensed context (prevents context overflow)
βββ .analysis/ # Evaluation history
βββ .test/ # Test criteria & results
βββ .bugfix/ # Issue history
βββ .notes/ # Research findings
βββ .report.md # Completion report
βββ .plan.md # Implementation plan
Tasks are classified by domain type (software, dsp, ml, literary, science:physics, etc.). Each type adapts planning methodology, execution tools, and verification criteria. Completed task lessons are stored in .experiences/<type>.md and referenced by future tasks of the same type.
The Plan panel provides 4 annotation types for structured AI feedback:
| Type | Icon | Description |
|---|---|---|
| Insert | + | Add content at a specific location |
| Delete | β | Mark text for removal |
| Replace | β | Substitute old text with new |
| Comment | ? | Ask questions or leave notes |
Annotations are persisted (localStorage + SQLite) and sent to the AI as structured JSON. The plan skill processes them β triaging by impact, applying changes, and updating task files.
npx ai-cli-online
npm install -g ai-cli-online
ai-cli-online
git clone https://github.com/huacheng/ai-cli-online.git
cd ai-cli-online
npm install
npm run build
npm start
sudo apt install tmux or brew install tmux)Create server/.env:
PORT=3001 # Server port
HOST=0.0.0.0 # Bind address
AUTH_TOKEN=your-secret-token # Auth token (required for production)
DEFAULT_WORKING_DIR=/home/user # Default working directory
HTTPS_ENABLED=true # Set to false behind nginx reverse proxy
TRUST_PROXY=1 # Set to 1 when behind nginx/reverse proxy
See server/.env.example for all available options.
Browser (xterm.js + WebGL)
βββ Plan Panel (annotation editor)
βββ Chat Editor (Markdown + /commands)
βββ Terminal View (WebGL renderer)
β
β WebSocket binary/JSON + REST API
β
Express Server (Node.js)
βββ WebSocket β PTY relay
βββ tmux session manager
βββ File transfer API
βββ SQLite (drafts, annotations, settings)
βββ Route modules (sessions, files, editor, settings)
β
β PTY / tmux sockets
β
tmux sessions β shell β Claude Code / AI agents
βββ AiTasks/ lifecycle (init/plan/check/exec/merge/report/auto)
ai-cli-online/
βββ shared/ # Shared type definitions
βββ server/src/
β βββ index.ts # Main entry (middleware + routes + server)
β βββ websocket.ts # WebSocket β PTY relay (binary + JSON)
β βββ tmux.ts # tmux session management
β βββ files.ts # File operations + path validation
β βββ pty.ts # node-pty wrapper
β βββ db.ts # SQLite database
β βββ auth.ts # Auth utilities
β βββ middleware/ # Auth middleware
β βββ routes/ # REST API routes (sessions, files, editor, settings)
βββ web/src/
β βββ App.tsx # Main app (Login / TabBar / Terminal / Theme)
β βββ store/ # Zustand store (modular slices)
β βββ components/
β β βββ TerminalPane.tsx # 2D grid layout (Plan + Terminal + Chat)
β β βββ TerminalView.tsx # xterm.js terminal
β β βββ PlanPanel.tsx # Plan annotation panel
β β βββ PlanAnnotationRenderer.tsx # Markdown + inline annotations
β β βββ PlanFileBrowser.tsx # AiTasks/ file browser
β β βββ MarkdownEditor.tsx # Chat editor
β β βββ ...
β βββ hooks/ # React hooks (WebSocket, file stream, resize, etc.)
β βββ api/ # Typed API client modules
βββ bin/ # npx entry point
βββ start.sh # Production start script
βββ install-service.sh # systemd + nginx installer
# Dev mode (frontend + backend separately)
npm run dev
# Build
npm run build
# Production (build + start)
bash start.sh
sudo bash install-service.sh # Interactive install (systemd + optional nginx)
sudo systemctl start ai-cli-online # Start service
sudo journalctl -u ai-cli-online -f # View logs
The install script will:
client_max_body_size)HTTPS_ENABLED=false and TRUST_PROXY=1 in server/.env when nginx is enabledMIT
FAQs
AI-Cli Online - Web Terminal for Claude Code via xterm.js + tmux
The npm package ai-cli-online receives a total of 15 weekly downloads. As such, ai-cli-online popularity was classified as not popular.
We found that ai-cli-online demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Β It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
/Research
Socket detected malicious node-ipc versions with obfuscated stealer/backdoor behavior in a developing npm supply chain attack.

Security News
TeamPCP and BreachForums are promoting a Shai-Hulud supply chain attack contest with a $1,000 prize for the biggest package compromise.

Security News
Packagist urges PHP projects to update Composer after a GitHub token format change exposed some GitHub Actions tokens in CI logs.