Files
Genarrative/.hermes/shared-memory/project-overview.md
kdletters fc54bff62f
Some checks failed
CI / verify (push) Has been cancelled
Keep local Rust dev builds on debug
2026-05-10 04:29:20 +08:00

7.5 KiB
Raw Blame History

Genarrative 项目共享概览

用途:给团队成员本地 Hermes 快速建立项目背景。内容应保持高层、稳定、可验证;细节以代码、README.mdAGENTS.mddocs/ 最新文档为准。

一句话定位

Genarrative / AI Native Visual RPG 是一个以 AI 叙事 + 本地规则 + 像素演出 为核心的视觉 RPG 与 AI 原生游戏创作平台原型。

项目当前不只是单一 RPG demo而是在同一平台内同时承载

  • RPG / 自定义世界创作与运行时
  • 拼图玩法创作与运行时
  • 大鱼吃小鱼玩法链路
  • 抓大鹅 Match3D 玩法链路
  • 用户账号、存档、钱包、任务、埋点、后台管理与生产部署链路

已具备的主要能力

来自根目录 README.md 的当前主能力:

  • 世界与角色选择
  • AI 剧情推进与流式对话
  • 战斗演出、NPC 战斗、切磋
  • NPC 交易、送礼、求助、招募
  • 宝藏交互
  • 同伴跟随与战斗
  • 游戏主流程内嵌的角色资产工坊、自定义世界实体编辑与角色形象编辑
  • 自动存档与继续游戏

当前前端与平台入口

  • 主站默认地址:http://127.0.0.1:3000
  • 后台可从 http://127.0.0.1:3000/admin/ 进入,也可直连 http://127.0.0.1:3102
  • 主站、后台和 Rust 后端联调默认走 npm run dev
  • 只启动前端页面可用 npm run dev:web,默认代理到本地 Rust api-server
  • 后台管理独立前端工程为 apps/admin-web,管理端只做表现,数据和写操作走 server-rs/admin/api/*

当前后端唯一落地口径

后端主线已经切到:

server-rs + Axum + SpacetimeDB

当前唯一有效后端方向:

  • HTTP 门面Rust api-server / Axum
  • 实时状态与业务真相:server-rs/crates/spacetime-module / SpacetimeDB
  • 共享领域与契约:server-rs 多 crate 分层维护
  • 前端职责:表现、输入采集、临时 UI 状态、服务端结果渲染

明确不再作为正式兼容目标:

  • server-node / Express / PostgreSQL 正式后端路线
  • Go 服务端试验路线
  • 浏览器侧承担正式运行时逻辑、正式生成编排或正式数据真相的路线

server-rs DDD 分层边界

DDD 分层边界以 docs/technical/SERVER_RS_DDD_FULL_REFACTOR_2026-04-28.mdSERVER_RS_DDD_PARALLEL_TASKLIST_2026-04-29.mdAGENTS.md 为准:

  • module-*:领域模型、命令、应用编排结果、领域事件、领域错误
  • spacetime-moduleSpacetimeDB 表、reducer、procedure、事务 adapter、mapper
  • spacetime-client:后端访问 SpacetimeDB 的 typed facade
  • api-serverHTTP / SSE / BFF adapter 与外部平台服务编排
  • platform-*LLM、OSS、SMS、微信等外部副作用
  • shared-contracts:前后端 DTO 与公开协议
  • shared-kernel:跨纯领域 crate 复用的基础字符串、ID、时间和归一化能力
  • tests-supportserver-rs workspace 共享测试支撑

当前 Rust workspace 主要 crate

server-rs/Cargo.toml 为准,当前主要成员包括:

  • 业务领域:module-aimodule-assetsmodule-authmodule-big-fishmodule-combatmodule-inventorymodule-custom-worldmodule-match3dmodule-npcmodule-puzzlemodule-progressionmodule-questmodule-runtimemodule-runtime-storymodule-runtime-itemmodule-story
  • 平台副作用:platform-ossplatform-authplatform-llm
  • 共享层:shared-contractsshared-kernelshared-logging
  • SpacetimeDB 接入:spacetime-clientspacetime-module
  • HTTP 服务与测试:api-servertests-support

注意:server-rs 的默认 cargo build 只构建 crates/api-server,本地 SpacetimeDB 模块发布继续走 spacetime publish --module-path ... --build-options="--debug"

Cargo 依赖口径:第三方依赖版本和 workspace 内部 crate path 统一维护在 server-rs/Cargo.toml[workspace.dependencies],成员 crate 默认继承 workspace 依赖,只保留自身 featuresoptional 或 target-specific 差异。

Rust 加密摘要依赖口径:新代码不再引入 sha1OSS V4 签名、阿里云 OpenAPI V3 签名和 refresh session token 摘要统一使用 sha2::Sha256

SpacetimeDB 表域总览

docs/technical/SPACETIMEDB_TABLE_CATALOG.md 为持续维护入口。当前表域包括:

  • 运维迁移:database_migration_operatordatabase_migration_import_chunk
  • 认证:auth_store_snapshotuser_accountauth_identityrefresh_session
  • 运行时档案:runtime_settingruntime_snapshotuser_browse_historyprofile_dashboard_stateprofile_wallet_ledgeranalytics_date_dimensiontracking_eventtracking_daily_statprofile_task_configprofile_task_progressprofile_task_reward_claim
  • RPG 运行时:story_sessionstory_eventnpc_stateinventory_slotbattle_statetreasure_recordquest_recordquest_logplayer_progressionchapter_progression
  • 世界创作:custom_world_profilecustom_world_sessioncustom_world_agent_sessioncustom_world_agent_messagecustom_world_agent_operationcustom_world_draft_cardcustom_world_gallery_entry
  • 拼图:puzzle_agent_sessionpuzzle_agent_messagepuzzle_work_profilepuzzle_eventpuzzle_runtime_runpuzzle_leaderboard_entry
  • 抓大鹅 Match3Dmatch3d_agent_sessionmatch3d_agent_messagematch3d_work_profilematch3d_runtime_run
  • 大鱼吃小鱼:big_fish_creation_sessionbig_fish_agent_messagebig_fish_asset_slotbig_fish_eventbig_fish_runtime_run
  • 资产:asset_objectasset_entity_bindingasset_event
  • AI 任务:ai_taskai_task_stageai_text_chunkai_result_referenceai_task_event

产品命名与运营口径

docs/technical/PRODUCT_NAMING_BAIMENG_RENAME_2026-05-01.md 为准:

  • 产品展示名:百梦
  • 消费单位:光点
  • 公开账号标识:百梦号
  • 创作侧称谓:百梦主

个人任务与埋点系统首版边界:

  • 埋点原始事实写入 tracking_event
  • 聚合投影写入 tracking_daily_stat
  • 任务配置写入 profile_task_config
  • 任务进度写入 profile_task_progress
  • 领奖记录写入 profile_task_reward_claim
  • 钱包流水写入 profile_wallet_ledger
  • “星光”奖励复用现有“光点”钱包,不新增第二种货币
  • 个人任务 scope 首版仅支持 user

关键文档入口

  • 根项目说明:README.md
  • 项目总约束:AGENTS.md
  • 文档总入口:docs/README.md
  • 经验沉淀:docs/experience/README.md
  • 审计与复盘:docs/audits/README.md
  • 系统设计:docs/design/README.md
  • 技术方案:docs/technical/README.md
  • 规划与优先级:docs/planning/README.md
  • 参考目录:docs/reference/README.md
  • 埋点查询:docs/tracking/README.md
  • 运营查询:docs/operations/README.md
  • 后端当前基线:docs/technical/CURRENT_BACKEND_IMPLEMENTATION_BASELINE_2026-04-25.md
  • 后端 DDD 总纲:docs/technical/SERVER_RS_DDD_FULL_REFACTOR_2026-04-28.md
  • 后端并行任务清单:docs/technical/SERVER_RS_DDD_PARALLEL_TASKLIST_2026-04-29.md
  • 契约与路由矩阵:docs/technical/SERVER_RS_DDD_G1_CONTRACT_AND_ROUTE_MATRIX_2026-04-29.md
  • SpacetimeDB 表结构变更约束:docs/technical/SPACETIMEDB_SCHEMA_CHANGE_CONSTRAINTS.md
  • SpacetimeDB 表目录:docs/technical/SPACETIMEDB_TABLE_CATALOG.md
  • Rust workspace 依赖集中配置:docs/technical/RUST_WORKSPACE_DEPENDENCY_CONSOLIDATION_2026-05-07.md
  • 生产部署计划:docs/technical/PRODUCTION_DEPLOYMENT_PLAN_2026-05-02.md