5 Commits

Author SHA1 Message Date
d125a8d6ec fix(tmux): hide web terminal proxy sessions 2026-08-12 11:20:58 +08:00
176119ca29 fix(auth): persist login and skip redundant login page 2026-08-12 11:20:34 +08:00
f7d6df8756 feat: tmux live agent discovery and launch API
- src/services/tmux.js: parse tmux panes (claude/node->codex engine match),
  collect running agents, launch agent in new or existing session via
  new-window/new-session + send-keys (window survives agent exit)
- routes: GET/POST /api/tmux/agents, GET /api/auth/check (for nginx
  auth_request), liveAgents in /api/dashboard aggregate
- tests for the pure parser

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-28 21:20:26 +08:00
7ab826ac7e feat: add Claude Code and Qoder agent engines
- Introduce `engine` field on agent profiles (codex/claude/qoder); auto-inferred from command when omitted.
- Default profiles now include `claude-bypass` (mirrors `ccx='claude --permission-mode bypassPermissions'`) and `qoder-yolo` (mirrors `qxx='qodercli --yolo'`), both running headless with `-p --output-format stream-json` so session ids can be extracted for resume.
- Stream-json engines share parsing: session_id pulled from `system.init`, task stdout shows only assistant text plus a `[done]` line, tool_use/tool_result noise dropped.
- Resume builds `--resume <sid> <prompt>` for stream-json engines, keeps Codex's `resume <sid> <prompt>` positional form.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-15 15:08:28 +08:00
673a5f9f62 feat: add backend server and service modules
Includes HTTP server with auth, static file serving, and API routes.
Services cover GPU monitoring, quota checking, Gitea repo listing,
workspace management, agent task orchestration, and settings persistence.
2026-05-15 11:12:30 +08:00