14 KiB
Eternal AI 完整功能与链接路由规划
Type: feat
Date: 2026-06-20
Origin: Eternal_AI_PRD_v1.docx(微信小程序 PRD v1.0)
Target repo: EternalAI
Status: active
1. Summary
本规划依据 Eternal_AI_PRD_v1.docx 对现有 HTML5 落地页进行补全,核心目标是:
- 让首页四个入口(我的 XXX、蒸馏前任、关于 Eternal AI、申请入驻)分别指向 PRD 定义的独立页面,而不是全部打开同一个人设蒸馏表单。
- 补齐 PRD 中缺失的 4 个页面:角色库页(P2)、角色详情页(P3)、关于 Eternal AI 页(P5)、创作者入驻页(P6)。
- 将现有的人设蒸馏表单重新定位到「创作者管理中心 - 角色编辑」(P7),保留 Soul.md / config.yaml 生成功能。
- 增加底部 tabBar(首页 / 蒸馏前任 / 我的专属创作者),与 PRD 导航结构一致。
当前已实现的页面:首页(P1)、登录/注册视图、蒸馏前任服务页(P4)、人设蒸馏表单(待重新定位)。
2. Problem Frame
现有实现把三个完全不同的用户意图塞进了同一个表单:
- 普通用户想找角色库 → 打开了登录/注册(已修正,但登录后无角色库可去)。
- 普通用户想购买蒸馏前任服务 → 打开了正确页面(P4)。
- 创作者想入驻 → 打开了人设蒸馏表单(错误:PRD 要求 P6 仅展示合作说明与微信二维码,不填表单)。
- 关于 Eternal AI → 仅有一个空锚点
#about,无实际页面。
此外,PRD 定义的角色库(P2)、角色详情(P3)、创作者管理中心(P7)均未实现,导致用户登录后没有内容,创作者也没有入口管理角色和收入。
3. Requirements Traceability
| PRD 页面 | 访问权限 | 入口 | 当前状态 | 规划动作 |
|---|---|---|---|---|
| P1 首页 | 所有人 | 打开站点 | 已实现 | 保持,调整链接 |
| P2 角色库页 | 已登录 + 已绑定创作者 | 首页「我的 XXX」 | 缺失 | 新增 |
| P3 角色详情页 | 已登录用户 | P2 角色卡片 | 缺失 | 新增 |
| P4 蒸馏前任页 | 所有人 | 首页「蒸馏前任」/ tabBar | 已实现 | 保持,补充底部 tabBar 入口 |
| P5 关于 Eternal AI 页 | 所有人 | 首页底部「关于 Eternal AI」 | 缺失 | 新增 |
| P6 创作者入驻页 | 所有人 | 首页底部「申请入驻」 | 错误指向 creator 表单 | 改为微信联系说明页 |
| P7 创作者管理中心 | 创作者账号登录后 | tabBar「管理」 | 缺失 | 新增,复用现有 creator 表单作为「角色编辑」 |
4. Link Rationality(首页入口调整说明)
4.1 我的 XXX → 登录 → 角色库(P2)
为什么这样设计:
- PRD 中「我的 XXX」是角色库入口,而角色库需要登录后才能访问。
- 未登录用户点击后应先进入登录/注册;登录后根据是否绑定创作者决定展示内容。
- 登录态由前端本地模拟(localStorage 标记),后续由后端接管。
状态分支:
- 未登录 → 登录/注册视图。
- 已登录 + 已绑定创作者 → P2 角色库(显示该创作者上架的角色)。
- 已登录 + 未绑定创作者 → P2 角色库占位态,提示「你还没有绑定专属创作者」。
4.2 蒸馏前任 → P4 蒸馏前任服务页
为什么这样设计:
- 与 PRD 一致,面向情感类用户的自营服务。
- 保持现有 P4 页面结构:服务介绍、流程、价格、下单、客服微信、分润说明。
4.3 关于 Eternal AI → P5 关于页
为什么这样设计:
- PRD 明确这是建立女性用户信任的页面,需要展示平台简介、连接方式说明、FAQ(安全/隐私/账号/情感)。
- 当前空锚点
#about无法承载任何信息,必须新建独立视图。
4.4 我是创作者,申请入驻 → P6 创作者入驻页
为什么这样设计:
- PRD 明确 P6「不做表单提交,直接走微信私聊沟通」。
- 现有的人设蒸馏表单是创作者入驻后的生产工具,不是入驻申请本身。
- 因此 footer 入口应改为展示合作模式、分润比例、负责人微信二维码的引导页。
4.5 底部 tabBar
为什么这样设计:
- PRD 底部导航为「首页 / 蒸馏前任 / 我的专属创作者」。
- 在 HTML5 站点中用固定底部 tabBar 模拟小程序导航,让 P4 和 P2/P7 都有全局入口。
- tabBar 在首页、蒸馏前任、角色库/创作者中心之间切换。
5. Implementation Units
U1. 调整「我的 XXX」链路:未登录进登录页,已登录进角色库
Goal: 让首页「我的 XXX」卡片根据登录态正确分流。
Requirements: PRD P1 板块三、P2 条件逻辑。
Dependencies: U2(角色库页必须先存在)。
Files:
index.htmlapp.js
Approach:
- 在
app.js增加authState对象:{ isLoggedIn: bool, boundCreator: object|null }。 - 点击「我的 XXX」时:
- 未登录 →
showView('auth'),登录成功后写入authState并跳转 P2。 - 已登录 → 直接
showView('role-library')。
- 未登录 →
- 登录/注册提交不再
alert,而是更新状态并跳转。
Test scenarios:
- 未登录点击「我的 XXX」→ 显示登录页。
- 登录成功后点击「我的 XXX」→ 显示角色库。
- 登录后
boundCreator为空 → 角色库显示「未绑定创作者」提示。
U2. 新增角色库页(P2)
Goal: 展示创作者上架的所有 AI 角色。
Requirements: PRD P2。
Dependencies: U1。
Files:
index.html(新增#role-libraryview)styles.cssapp.js
Approach:
- 新增
view--role-library,顶部显示创作者自定义名称(如「云朵的后宫」)。 - 角色卡片列表:头像、名字、简短简介、价格。
- 点击卡片 → P3 角色详情。
- 空态:未绑定创作者时显示提示文案。
Test scenarios:
- 角色列表按 PRD 字段渲染。
- 点击卡片正确跳转角色详情。
- 未绑定创作者时显示空态提示。
U3. 新增角色详情页(P3)
Goal: 展示单个角色详情并模拟订阅/二维码流程。
Requirements: PRD P3。
Dependencies: U2。
Files:
index.html(新增#role-detailview)styles.cssapp.js
Approach:
- 新增
view--role-detail,包含:角色大图、名字、详细介绍、价格、付款按钮。 - 点击「付款」后切换到已付款态:显示微信专属二维码、可下载头像、引导文案。
- 由于无真实支付接口,付款按钮先切换本地状态并展示二维码占位图。
Test scenarios:
- 付款前态显示价格与按钮。
- 点击付款后切换到已付款态,显示二维码和头像下载。
- 返回按钮回到角色库。
U4. 新增关于 Eternal AI 页(P5)
Goal: 建立用户信任,解答安全、隐私、账号、情感类常见问题。
Requirements: PRD P5。
Dependencies: 无。
Files:
index.html(新增#aboutview)styles.cssapp.js
Approach:
- 新增
view--about,结构:平台简介、连接方式说明(Claw / iLink)、FAQ 折叠面板。 - FAQ 分类:安全类、隐私类、账号类、情感类。
- 首页底部「关于 Eternal AI」改为
data-action="open-about"。
Test scenarios:
- 点击 footer「关于 Eternal AI」打开 P5。
- FAQ 可展开/收起。
- 返回按钮回到首页。
U5. 重构创作者入驻页(P6)为微信联系引导
Goal: 将 footer「申请入驻」从 creator 表单改为 PRD 定义的入驻说明页。
Requirements: PRD P6。
Dependencies: 无。
Files:
index.html(新增#creator-onboardingview,或复用/替换原 footer 目标)styles.cssapp.js
Approach:
- 新增
view--creator-onboarding:入驻说明、合作模式(20% 平台 + 80% 创作者)、负责人微信二维码/微信号。 - 不提交表单,仅展示联系方式。
- footer「我是创作者,申请入驻」改为
data-action="open-creator-onboarding"。
Test scenarios:
- 点击 footer「申请入驻」打开 P6 说明页。
- 页面包含微信二维码和分润说明。
- 返回按钮回到首页。
U6. 将现有人设蒸馏表单重新定位为「创作者管理中心 - 角色编辑」
Goal: 保留 Soul.md / config.yaml 生成功能,但仅作为创作者后台工具。
Requirements: PRD P7 Tab 1 角色管理页;同时满足用户原始需求(生成 Hermes agent 配置文件)。
Dependencies: U5。
Files:
index.htmlstyles.cssapp.js
Approach:
- 当前
#creatorview 从「landing footer 入口」改为「creator center 内部编辑页」。 - 入口文案调整:header 从「Eternal AI / 人设蒸馏器」改为「角色编辑 / 生成配置文件」。
- 保留 4 步表单和下载逻辑。
Test scenarios:
- 从创作者管理中心点击角色进入编辑页时,表单正常显示。
- 提交后仍能生成并下载 Soul.md + config.yaml。
- 返回按钮回到创作者管理中心的角色列表。
U7. 新增创作者管理中心(P7)
Goal: 为创作者提供角色管理、收入、账户设置入口。
Requirements: PRD P7。
Dependencies: U5, U6。
Files:
index.html(新增#creator-centerview)styles.cssapp.js
Approach:
- 新增
view--creator-center,内部三个 tab:我的角色 / 收入 / 我的。 - 我的角色: 角色列表(头像、名字、状态),点击角色进入 U6 的编辑页,新增角色也进入同一表单。
- 收入: 可提现余额、流水明细、提现申请表单(收款方式 + 金额)。
- 我的: 创作者名字、自定义角色库名称(即首页「我的 XXX」显示文字)、退出登录。
- 该中心仅在
authState标记为创作者时从 tabBar「管理」进入;普通用户该 tab 指向角色库或提示申请创作者。
Test scenarios:
- 三个 tab 可切换。
- 点击角色进入编辑表单。
- 自定义角色库名称保存后,首页「我的 XXX」同步更新。
- 收入页显示余额与流水,提现表单可提交(前端模拟)。
U8. 新增底部 tabBar 导航
Goal: 模拟 PRD 的小程序底部导航:首页 / 蒸馏前任 / 我的专属创作者。
Requirements: PRD P1 底部导航栏。
Dependencies: U2, U4, U7。
Files:
index.htmlstyles.cssapp.js
Approach:
- 在
index.html底部新增.tab-bar固定元素。 - 三个 tab:首页 → P1;蒸馏前任 → P4;我的专属创作者 → 未登录进登录页,已登录普通用户进 P2,已登录创作者进 U7 创作者管理中心。
- tabBar 在当前页面对应 tab 上高亮。
Test scenarios:
- 三个 tab 正确切换视图。
- 高亮状态与当前视图一致。
- 未登录时点击第三个 tab 先进登录页。
U9. 统一视图路由与状态管理
Goal: 让多视图切换更可靠,便于后续接入真实后端。
Requirements: 全局路由一致性。
Dependencies: U1–U8。
Files:
app.jsindex.html
Approach:
- 维护
views字典,所有视图统一showView(viewId)切换。 authState和creatorState集中到顶部,提供login(),logout(),bindCreator()方法。- 每次视图切换时滚动到顶部,并更新 tabBar 高亮。
- 保留 URL hash 与当前视图同步(可选,便于刷新后定位)。
Test scenarios:
- 任意返回按钮都能回到正确上一页或首页。
- 刷新页面后仍保持登录态(localStorage)。
- 视图切换无 JavaScript 报错。
6. Key Technical Decisions
| 决策 | 选项 | 选择 | 理由 |
|---|---|---|---|
| 登录态存储 | localStorage / sessionStorage / 仅内存 | localStorage | 单页应用刷新后保持状态,后续后端接管时替换为 token 即可。 |
| 支付流程 | 真实支付接口 / 前端模拟 | 前端模拟 | PRD 附录列明「自动支付接口暂不开发」,一期仅做 UI 状态切换。 |
| 角色数据 | 硬编码 mock / localStorage / 后端 | 硬编码 mock + 可扩展结构 | 一期先展示前端,数据结构按后端接口预留字段。 |
| 创作者表单定位 | 删除 / 保留在创作者中心 | 保留在创作者中心 | 满足用户原始需求:生成 Soul.md 与 config.yaml。 |
| tabBar 实现 | 固定底部栏 / 无 tabBar | 固定底部栏 | 与 PRD 一致,也弥补 HTML5 缺少小程序原生导航的问题。 |
7. Scope Boundaries
In Scope
- 首页四个入口的路由修正。
- P2、P3、P5、P6、P7 的页面结构与交互。
- 底部 tabBar。
- 前端模拟的登录态、创作者态、支付态。
Deferred to Follow-Up Work
- 真实后端 API 对接(登录、支付、角色 CRUD、收入流水)。
- 文件上传(蒸馏前任聊天记录),PRD 已明确一期走微信人工指导。
- 自动提现审核与转账,PRD 已明确一期手动处理。
- 运营后台。
- 创作者页面颜色主题自定义。
8. Risks & Dependencies
| 风险 | 影响 | 缓解 |
|---|---|---|
| PRD 面向微信小程序,而当前是 HTML5 站点,部分交互(如微信扫码、小程序 tabBar)需要重新设计。 | 中 | 用 HTML5 可实现的等价交互替代:tabBar 用固定底部栏、扫码用二维码占位图、微信支付用模拟按钮。 |
| 创作者管理中心把现有人设蒸馏表单作为角色编辑页,表单字段可能与 PRD P7 的「角色管理页」字段不完全一致。 | 低 | 在 U6 中明确表单就是角色编辑工具,PRD P7 的其他字段(价格、用量、二维码)在角色列表中展示。 |
| 缺少真实后端,登录/支付状态容易在刷新或切换设备时丢失。 | 低 | 一期用 localStorage,并在计划中标注后续对接点。 |
9. Open Questions
- 创作者入驻(P6)的负责人微信号和二维码是否已确定?需要真实素材占位还是先用示例图?
- 角色库页(P2)的示例角色数据是否需要用户提供,还是先用 2–3 个虚构角色填充?
- 首页「我的 XXX」中的 XXX 默认文案是否保留「我的 [XXX]」还是给一个默认占位如「我的角色库」?
10. Sources & Research
Eternal_AI_PRD_v1.docx— 产品需求文档,定义 7 个页面及交互逻辑。- 当前代码:
index.html、app.js、styles.css— 现有单页应用结构与视图切换方式。