Files
Genarrative/AGENTS.md
T
kdletters e1d031b86f 增加外部API的MCP与异步生成模式
新增托管式Streamable HTTP MCP端点并复用外部API Key鉴权
统一图片视频音频等生成请求为幂等异步提交和状态查询
提供可发现的使用说明、OpenAPI资源及完整Skill下载包
同步更新OpenAPI契约并规定接口变更必须连带维护
适配AI游戏创作Shell的异步提交轮询与安全重试
补齐MCP方法映射、异步Worker和客户端回归测试
2026-07-31 19:48:28 +08:00

7.8 KiB
Raw Blame History

AGENTS.md

入口定位

  • 本文件只保留 Agent 进入仓库后必须立即遵守的最高优先级规则;完整执行细则见 docs/【协作规范】Agent工作入口与执行准则-2026-06-22.md
  • 团队级长期项目记忆位于 docs/project-memory/,供 3 名开发人员和各自本地 Agent 通过 Git 同步。
  • .hermes/ 只保存 Hermes 专用仓库级工具资源,例如 skills、plugins 和启用说明;长期项目知识不要写入 .hermes/
  • docs/project-memory/shared-memory/ 与当前代码或最新 docs/ 冲突,以代码和最新 docs/ 为准,并同步修正过期共享记忆。

开始任务前

绝对约束

  • 禁止提交个人 ~/.hermes 配置、.env、API Key、Token、Cookie、会话记录、认证文件、本地私密路径、构建产物、日志、缓存和数据库 dump。
  • 不要在 .gitignore 中新增 .env.local
  • 不要擅自把现有中文文案、注释、剧情或文档改写成英文;看到中文乱码时先确认真实编码,不要沿用乱码或用英文替换。
  • 修改包含中文的文件时优先局部补丁,避免整文件重写;修改后优先运行仓库编码检查。
  • 后续新增 Markdown 文档文件名必须以分类标签开头,格式为 【标签名】中文标题-日期.md;历史文档不要求批量重命名,除非本次任务明确涉及。
  • 工程修改要同步更新对应 docs/ 文档;产生长期有效的架构约定、接口变化、排障经验、开发流程或协作规则时,同步更新 docs/project-memory/shared-memory/
  • 默认保持系统简洁:优先复用、修改、扩展现有系统、页面和公共组件,不新建平行系统或平行页面。
  • UI 面板中不要默认写功能说明、规则描述或开发解释文案;移动端优先,同时保证网页端可正常显示和操作。
  • 点击按钮弹出独立面板的设计,不要实现成在当前面板下面追加内容。

任务路由

  • Issue 使用自托管 Gitea;优先用 Gitea UI/API 或 tea CLI,不使用 GitHub gh 或 GitLab glab,除非仓库已迁移。默认 triage 标签:needs-triageneeds-infoready-for-agentready-for-humanwontfix
  • 需要仓库级 Hermes skills/plugins 时,再读取 .hermes/README.md
  • 涉及 AI 游戏创作独立 App、多智能体 Runtime、本地项目产物或本地 HTTP 预览时,先读取 docs/technical/【技术方案】AI游戏创作智能体App实施计划-2026-06-24.md
  • 新增、补齐、迁移或重构玩法入口、玩法类型、创作工作台、生成页、结果页、发布、运行态、作品架、广场或公开 read model 前,必须读取并按 genarrative-play-type-integration 执行。
  • 涉及 npm run dev / npm run dev:spacetime / npm run dev:api-server / npm run dev:web / npm run dev:admin-web 的端口探测、端口漂移、SpacetimeDB publish server、api-server 环境变量、Vite 代理目标或后台 dev 端口时,按 .hermes/skills/genarrative-dev-stack-port-routing/SKILL.md 执行。
  • 涉及 SpacetimeDB 的设计、实现、脚本、调试、发布、绑定生成、schema、reducer、procedure、view 或 Rust API 时,必须读取并按 spacetimedb-clispacetimedb-rustspacetimedb-concepts 中相关 skill 执行。

后端红线

  • 后端最新技术约束以 docs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.md 为准。
  • 后端路线固定为 server-rs + Axum + SpacetimeDB;旧 server-node、Express、PostgreSQL、Go 服务端、maincloud / Maincloud / MAINCLOUD 只作为历史残留,不作为兼容目标。
  • DDD 分层边界按总纲执行:领域规则沉到 module-*SpacetimeDB 表和事务编排留在 spacetime-module,后端访问 SpacetimeDB 统一经 spacetime-client facadeHTTP/SSE/BFF 留在 api-server,外部副作用留在 platform-*,前后端 DTO 留在 shared-contracts
  • 前端只做表现、交互和临时 UI 状态,不承接正式业务真相,不绕过后端投影或后端 API 直接实现业务规则。
  • 契约、路由、DTO 去留和 breaking change 以当前后端架构文档、server-rs/crates/api-server/src/app.rsshared-contractspackages/shared 为准;不得在前端、api-server 或临时兼容层中重新发明旧接口。
  • 凡修改 /api/external/v1 的路由、HTTP 方法、请求 / 响应 DTO、请求头、状态码、鉴权或异步语义,必须在同一次变更中同步更新权威契约 docs/openapi/genarrative-external-v1.openapi.json 及对应契约测试;Rust 实现与 OpenAPI 未保持一致时任务不得视为完成。
  • SpacetimeDB 已有表新增字段时,字段必须放在 Rust 表结构体最后,并设置明确默认值;需要删除、改名、重排或改类型时,必须先询问用户并确认迁移计划。
  • 修改 SpacetimeDB schema 后必须同步 migration.rs、表目录和生成绑定,并运行 npm run check:spacetime-schema
  • 除 CI/CD 脚本内部受控用法外,人工命令、本地联调、排障步骤和文档示例禁止继续使用 spacetime --root-dir

验证与提交

  • 修改后按范围运行定向测试、类型检查、npm run check:encodinggit diff --check;后端 API smoke 使用 npm run dev:api-server 拉起后端并检查 /healthz
  • 修改 SpacetimeDB schema 后追加 npm run check:spacetime-schema;涉及发布或生产运维时按当前开发运维文档和脚本门禁执行。
  • 提交代码时,提交标题必须使用中文;标题后逐行写明本次提交修改了什么,每条变更单独一行。

文档图谱

docs/
├─ README.md
├─ 【协作规范】Agent工作入口与执行准则-2026-06-22.md
├─ 【项目基线】当前产品与工程约束-2026-05-15.md
├─ 【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.md
├─ 【玩法创作】平台入口与玩法链路-2026-05-15.md
└─ 【开发运维】本地开发验证与生产运维-2026-05-15.md