# AI Native Visual RPG 一个以“AI 叙事 + 本地规则 + 像素演出”为核心的视觉 RPG 原型。 当前已经具备这些主要能力: - 世界与角色选择 - AI 剧情推进与流式对话 - 战斗演出、NPC 战斗、切磋 - NPC 交易、送礼、求助、招募 - 宝藏交互 - 同伴跟随与战斗 - 游戏主流程内嵌的角色资产工坊、自定义世界实体编辑与角色形象编辑 - 自动存档与继续游戏 ## 运行 前置条件: - Node.js - Rust / Cargo - SpacetimeDB CLI 安装依赖: ```bash npm install ``` 准备环境变量: - 复制 `.env.example` 为 `.env.local` - 填入 `LLM_API_KEY` / `ARK_API_KEY` - 按需设置 `VITE_LLM_MODEL` - 如需启用阿里云短信验证码登录,填写 `ALIYUN_SMS_ACCESS_KEY_ID`、`ALIYUN_SMS_ACCESS_KEY_SECRET`,并确认 `SMS_AUTH_PROVIDER="aliyun"` - 本地联调短信登录时,建议将 `VITE_AUTH_ALLOW_DEV_GUEST` 设为 `false`,避免开发模式自动进入游客账号而跳过登录页 - 如需打印完整 prompt/output,可把 `VITE_LLM_DEBUG_LOG` 设为 `true` 启动开发环境: ```bash npm run dev ``` 补充说明: - `npm run dev` 会启动 SpacetimeDB standalone、Rust `api-server`、主站 Vite 与后台 Vite,适合完整联调。 - 主站默认地址是 `http://127.0.0.1:3000`,后台可从 `http://127.0.0.1:3000/admin/` 进入,也可直连 `http://127.0.0.1:3102`。 - 如果只想单独启动前端页面,可使用 `npm run dev:web`,默认代理到本地 Rust `api-server`。 构建生产包: ```bash npm run build ``` ## 常用检查 类型检查: ```bash npm run lint ``` 编码检查: ```bash npm run check:encoding ``` 内容引用校验: ```bash npm run check:data ``` 编辑器 override 校验: ```bash npm run check:overrides ``` 关键内容 smoke 检查: ```bash npm run check:smoke ``` 一键内容检查: ```bash npm run check:content ``` ## 主要结构 主运行时: - [src/App.tsx](/E:/Repos/Genarrative/src/App.tsx) - [src/components/GameShell.tsx](/E:/Repos/Genarrative/src/components/GameShell.tsx) - [src/hooks/useCombatFlow.ts](/E:/Repos/Genarrative/src/hooks/useCombatFlow.ts) - [src/hooks/useStoryGeneration.ts](/E:/Repos/Genarrative/src/hooks/useStoryGeneration.ts) 主流程内嵌编辑能力: - [src/components/CustomWorldEntityEditorModal.tsx](/E:/Repos/Genarrative/src/components/CustomWorldEntityEditorModal.tsx) - [src/components/CustomWorldNpcVisualEditor.tsx](/E:/Repos/Genarrative/src/components/CustomWorldNpcVisualEditor.tsx) - [src/components/CustomWorldRoleAssetStudioModal.tsx](/E:/Repos/Genarrative/src/components/CustomWorldRoleAssetStudioModal.tsx) 核心数据: - [src/data/scenePresets.ts](/E:/Repos/Genarrative/src/data/scenePresets.ts) - [src/data/characterPresets.ts](/E:/Repos/Genarrative/src/data/characterPresets.ts) - [src/data/monsterPresets.ts](/E:/Repos/Genarrative/src/data/monsterPresets.ts) - [src/data/npcInteractions.ts](/E:/Repos/Genarrative/src/data/npcInteractions.ts) - [src/data/treasureInteractions.ts](/E:/Repos/Genarrative/src/data/treasureInteractions.ts) ## 文档入口 - [docs/README.md](/E:/Repos/Genarrative/docs/README.md):文档总入口,按主题分类后的导航页 - [docs/experience/README.md](/E:/Repos/Genarrative/docs/experience/README.md):项目开发经验、UI 交接、历史实现经验 - [docs/audits/README.md](/E:/Repos/Genarrative/docs/audits/README.md):工程审查、文本审计、专项审计 - [docs/planning/README.md](/E:/Repos/Genarrative/docs/planning/README.md):当前阶段优先级与推进顺序 - [docs/design/README.md](/E:/Repos/Genarrative/docs/design/README.md):玩法、关系、物品与对话设计 - [docs/technical/README.md](/E:/Repos/Genarrative/docs/technical/README.md):技术路线、服务端方案、外部产品拆解 - [docs/reference/README.md](/E:/Repos/Genarrative/docs/reference/README.md):Function 与脚本速查 - [docs/prd/](/E:/Repos/Genarrative/docs/prd/):PRD 与阶段计划,原样保留 - [UI_CODING_STANDARD.md](/E:/Repos/Genarrative/UI_CODING_STANDARD.md):UI 资产与编码规范