- 项目简介:轻量远程管理平台,包含
apps/agent、apps/server、apps/web三端。 - 技术架构:Python 3.11+、uv、FastAPI、websockets、PostgreSQL、Tortoise ORM、Vue 3、Vite、Ant Design Vue。
- 关键入口:Agent 入口
apps/agent/main.py;Server 入口apps/server/main.py;Web 入口apps/web/src/main.ts。 - Agent 核心:
apps/agent/core/负责 bootstrap、host runtime、plane、任务与会话基础设施。 - Server 核心:
apps/server/api/提供 HTTP/WS 路由。 - Server 基础:
apps/server/core/负责 hub、registry、transport、lifecycle。 - 安全入口:HTTP 管理面经
apps/server/api/auth.py校验SERVER_ADMIN_TOKEN;Agent WS 使用独立 token。 - Web 核心:
apps/web/src/views/为页面入口。 - Web 组件:
apps/web/src/components/与apps/web/src/composables/承载面板与状态逻辑。 - 插件布局:内置插件在
apps/agent/host_plugins/;动态插件在apps/agent/plugins/。 - 文档入口:
README.md为总览;docs/存放架构、插件、前端扩展与远程桌面设计文档。
- 总览:
README.md。 - 插件/MCP 约束:
docs/plugin-mcp-guidelines.md。 - 多传输草案:
docs/multi-transport-minimal-architecture-draft.md。 - 首页面板扩展:
docs/frontend-home-panel-plugin-development-guide.md。 - 首页面板架构:
docs/frontend-home-panel-plugin-guide.md。 - 开源贡献:
CONTRIBUTING.md。 - 安全策略:
SECURITY.md。 - 第三方许可说明:
NOTICE.md与remote-desktop/native-dll/NOTICE.md。
- remote_desktop 会话权限字段必须由服务端按“插件策略 AND 请求值”收口;前端参数只做防呆。
- Web 跨 Agent 异步操作必须冻结并校验上下文;至少绑定
agentId+generation。 - 批处理/连接/路径再附加
basePath、connectionId等局部键,旧请求不得回写或弹 toast。 - 危险写操作必须由 Agent/服务端策略默认收口,前端按钮只做提示与防呆,不作为授权来源。
manifest的描述、权限与动作语义必须和真实能力一致。- 管理面 HTTP 鉴权未显式配置
SERVER_ADMIN_TOKEN时必须 fail-closed。 - 仓库默认配置不得提供隐式管理员口令或共享 Agent token。
- 危险布尔型配置/请求参数禁止直接
bool(value);"false"、"0"等不得当成真。
- 04-17 验证:upload 类 data session 要校验顺序 offset;写入失败后禁止 commit;
file.path还要校验 size。 - 04-18 验证:长流式会话缓冲必须有界;慢消费者走非阻塞 + 显式失败,二进制流禁止丢帧保新。
- 04-18 验证:有副作用操作返回失败时,服务端不得保留“已生效”的持久化状态;前端失败后回刷真实状态。
- 04-18 验证:危险布尔值解析要区分“缺失”和“显式无效值”;空串/未知值必须 fail-closed。
- 04-19 验证:单活跃资源的 open/close/teardown 必须由 manager 内同一生命周期锁原子收口。
- 04-19 验证:安装类版本替换必须先同盘 staging 校验,再 backup/replace。
- 04-28 验证:被
wait_for()包裹的生命周期写操作,副作用要用内层 task +shield()收口。 - 06-22 决策:开源默认配置不得含真实凭据;旧历史若含凭据,发布前必须轮换并清洗历史。