核心用法
Agent HQ 是一套面向技术团队的 Mission Control 任务指挥栈,通过 Express + SQLite 提供 RESTful API,配合 Vite/React 构建的实时看板 UI,实现任务(Card)的全生命周期管理。系统内置高优先级任务自动监控、Telegram 即时告警推送,以及 Jarvis 智能摘要生成能力,支持通过 POST /api/cards/quick 快速录入任务或直接在 React 面板中拖拽操作。
部署流程:克隆仓库后,分别安装根目录与 frontend-react 依赖,配置 Telegram Bot Token 与 Chat ID(支持 config/telegram.json 或环境变量),构建前端并启动服务即可。数据持久化采用 SQLite(data/mission.db),支持通过 data/board.json 预置种子任务。Cron 定时任务负责驱动 Jarvis 摘要生成与 Telegram 告警推送。
显著优点
- 开箱即用的一体化架构:前后端分离但仓库统一,单条命令完成构建与启动,降低团队部署门槛
- 多通道自动化通知:Telegram 集成 + 高优先级任务去重机制(
high_priority_jobs表),避免告警轰炸 - API 优先设计:提供完整的 REST 端点(
/api/board、/api/cards、/api/notify-telegram),便于脚本化集成与第三方系统对接 - Jarvis 智能摘要:通过独立脚本
jarvis-connector.js生成任务摘要,可扩展为 AI 驱动的日报/周报自动化 - 环境变量与配置文件双轨:敏感信息(Telegram Token)支持环境变量注入,兼顾本地开发与生产部署安全
潜在局限
- 数据层单点依赖:SQLite 作为默认数据库,在高并发写入场景下可能出现锁竞争,需评估是否迁移至 PostgreSQL
- 认证机制较简单:
AGENT_HQ_API_TOKEN为简易 Bearer Token,缺乏 RBAC 与细粒度权限控制,不适合开放公网访问 - 前端构建依赖:UI 需预构建(
npm run build),动态热更新配置较繁琐,开发体验不及 Next.js 等现代框架 - Jarvis 集成黑盒化:摘要生成逻辑依赖外部
jarvis-connector.js,未开源具体实现,可维护性与可定制性受限 - 无内置 SSL/TLS:默认 HTTP 服务,生产环境需额外配置反向代理(Nginx/Caddy)
适合人群
- 中小型技术团队(5-30 人)需要轻量级任务看板与自动化告警
- DevOps/SRE 工程师希望快速搭建内部 Mission Control 监控系统
- 已有 Telegram 工作流、追求「代码即配置」风格的自托管偏好者
常规风险
| 风险类别 | 具体说明 | 缓解建议 |
|---------|---------|---------|
| **密钥泄露** | `config/telegram.json` 包含 Bot Token,若误提交至 GitHub 可导致机器人被滥用 | 强制使用 `.gitignore` + 环境变量注入;启用 GitHub secret scanning |
| **未授权 API 访问** | 变异端点(POST/DELETE)仅依赖单一 Token,无速率限制 | 部署前配置 Nginx 限流 + IP 白名单;生产环境启用 OAuth2 代理 |
| **SQL 注入** | 代码片段未展示参数化查询实现 | 审计 `backend/server.js` 中所有 SQL 拼接逻辑,确认使用 `?` 占位符 |
| **CORS 配置** | Vite 开发服务器与 Express 生产环境的跨域策略需手动对齐 | 明确配置 `cors` 中间件白名单,避免开放 `*` |
| **依赖供应链** | 未提供 `package-lock.json` 完整性校验 | 执行 `npm audit` 并启用 Dependabot 自动更新 |
建议在生产部署前完成渗透测试,特别关注 Telegram Webhook 回调验证与 SQLite 文件权限(建议 chmod 600 data/mission.db)。