3.3 KiB
3.3 KiB
Agent 开发规则
本仓库采用 DevHarness 工作流:Gitea 工单记录任务过程,Git 保存源码与版本绑定文档。当前长期文档事实来源是仓库 docs/;接入 Gitea Wiki 同步后再切换为 Wiki 主源,切换必须单独建单。
开始工作前阅读 docs/00-project-profile.md、docs/03-business-rules-and-glossary.md 和当前工单。不同交付单元规则不同时,在 server/、web/ 或 android/ 下增加更具体的 AGENTS.md。
永久规则
- 不把密码、Token、Cookie、私钥、PDD 账号凭据、个人数据或生产数据写入代码、日志、工单和文档。
- 不执行付款;任何自动支付实现、入口或测试都禁止进入本项目。
- 当前 MVP 只实现 PDD 商品、规则、任务、Android 执行和任务详情,不提前实现顺云宝、Shopee、采购、批量任务、规则发布流程、全局停机或实时屏幕。
- 不保存原始控件树和设备截图;只保存结构化任务日志、错误码、任务规则快照和采集结果。
- 一台设备同一时刻只执行一个任务;手机离线时当前任务失败,默认不重试、不自动换机。
- 找不到控件、验证码、风控、人机验证或登录失效时明确失败,不使用 OCR/VLM,不猜测规格,不点击相近候选。
- SKU 数据不完整仍须提交并允许在任务详情查看,状态记为
completed_partial。 - 规则创建即生效;删除后不能创建新任务,但已有任务继续使用自身规则快照。
- 同一 PDD 商品不能同时存在多个
pending或running任务。 - 重置任务保留 URL、goods_id、规则和设备快照,事务清空旧结果后重新进入
pending。 - 保留与当前工单无关的工作区改动,不重置、不覆盖、不顺手修改。
工单门禁
- 新功能、缺陷、接口、数据库、权限、并发、状态机和 UI 变化必须先有单元工单。
- Epic 和 MVP 只维护目标与子工单索引;单元任务是唯一实施单位。
- 工单必须记录原始需求摘要、前置依赖、是否可并行、子项目影响、方案、验收、验证、风险和文档影响。
- 实施前检查依赖;真实依赖未满足时保持待实施。
- 用户未明确验收前,工单保持待验收,不关闭。
实施规则
- 先确认目标、非目标和当前事实。
- 只修改工单声明的交付单元和共享契约。
- 共享 API 以
docs/08-agent-api-contract.md为唯一事实来源。 - 数据库和接口变化必须同步更新架构、业务规则和 API 文档。
- 每个动作结果必须与
taskId、deviceId和任务内的ruleSnapshot关联。 - Android Agent 必须使用任务租约和本地互斥锁保证串行。
- 服务端必须以最终包名、Activity 和页面证据验证动作,不只相信 Portal 的 success 响应。
- 测试结果必须真实;未验证的真机、多设备和云环境行为写入工单。
Git 与验收
- 提交只包含当前工单内容,提交信息引用工单号。
- 优先运行项目档案记录的格式、单元、契约和集成测试。
- 涉及自动提交订单、权限、安全、并发、迁移和删除数据属于高风险,必须再次等待人工确认。
- 完成后将实现、验证、遗留问题和提交哈希回写工单,等待用户验收。