{"id":49746092,"url":"https://github.com/forxidian/agent-mission-control","last_synced_at":"2026-05-13T15:01:31.371Z","repository":{"id":356691968,"uuid":"1233654138","full_name":"forxidian/agent-mission-control","owner":"forxidian","description":"Local mission-control dashboard for Codex, OpenCode, Claude Code, and compatible agent sessions.","archived":false,"fork":false,"pushed_at":"2026-05-09T08:10:58.000Z","size":308,"stargazers_count":3,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-09T10:22:18.600Z","etag":null,"topics":["agent-dashboard","ai-agents","claude-code","codex","dashboard","developer-tools","local-first","opencode","productivity"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/forxidian.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-09T07:36:08.000Z","updated_at":"2026-05-09T10:18:34.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/forxidian/agent-mission-control","commit_stats":null,"previous_names":["forxidian/agent-mission-control"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/forxidian/agent-mission-control","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forxidian%2Fagent-mission-control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forxidian%2Fagent-mission-control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forxidian%2Fagent-mission-control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forxidian%2Fagent-mission-control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/forxidian","download_url":"https://codeload.github.com/forxidian/agent-mission-control/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forxidian%2Fagent-mission-control/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32987764,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"ssl_error","status_checked_at":"2026-05-13T13:14:51.610Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-dashboard","ai-agents","claude-code","codex","dashboard","developer-tools","local-first","opencode","productivity"],"created_at":"2026-05-10T04:50:51.002Z","updated_at":"2026-05-13T15:01:31.352Z","avatar_url":"https://github.com/forxidian.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Agent Mission Control\n\n本地多 Agent 任务控制台，用来集中查看 Codex、OpenCode、Claude Code / Claude Desktop 等工具里的线程、项目、token 用量、运行状态和待处理事项。\n\n它默认只监听 `127.0.0.1`，只读取本机状态文件，不写入 Codex / OpenCode / Claude 的工作数据，也不发送遥测。\n\n## 功能截图\n\n![Agent Mission Control mock screenshot](docs/assets/agent-mission-control-real-ui.png)\n\n截图由 `npm run screenshot:mock` 通过虚构数据生成，只展示界面形态，不包含本机线程、路径、消息、token 或 quota 细节。\n\n## 最近更新\n\n- 自动刷新默认 30 秒，可切到 10 秒或 60 秒；后台页面暂停拉取，窗口失焦自动降频到 60 秒，服务端用 dashboard / 通知快照和性能指标降低持续读盘与 JSON 解析压力。\n- 支持安装为 Chrome / Edge PWA 独立窗口，并能从浏览器页或 macOS 菜单栏辅助工具优先切回已安装应用。\n- quota 总览支持按 GPT、Claude 等模型家族分组，Claude Desktop / Cowork 可从本地 Claude usage cache 读取聚合限额信号。\n- Claude Desktop Code 支持 `claude://resume` deep link 恢复会话，Claude Cowork 未完成任务会作为运行中信号展示。\n- 顶部 Host 工作中 / 待处理指标现在可点击跳转到对应面板，通知操作采用乐观更新，窄屏线程操作更紧凑。\n\n完整版本记录见 [CHANGELOG.md](CHANGELOG.md)。\n\n## 功能\n\n- 汇总 Codex 本地线程、标题、项目、归档状态、模型、token 和 quota 信息。\n- 汇总 OpenCode CLI / Desktop 会话，并识别待授权工具调用和 todo。\n- 汇总 Claude Code CLI、Claude Desktop Code、Claude Cowork 会话。\n- 按 GPT、Claude 等模型家族展示实时和本周 quota 可用量。\n- 支持按来源、状态、项目和关键词筛选。\n- 支持打开 Codex / OpenCode / Claude Desktop Code deep link，或在 macOS Terminal 恢复 CLI 会话。\n- 支持安装为本地 PWA 应用窗口；service worker 只缓存静态前端壳，不缓存 `/api/*` 本机 Agent 元数据。\n- 提供本地通知中心；系统桌面提醒当前隐藏，待后续接入可靠的原生通知实现。\n\n## 要求\n\n- Node.js `\u003e=20`\n- macOS 推荐；Linux / Windows 可运行看板，但部分打开应用和桌面通知能力取决于系统命令\n- 可选：`sqlite3` 命令，用于读取 Codex 本地 SQLite 状态\n- 可选：`codex`、`opencode`、`claude` CLI，用于检测版本或恢复 CLI 会话\n\n## 运行\n\n```bash\ngit clone https://github.com/forxidian/agent-mission-control.git\ncd agent-mission-control\nnpm start\n```\n\n打开：\n\n```text\nhttp://127.0.0.1:4629\n```\n\n安装成网页应用：\n\n- 在 Chrome / Edge 打开本地地址后，点击顶部的“安装应用”按钮，或使用地址栏里的安装入口。\n- 安装后会像普通桌面应用一样以独立窗口打开；再次从浏览器页点击顶部按钮会优先通过本地服务打开 macOS 上的 Chrome/Edge PWA app shim。\n- 如果本地 app shim 不可用，会再尝试 `web+agentmissioncontrol:` 协议唤起；卸载可从浏览器应用菜单完成。\n- 独立 PWA 窗口内提供“收起”按钮，可把窗口最小化到 Dock；macOS 红色关闭按钮仍由 Chrome app shim 管理，网页不能把它改成最小化。\n- PWA 只缓存前端壳子和图标，不缓存 `/api/*` 返回的本机 Agent 元数据。\n\n可选环境变量：\n\n```bash\nPORT=4629 HOST=127.0.0.1 npm start\n```\n\n不要把 `HOST` 绑定到公网或不可信局域网地址，除非你已经评估过本机 Agent 元数据暴露风险。\n\n## 数据来源\n\nCodex：\n\n- `~/.codex/state_5.sqlite`\n- `~/.codex/session_index.jsonl`\n- `~/.codex/sessions/**/rollout-*.jsonl`\n\nOpenCode：\n\n- `opencode session list --max-count 120 --format json`\n- `~/Library/Application Support/ai.opencode.desktop/opencode.global.dat`\n- OpenCode Desktop workspace state/cache 文件\n\nClaude：\n\n- `~/.claude/projects/**/*.jsonl`\n- `~/Library/Application Support/Claude/claude-code-sessions/**/*.json`\n- `~/Library/Application Support/Claude/local-agent-mode-sessions/**/*.json`\n- 同目录下的 `audit.jsonl` 和 `spaces.json`\n\n本项目自己的通知状态：\n\n- `~/.agent-mission-control/notifications.json`\n\n## 隐私\n\n这个项目用于本地查看你的 Agent 工作状态。它可能在浏览器里展示线程标题、项目路径、最近消息信号、token 与 quota 信息。详见 [docs/PRIVACY.md](docs/PRIVACY.md)。\n\n请不要提交本机状态文件、日志、数据库、`.env`、截图里的私密文本、cookie、token 或 API key。\n\n## 开发\n\n```bash\nnpm test\n```\n\n项目刻意保持轻依赖：当前没有外部 npm 依赖，主要使用 Node.js 内置 test runner、浏览器原生 API 和系统命令。\n\n版本变化见 [CHANGELOG.md](CHANGELOG.md)。\n\n生成 README 演示图：\n\n```bash\nnpm run screenshot:mock\n```\n\n这个命令会启动真实前端和 mock API，并用 Chrome headless 截图。\n如果 Chrome 不在默认 macOS 路径，可以通过 `CHROME_PATH` 指定浏览器可执行文件；如果端口被占用，可以通过 `PORT` 指定临时端口。\n\n## 开源准备\n\n这份仓库已按开源发布做过基础脱敏整理。发布前复核清单见 [docs/OPEN_SOURCE_PLAN.md](docs/OPEN_SOURCE_PLAN.md)。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforxidian%2Fagent-mission-control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fforxidian%2Fagent-mission-control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforxidian%2Fagent-mission-control/lists"}