Skip to content

Latest commit

 

History

History
42 lines (39 loc) · 3.34 KB

AGENTS.md

File metadata and controls

42 lines (39 loc) · 3.34 KB

项目导航

  • 项目简介:轻量远程管理平台,包含 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 决策:开源默认配置不得含真实凭据;旧历史若含凭据,发布前必须轮换并清洗历史。