Files
nmfs-agents/docker-compose.yml
qiuruiandClaude Sonnet 4.6 df59fc0c83 feat: NMFS Agents 全量入库(org v2 + dashboard + 多队列 + 组织架构)
包含从项目创建至今的全部代码首次入库:

核心框架:
- TaskQueue(SQLite,6 种状态,原子 dequeue)
- Executor(asyncio 并发,semaphore 限流,agent_role 路由)
- Scheduler(APScheduler,三队列独立调度)
- Watchdog(超时检测 + 优先级防饥饿)
- Scanner(项目扫描,README/TODO/CLAUDE.md 提取)

Agent 体系(20+ 角色):
- 项目交付组:architect/developer/tester/productizer
- 基础技术组:base-architect/validator/hw/os/kernel/lowlevel/system-tester
- 算法组:algo-antishake/position/nav
- 洞察组:planner/vision-analyst/media-producer
- 市场组:market-pm/sport/elder/safety
- 组织层:boss/group-leader/senior-dev/ops
- 平台扩展:nrf-dev/esp32-dev
- 三专项调研:rtp-researcher/net-researcher/kernel-analyzer

工具层:
- ProjectMemory(goals/facts/history SQLite)
- VersionPipeline(并行版本流水线 + 反幻觉门控)
- EventBus(Redis Streams,5 consumer groups)
- DailyReport(append-only 日报 + Boss 决策视图)
- AgentScorer(4 维评分:完成度/质量/自主性/协作)
- DeviceAgent(SSH rsync + 板端执行)
- EnvCollector(本机+SSH 环境采集)
- ArchVersion(快照/优化/promote/rollback)

Dashboard(React + Vite + Tailwind):
- 看板/项目/配置/洞察/日报/Visual 六标签页
- WebSocket 实时更新
- Markdown 渲染(react-markdown + remark-gfm)

测试:314 passed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 07:24:19 +08:00

41 lines
1.5 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
version: "3.9"
services:
dashboard:
build:
context: .
dockerfile: Dockerfile.dashboard
image: nmfs-agents-dashboard:latest
container_name: agents-dashboard
ports:
- "9080:8080"
volumes:
- ./data:/app/data # 共享 tasks.dbSQLite WAL 模式并发安全)
- ./configs:/app/configs # 读取项目配置
- /data:/data # 宿主机项目目录(用于读写项目 CLAUDE.md/README.md
- /home/qiurui/.claude:/home/qiurui/.claude # 全局 CLAUDE.md + OAuth 认证
- /home/qiurui/.claude.json:/home/qiurui/.claude.json # Claude CLI 配置
- /home/qiurui/.local:/home/qiurui/.local # claude CLI 二进制
- /data/company/visual-tester:/app/visual-tester
environment:
- DB_PATH=/app/data/tasks.db
- CONFIG_DIR=/app/configs
- DASHBOARD_PORT=8080
- CLAUDE_GLOBAL_DIR=/home/qiurui/.claude
- HOME=/home/qiurui
- PATH=/home/qiurui/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin
- http_proxy=http://172.17.0.1:8889/
- https_proxy=http://172.17.0.1:8889/
- HTTP_PROXY=http://172.17.0.1:8889/
- HTTPS_PROXY=http://172.17.0.1:8889/
- ALL_PROXY=socks://172.17.0.1:1089/
- all_proxy=socks://172.17.0.1:1089/
- NO_PROXY=localhost,127.0.0.1,172.17.0.0/16
restart: unless-stopped
healthcheck:
test: ["CMD", "python", "-c",
"import urllib.request; urllib.request.urlopen('http://localhost:8080/api/tasks')"]
interval: 30s
timeout: 5s
retries: 3