docs/develop/zzz/backend/的入口。绝区零一条龙的运行层(ZContext)之上的传输无关后端,把游戏感知 / 操作能力经 MCP 与 HTTP 对外暴露。本文为「总」,各「分」文档见下方索引。
一个 headless 服务进程:自己持有 ZContext,通过 ZzzBackendContext 收敛成传输无关方法,再由 MCP、HTTP 两个适配器并行对外暴露。GUI 是另一个独立入口,不经过本层。
三层:
| 层 | 内容 |
|---|---|
| Layer 0 | ZContext(截图 / OCR / YOLO / 控制器 / 执行引擎),不改动 |
| 收敛层 | ZzzBackendContext:持有 ctx、管生命周期、感知 / 操作方法 |
| 适配器 | MCP(@mcp.tool)+ HTTP(/game/*),并行、共享 backend |
flowchart LR
GUI["GUI 开发工具<br/>MCP 服务页"] -->|启动/停止/探测| Entry["entry/server.py"]
CLI["uv run ... server"] --> Entry
Entry --> Backend["ZzzBackendContext"]
Backend --> ZContext["ZContext"]
Backend --> BasicSlot["RunSlot<br/>operation 运行"]
Backend --> AppSlot["ApplicationRunSlot<br/>一条龙/独立应用"]
Backend --> Schemas["schemas.py"]
Backend --> MCP["mcp/app.py<br/>mcp/service_app.py"]
Backend --> HTTP["http/routes.py<br/>http/service_routes.py"]
MCP --> Client["MCP 客户端"]
HTTP --> Tooling["HTTP 客户端/skill/脚本"]
当前已实现:
- 游戏感知与操作:窗口状态、截图、画面分析、进游戏、关闭游戏。
- 应用运行:列出应用、一条龙运行、独立应用运行。
- 统一状态:
query_status/stop同时覆盖 operation 与 application 运行。 - 对外协议:MCP streamable-http、MCP prompts 与 HTTP
/game/*//health。 - GUI 辅助:开发工具中的「MCP 服务」页可探测、启动、停止、重启本机 server,显示当前运行状态、滚动展示 server 日志并复制 MCP 地址。
命令行启动:
uv run --env-file .env python -m zzz_od.backend.entry.server --port 23001如果项目根目录没有 .env,可省略 --env-file .env:
uv run python -m zzz_od.backend.entry.server --port 23001GUI 启动:打开「开发工具 -> MCP 服务」,使用同一条入口命令在本机启动 zzz_od.backend.entry.server 子进程。
启动后:
- MCP:
http://127.0.0.1:23001/mcp - HTTP 探测:
http://127.0.0.1:23001/health
| 文档 | 内容 |
|---|---|
| design-principles.md | 设计纲领:MCP tool 的能力边界与设计原则(agent 能力视角) |
| architecture.md | ZzzBackendContext 架构、生命周期、方法、资源约束、进程模型 |
| mcp.md | MCP 适配器(tool、传输、注册) |
| http.md | HTTP /game/* 适配器 |
| entry.md | 服务入口、运行方式 |
| remote-ssh.md | 远程 SSH daemon(Session 1 常驻,管主 server 启停) |
各文档末尾有「路线图(尚未实现)」段落,列 run-as-service / 事件桥 / 多实例 / GUI 收敛等待办。
- 一条龙整体架构 - Layer 0 运行层
- AI 编码助手接入 - MCP / skill 接入
- AI Coding Harness 工程 - 方向 B 路线图