Imported from zhangyeS12/dreamtalk (
AGENTS.md). Install upstream withnpx skills add zhangyeS12/dreamtalk. Copyright stays with the author.
dreamtalk — Codex Project Constitution
本文件是本仓库的持续工作规则。更新至 2026-10-09;用户后来的明确指令优先。
公开项目名为 dreamtalk;livingworld 代码、协议、存储及应用 identifier 保持兼容,见 项目身份。
开工入口与证据顺序
- 完整阅读本文件、当前用户要求与 HANDOFF.md。
- 阅读 当前状态清单 和与任务相关的产品、架构、批准方案。
- 核对实际仓库、
git status、近期提交与相关代码,再决定改动。 - 证据优先级:最新用户决定 → 当前代码/当前运行证据 → 当前状态清单/交接 → 历史文档。代码与文档冲突必须指出;若代码违反已确认规则,不能把实现当作新授权。
- 新功能开始前调查成熟实现,记录来源、版本、许可、实际复用/不复用理由。优先效果与维护成本,不为独立实现重复造轮子。
- 按当前任务边界工作;文档整理不授权修改应用行为、版本、数据库或系统启动设置。“继续推进”只覆盖已确认需求,不授权自行增加产品方向。
接手导航与完成度口径
- 当前完成度:本次全面更新发布基线 Desktop 0.1.53,前序公开 v0.1.52 为 fd5d5cd;当前迁移 head0044。角色轮换、解散/世界删除、资料/聊天导出、阵营联系选择已实现,0.1.53 改进地点总量/分支同名与社交读取。用户授权源码/完整 Windows 安装和便携/更新频道发布,并要求主页面向普通用户。发布入口/本次更新。最终文件与源码以本版标签为准;未运行应用、安装器、测试、真实迁移或模型,实际升级与使用待用户验收。
- HANDOFF第1节先看“已实现/历史体验/待验收/未实现/未批准”,第3节看UI→API→Core→Store/调度入口,PROJECT_STATUS.md看逐项能力和限制。
- 用户不满意0.1.36并明确授权继续重构;0.1.37观星室切片已实现并build-only交付,证据见HANDOFF第6节,接续按新版体验修复。长期记忆、RAG、相遇、共同休闲、在线/双人主动联系、阵营及头像已有实现,不重新列为开发任务。
- 2026-10-07审查后完成0.1.38去重维护、0.1.39长历史索引/页面有界改进;前序0.1.40按用户反馈扩大通讯录主区、完善条件/主动邀约记录、动态5条窗口绿灰补位。各版检查和build-only证据见HANDOFF;当前源码同步见记录。工程端未启动新包;共同联系继续由用户先等待并验收。
- 真正未实现的完整离线演化、广泛剧情/知识/关系演化、完整World Builder、runtime备份/分支等与“已实现但待验收”分开;未冻结方向不自动获开发授权。
- 本文件记录长期规则,交接记录当前现场,状态清单记录能力证据;旧全文/构建日志查Git与历史索引。不在三份文件里反复粘贴完整历史,也不以缺少明确验收分母的百分比表示完工。
当前范围提醒
- 长期聊天记忆、纠正/停用、中文混合检索、持久向量缓存、活动生命周期、经历召回和后续状态优先已实现;以状态清单的证据为准,不重新列成新功能。
- “代码已实现”“构建成功”“用户已验收”必须分开。未验收不是尚未开发,也不是已知故障。
- 共同委托、巡查任务、奖励、战斗等未获批准;旧交接/研究中的这些建议已撤回。
- 后续改动必须说明具体缺口、已有实现为何不足、可观察的完成条件。不得用笼统的“继续优化记忆”重复安排工作。
1. What dreamtalk is
dreamtalk 是面向普通用户的 AI 持久世界与沉浸角色聊天产品,目标为可交付、可维护的完整产品。 角色、世界时间、事件、知识和记忆支持自然交流;普通用户不需要理解提示词、RAG、Agent 框架或数据库。 逐步建设最终架构,不采用准备推倒重来的演示底座,不为技术名词堆框架。
2. Core product vision
核心体验是“我没看着的时候,世界仍然存在”。变化通过角色交流、消息、公共动态或亲历被用户获知。 隐藏活动、关系和知识不自动暴露为全知通知;普通界面以聊天为中心,不变成模拟监控台。 愿景中的关系机会、复杂剧情、完整离线演化不代表当前已经实现或已批准具体动作。
3. Responsibility split
| 层 | 职责与边界 |
|---|---|
| Director | 批量提出计划,统筹已批准的日常/相遇/共同休闲;不写最终台词,不直接改权威状态。更广世界规划是长期愿景,须遵守具体已批准契约。 |
| Character Agent | 使用本角色有权知道的信息和记忆,表达性格、与玩家交流;不是每角色永久独立运行的生活规划器。 |
| Deterministic World Kernel | 验证提案、执行确定性动作、提交 canonical WorldEvent 与权威投影。LLM 输出不能直接写 WorldTruth。 |
4. Hidden knowledge is a core feature
WorldTruth、CharacterBelief、PlayerKnowledge 必须分开。角色可能持有错误信念;数据库有某事实,不代表该角色或玩家知道。 权限与来源过滤必须先于语义检索和提示组装。禁止把全部秘密交给模型,再要求它“不泄露”。 通信参与不等于物理在场;观察者、当事人、说话者与事件主体必须按稳定身份区分。
5. Relationships
关系可在内部存在、可有方向差异,但普通玩家不看到亲密度/信任等数字或“关系 +5”。 用户通过行为、语气、分享、联系和共同经历感受关系;开发者查看仍须遵守开发模式隔离。 问候、共同休闲或聊天自述不自动推进关系,不证明交换姓名、完成正式介绍或取得任务成果。
6. Player presence
Player 同时只能位于一个地点;私聊/群聊可以远程进行,不移动参与者。 离线/不活跃不清空玩家位置,也不能仅因位置相同就自动给离线玩家现场见证权限。
7. Offline world behavior
应用完全退出或电脑关机后,不执行本地模型任务。允许开机后台启动及关闭到托盘,但不是关机期间仍运行的云服务。 世界时间恢复按既有 UTC bridge 与确定性调度处理;PAUSED 不推进,Busy/Available 不暂停世界时间。 完整离线演化是长期 catch-up 愿景:旧状态、真实经过时间、已有计划和有限重规划;当前不补造未实际执行的活动、碰面、成果或公告。 已批准的单角色离线补消息可使用离线区间内的剧情时间,但须保留真实创建/生成时间,见第 28 节。
8. Proactive character contact
Busy 禁止普通主动联系;Available 仅允许有合法理由的联系。同理由只发一次,未回答不能反复催促。 当前单角色离线联系见第 28 节;2026-10-04 用户明确要求在线主动联系及同事由多人联系,实施边界见第 30 节。
9. Director API cost rule
一次批量规划覆盖多个相关候选;之后确定性选择/执行不逐移动、逐碰面或定时抽签调用模型。 候选激活、延期、取消、过期与重规划遵守已批准窗口和阈值。普通偏差不得触发额外重规划。 日常批次与世界动态池是不同任务,不能混用其 50% 失效和 80% 已处理规则。
10. AI World Builder and Character Builder
资料构建遵循 Research → Evidence → Claims/Conflicts → Draft → Preview → User Confirmation → Commit。 手动创建/编辑、文件导入、联网摘要辅助生成角色卡/世界书已实现;网络结果和创作建议不能静默变为 canonical 世界事实。 完整可运行世界自动构建、全文核验与新来源持续更新仍是未完成愿景,不重复开发已有资料生成流程。
11. SillyTavern relationship
SillyTavern 是参考产品、兼容生态与可评估的成熟集成;不要求所有功能独立实现。 角色卡 V2/V3、PNG/JSON、Lorebook 的格式兼容不代表完整酒馆行为兼容。 本仓库 Apache-2.0 与酒馆 AGPL-3.0 义务不同;没有具体许可/分发决定不得粘贴或并入其源码。 公开格式、文档行为、独立 runtime 集成应分别评估许可、维护、安全及 Kernel/知识边界。见 ADR-0001。
12. Current architectural direction
React + TypeScript + Vite → versioned HTTP/WebSocket → Python/FastAPI Core → Application/Domain/Kernel → Persistence。 Tauri v2 Rust host 负责 Core 监督和 OS 集成;桌面底座为 SQLite WAL + FTS5,Alembic 是唯一迁移 authority。 PostgreSQL + pgvector 是未来服务端方向;MySQL InnoDB + Qdrant 是可选后续部署/基准方案,Redis 仅在真实分布式需求出现时评估。 当前本地检索复用 jieba、FTS5、FastEmbed/BGE、NumPy 与 DiskCache;不要因愿景引入尚无实际需要的服务。
13. Engineering philosophy
目标是正确、可维护、可解释、可验证、可交付;最终质量不等于最大依赖数或最多抽象层。 选择满足已确认需求的简单方案,保留干净的必要扩展点,不做可抛弃架构或占位生产行为。
14. User's working style
用户允许自主推进明确需求,把普通技术和组件选择交给工程端,不要求每一步再发提示。 明确的“只讨论”“只文档”“先不修改代码”等当前任务边界仍优先。不能因历史阶段结束而停止后续已授权工作。 局部不确定:记录事实、证据和未决点,继续独立明确工作;仅真正新的产品、契约、持久化、安全或财务选择未定义时停下依赖分支。 不反复询问已作出的决定;缺少验收不能被说成全部完成,也不阻止无依赖的已授权工作。
15. CRITICAL: Anti-stuck / anti-loop policy
- 同操作因同原因失败两次后停止重复;第三次须有条件已改变的新证据。
- GUI 是最后一公里工具;无响应时不反复点击,优先日志、源码、进程/配置与授权范围内的 CLI/API。
- 一条分支约 10 分钟无新信息就重评;约 20 分钟仍无解则记录错误、尝试、证据、假设和下一步,转向独立工作。
- 有进度/日志的合理长构建不是卡住;沉默进程不得无限假定健康。
- 顺序:读取失败证据 → 精确记录 → 核对状态 → 提出可区分假设 → 最便宜的已授权检查 → 一个替代方法 → 仍阻塞则记录/报告。
16. Tool discipline
优先 rg、Git、源码、配置和构建输出;读取日志只保留必要脱敏证据,不输出密钥、bearer 或完整私聊。
检查实际文件路径后再执行,不凭交接中旧路径猜文件。正式仓库、临时工作目录、用户 app-data 与产物必须分清。
GUI/直接 API 不绕过第 20 节;静态核对不代表未执行的运行验收通过。
17. Scope discipline
“继续推进”应完成下一个已确认、足够明确的实际切片,不以历史 C-003/C-004 阶段停点要求再下指令。 未来考虑与未决问题只是记录,不自动变成需求或授权;必要扩展点可以小范围建设,不顺手实现未批准功能。 尊重窄任务范围,不夹带新玩法、重构或系统改动。
18. No architecture invention without permission
遵守冻结架构。改变 Tauri、数据库、Kernel authority、知识隔离或引入新运行框架等需具体方案与用户决定。 不能因 Redis、LangGraph、Electron 或 MongoDB “更方便”就更换已冻结方向;普通不改变边界的实现选择仍由工程端决定。
19. Dependencies
新依赖必须说明精确问题、现有组件是否足够、是否属于当前授权、维护/运行成本和许可。 没有强理由就不引入;复用成熟方案不等于复制整套框架。
20. Current verification responsibility
用户负责测试与最终验收,直到用户明确改变:
- 不添加或运行自动化测试、测试套件、浏览器/桌面 smoke、live-provider smoke。
- 保留既有测试和 CI,不通过删除/弱化断言掩盖问题。
- 允许源码、Git 差异、格式/lint/type、文档链接和必要编译/打包核对;如实标成这些检查。
- 构建前检查脚本是否内含测试;便携包用既有
--build-only,不隐式 smoke。 - 未获具体授权,不为验证配置调用付费模型或探测凭据。
- 历史单次临时数据库/冷启动/只读诊断许可不扩大复用;需要新的诊断按具体范围处理。
- 构建成功、产物存在、旧测试记录不证明当前聊天、设置、迁移或生命周期验收通过。
Kernel、知识隔离、幂等、预算不变量仍必须遵守。
21. Completion reports
每轮汇报:本轮做了什么 / 接下来要做什么 / 疑问和建议;需要时列已完成、未完成、待用户验收。 说明具体变化、原因、实际检查、提交/工作区状态;没有必需疑问就直说,无需强造问题。 不隐藏未执行检查、警告、失败或环境限制。不把建议当批准需求,不把旧切片的验收扩大成最新版整体验收。 例行汇报不意味着停止持续授权工作;当前用户指定的报告形式优先。
22. Stop conditions
仅停止受影响分支并报告/取得必要决定:违反冻结架构;真正新的关键产品/契约/持久化/安全/财务选择未定义;窄任务需实质扩展;可能毁损用户数据/Git 历史;不可逆真实存档迁移;不安全凭据处理;必须用户介入才能继续。 继续安全独立工作。不能猜未定义语义、假报成功或无限重试。
23. Confirmed product experience and release boundary
- PC 优先,中文四入口顺序:聊天 / 通讯录 / 设置 / 我;熟悉清晰的通信布局,充分利用宽度。
- 启动先世界书架:至少 12 个逻辑书位、
max(12, 世界数 + 1)、空白书创建、循环横排/直接拖动、悬停轻抽/点击抽出;预览不进入世界或调用模型。 - 文字正面/书脊同标题;本地正面/侧面/背面图片封面与裁剪已实现,图片标题可留空、透明标题底、保留 dreamtalk 标识。
- 世界书创建/导入/编辑在书架;角色卡创建/导入/编辑在通讯录;模型/活动/后台等在设置手册;通用/世界身份在“我”。详见 PRODUCT.md。
- 先创建/选择 World,再确认卡/书;每世界内容独立。卡片定义不等于运行 Character,首次打开聊天才创建/复用稳定角色身份。
- 每世界绑定一个本地 Player,初次从家进入。通用与世界专属身份分开,后者优先;可用/忙碌仅为主动联系许可。
- 世界事件入口置顶。背景默认隐藏,当前世界逐条公共授权后仍须满足触发/容量条件;修改内容/条件的条目与文件替换须重新确认。界面编辑保留未改原条目的范围,不能扩大到新条目。
- 固定群成员看到持久群消息,包括未发言成员;通信不自动写 Truth/Belief/EpisodicMemory。
- 群聊选人器独立于 Director;唯一
@指定下一位,无@也可选人。 - 一个生成尝试内,所有选人、角色发言、物理 retry/fallback 的输入+输出共享硬 Token ceiling。每次调用前必须有可信保守预留,不猜上界。
- 校验后的运行时台词直接发送;持久创作内容仍 Draft → Preview → Commit。第 25 节是同一原消息人工恢复采用新额度的有限例外。
- 四类供应商 adapter 与同次聊天事件/记忆路径已接线;DeepSeek保留既有优先路径,实现存在不等于任意模型/代理已兼容验收。未知容量在高级设置明确核对,不按品牌名猜 model ID;原生JSON Schema能力按具体模型显式确认。
- 仓库为 Apache-2.0,GitHub 发布/push 须用户明确批准。2026-10-05用户明确授权0.1.37源码推送、将当前私有仓库设为公开(含源码及提交历史)并发布可下载体验包;按预发布标注,不推定整体验收。2026-10-08用户明确授权发布当前0.1.42源码与完整Windows便携预发布;不推定整体验收。后续发布仍需相应授权。
- 保持
D:\LivingWorld、app.livingworld.desktop、app-data/协议/旧 localStorage 键;更改需另有批准迁移。
24. Approved Director runtime boundary (2026-09-29)
用户批准 Director 方案:每世界默认关闭,首次开启同意后台费用,之后合规批次自动接纳。 每批 6 小时 WorldTime;到窗口结束或原批至少 2 条且达到 50% 日常候选失效才重规划。失败/中断/空计划须显式新请求,不自动重放 provider。 Director 只提案已有放置角色的日常活动/移动;第 26 节有限扩展问候/共同休闲。Kernel 核验授权、candidate、revision、地点和占用;不移动 Player、写最终台词、私密知识或关系。 暂停不接纳/执行;关闭停止新任务和迟到结果激活,在途已接纳调用可能收费。已开始日常仍按已批准生命周期处理。 用户已授权当前世界已确认且逐条公共的世界书标题/正文参与日常规划;隐藏条目、私聊和私人记忆不发送。修改在下一常规批次生效,不逐编辑重规划。
25. Approved manual reply recovery (2026-10-03)
用户批准 独立人工恢复尝试:仅最后一条尚无持久角色回复的玩家消息。 点击时明确当前额度/费用;新 attempt 有独立一次性 claim 与额度,内部选人/多角色/retry/fallback 仍共用该额度。 原消息不复制,原 turn、用量、claim 不重置;pending 可人工按保存额度派发。 仅可靠记录的终端校验失败或本地中断可新建尝试;running、unknown、旧版无执行记录的 claimed 结果和部分群回复禁止重放。 启动、刷新、后台不自动恢复付费调用。此有限例外覆盖第 23 节“同一原消息”的原额度约束。
26. Approved character encounters (2026-10-03)
用户批准 相遇首版 及后续慢节奏/持续同场去重:
- 每世界独立默认关闭,随既有 6 小时 Director 批次提案,允许 0 次;旧首版 8 次上限已被当前 2 次替代。
- 两名角色仅在已计划、实际同地点且双方 active rest/leisure 期间碰面;Kernel 复核 consent/binding/current plan、presence revision 和未暂停世界。
- 问候执行窗口至多 5 分钟,同对至少 6 小时 WorldTime 冷却;每角色滚动 24 小时至多一个首次记录的见面对象,双方都须符合。
- 老对象重逢不消耗新增对象额度,但仍受批次上限、冷却和持续同场限制。一段持续同场只记一次,须一方 canonical 真正离开后再考虑。
- 同地点换活动/revision、重启、开关不重置限制。拒绝候选不补模型调用,也不计作日常失效重规划。
- Kernel 原子保存 CharactersMet v1、获准当事/现场观察、结果和幂等回执。只知开始不自动获得后续秘密;群成员不等于现场观察者。
- 不倒填错过/离线相遇;不移动玩家、不编造私人谈话/任务成果/关系;既有独立熟识不被抹除。
- 保留旧事实、稳定 ID 与 v1 replay;新准入策略不追溯否决旧事实。具体节奏见 调查。
Later approved shared leisure lifecycle (2026-10-04)
用户批准 共同休闲方案:
- 每世界独立默认关闭,已有自动活动/相遇且双方实际碰面过;同批在既有地点执行同类型 rest/leisure 15~30 世界分钟,允许 0 次。
- 普通问候与共同开始合计每 plan 最多 2 次;每角色滚动 24 小时最多一次共同开始,同对 6 小时冷却。开始消耗名额,中断不补选。
- Kernel 原子记录 SharedActivityStarted/Ended/Interrupted v1、Observation 和回执;完成要求真实持续地点/活动和时长。
- 离开、换活动、撤回授权、计划替换或离线连续性未确认则中断,不倒填完成。暂停冻结 WorldTime。
- 不逐活动调用 API、不移动 Player、不创建台词/任务/资产成果或关系。Director 沿现有批准输入,不新增相遇史/私密记忆外发。
- 观察/聊天隔离、数量和费用边界保持;第 20 节仍适用。
27. Confirmed scope correction (2026-10-04)
用户明确拒绝工程端自行提出的共同委托方向,并说“不要乱加东西”。 只推进已确认需求及其修复、可靠性/体验改善;新产品方向先讨论,不把工程建议等同用户要求。 共同委托、巡查、quest/reward/combat 不是默认下一步。历史交接、研究或领域对象有相关名称也不构成授权。 普通技术选择仍交给工程端,不重新询问已有日常/相遇/共同休闲/记忆/事件/离线许可。
28. Confirmed memory, event and offline-contact boundaries
聊天记忆与 RAG
- 正常完整回复同次附带重要记忆,最多 4 条;四类已配置文本路由均可尝试,保留官方DeepSeek既有路径,不逐句额外提取/裁判 API。合法普通台词可成功而没有新元数据,不自动补提取;具体模型表现待验收。
- 长期条目按世界/玩家/角色/来源隔离,提示最多 16 条/8KiB;明确纠正写新版本,旧记录 superseded,停用/更新在检索前过滤,不隐式覆盖同主题。
- 用户已明确授权其发起正常聊天时,相关原句从该角色参与过的当前世界/当前玩家私聊与固定成员群聊选择,最多 4 条/8KiB,发往已配置模型;不后台批量外发、不读取其他角色私聊/隐藏世界书、不额外 API。
- 本地语义+词法检索属于有界 RAG;缓存/向量不扩大权限,不保证全历史或所有同义表达命中。检索失败回退关键词,原文依原存档授权。
- 会话摘要仍需用户生成、预览确认,不自动反思/整合私密 EpisodicMemory。EpisodicMemory 必须有真实同世界 owner-authorized Observation,普通自述不能伪造证据。
- 角色本人活动与已亲历经历分别有界(本人近期最多 6 条/6KiB,亲历召回最多 12 条/8KiB);最新真实活动优先,旧开始已有获准终态时优先终态。时段结束不等于任务成果。
两块世界事件
- 聊天获知:正常回复同次至多 3 条具体活动/计划/传闻/邀请/变化,保留说话者、原句、获知时间与事件时间;不逐句额外 API,不把所有闲聊记成事件。
- 世界动态:每世界独立默认关闭、首次同意后台费用,依已确认且可触发公共背景一次生成 10 条进入池。2026-10-07用户以第35节的5条进行中/绿灰补位规则替代原15~45分钟随机发布节奏。
- 用户手动标红未经历/绿已经历/灰跳过;最近批次已处理达到 8/10 自动补一次新批,旧未处理保留。标记不是物理成果或模型判定。
- 无候选但未达阈值可显式新批;失败/中断不自动付费重放,暂停不发布,错过/过期不补造历史。与聊天额度/Director 分别治理,沿财务预算。
- 公开发布只证明这条消息已发布,不认证传闻或角色自述为 WorldTruth。查看来源按会话/当前身份授权,不外发新增历史。
单角色离线联系与桌面后台
- 用户批准 离线联系方案:一个指定 World/Player 默认关闭,首次开启同意后台费用;默认真实离线阈值 6 小时,首次开启不立即生成。
- 恢复最多一条自然问候/邀请;Busy/暂停跳过,同理由跨角色不重复,未回复上次主动消息不继续催促。
- 仅使用已确认角色资料、公共背景和已有活动意图;不外发私聊正文、摘要、隐藏材料或私人记忆。已计划不表示已发生。
- 剧情时间可在离线区间,真实创建/模型时间另存;失败/中断/未知结果不自动重放。
- Tauri 原生托盘、single-instance、autostart 的隐藏启动可用;开机后程序运行才处理恢复。更换便携目录须用户在新版显式保存并更新自启动位置,启动时不擅自改注册。
- 在线与同事由双人 Outreach 的新授权见第 30 节;完整离线活动重建仍未实现/未扩大授权。
29. Status maintenance and next-step discipline
PROJECT_STATUS.md 是当前能力/验收/限制清单,HANDOFF.md 是当前工作现场;历史原文在 归档索引,不是待办。 每次更新应修改当前条目而不是叠加多个“最新接续”;标明日期、基线、实际证据、范围与验收结论。 状态每项须区分实现、交付、具体用户验收与限制;交接提供实际UI入口、API/应用/存储接线和可观察完成条件。文档基线、应用实现提交、产物版本和运行版本不可混为一项。 纯文档整理不得把旧包内文档说成最新仓库快照;不重打包、不改应用版本或自启动注册,历史SHA/检查须标明原轮次。本轮发现的过时状态在所有当前入口同步更正,历史原文保持可追溯。 已实现功能不得重新登记为新开发。若要改进,先给出具体源码缺口、用户反馈或测量证据,以及与已实现部分的差别。 目前长期记忆和活动相关切片已交付代码/包,模型表现和新版运行仍有待用户验收项;不虚报完工或安排没有缺口依据的重复重构。
30. Approved proactive contact and unread boundary (2026-10-04)
用户明确要求继续主动联系:多人只能为同一件事共同参与,不混合各自事由;任何主动联系未获用户回复前,不能发下一次。实施细节见 主动联系方案。 首版复用真实日常/双人共同休闲,不创建委托/行动成果。在线默认关闭并确认后台费用;在线/离线共用跨角色等待回复门禁,阅读、开关或重启不解锁。角色新消息须有持久通用未读红点。每次完善功能及时更新当前文档,未实现与待验收分开。
2026-10-07用户说明尚未收到共同联系消息,明确先等待并自行验收;本轮授权更新文档和优化其他代码。不为催出消息触发生成、放宽活动/间隔/门禁或把未收到消息登记为已确认故障。
31. Approved factions, avatars and relationship network (2026-10-04)
用户批准 阵营与关系网方案:当前世界通讯录可编辑无限层级阵营,角色可多重归属。只有同一阵营直接成员彼此相识;父子阵营不继承成员、不传递相识。退出阵营改变归属,并询问是否切断该阵营提供的联系;选择否则保留,选择是只移除该来源。真实相遇认识始终保留,其他仍共享阵营也保留相识依据;普通问候不能被当成正式介绍。 头像由用户本地上传,未上传显示名字首字;关系网用头像和已确认相识连线,可拖动/缩放、点击聚焦并查看全名、所属阵营和聊天入口。用户追加确认真正三维的宇宙视角头像球:远近纵深、球面明暗、静置与聚焦后轻缓漂浮;直接点击图内头像,不依赖左侧列表,连线跟随;阵营名称输入框须充分加宽。复用成熟三维渲染/拾取/相机控制,切页停止并释放渲染资源,减少动态效果时静止。用户明确要求查看这些关系,有限覆盖第 2/5 节旧界面边界;不暴露亲密度/信任数值、私聊、秘密或后台活动清单。 既有相识不妨碍新见闻;同阵营满足共同休闲相识前提,其余实际地点/日常/授权/节奏核验保持。多人主动联系仍须同一真实共同活动、同一目的,未回复门禁保持。聊天与既有 Director 批次只加入有界阵营相识信息,不额外调用模型。迁移只追加 authored 表,不直接写 WorldTruth、关系分数或补造事件。第 20 节与发布边界继续适用。
32. Approved celestial logo and startup (2026-10-04)
用户明确批准使用自己提供的日月星轨Logo替换程序标识,启动以银蓝/暖金的真正三维流星漩涡呈现;近远、遮挡、光尾、球面与透视相机不能用平面旋转冒充。后续明确要求前台至少可见1.5秒,即使核心已就绪也不跳过,计时从首帧开始;展示满足且数据真实就绪后才推进进入既有书架,不故意延迟核心连接或伪造进度。正常启动不显示连接技术文字,失败保留generation确认、期限和可理解的重试。隐藏自启动不显示/持续渲染、不强制等1.5秒;减少动态效果或渲染失败使用静态标识,完成释放资源。复用Three.js/Tauri图标工具,原Logo不重绘、不裁切;书籍dreamtalk标识保留。详见启动说明。本轮用户要求修复主动联系开关,只修复JSON请求、UUID字段解析及真实保存反馈,不自动关闭/开启现有开关、不改持久化/生成/门禁/费用规则。第20节与Git发布边界继续适用,不授权改自启动注册或读取真实存档。
33. Approved world workspace design (2026-10-04)
用户批准优化进入世界后的前端,要求质感、层级和空间关系,避免重复方块堆叠。采用与Logo相连的深蓝灰外壳、月白阅读面、银蓝选择与少量暖金;四个底部入口顺序、真实数据与既有业务流程保留。聊天工具可分组,已上传头像在聊天复用;通讯录采用角色档案,设置和个人资料用连续的纸面层级。不得编造最近消息、活动或统计,费用/失败/未回复提示不能因美化隐藏。复用已有React、原生折叠和资产接口,不擅自换技术栈或引入游戏玩法。书架、真三维关系网、启动至少1.5秒及第20节验收边界仍适用。详见世界内界面。 2026-10-05用户不满意0.1.36并要求继续大胆设计、参考成熟成品;0.1.37采用墨蓝/月白/银蓝/暖金的观星室方案,覆盖此前浅色纸面配色。本轮实现本地已加载名字筛选及启动镜头重编排,仍保留四入口、真实状态、原Logo和既有业务边界;实际体验尚待用户验收。
34. Approved long-history maintenance (2026-10-07)
用户在OpenAI/SillyTavern调查后批准持久全文索引、较早授权历史的语义召回,以及聊天加载/渲染有界。复用现有SQLite FTS5、jieba、FastEmbed/BGE和NumPy;Alembic0037只增可重建派生索引,源记录/权限/状态/版本仍权威。索引渐进补齐,历史向量分页且有超时,移除当前聊天路径的最近8192引用截止,不承诺无限历史命中或固定耗时。主聊天最多200条,继续上翻和返回最新,不删除存档或放宽未读规则。长期提示16条/8KiB、原句4条/8KiB和Token/费用/纠正/停用边界不变。第20节继续适用,未执行真实迁移/模型/运行验收;共同联系仍等待用户。详见本轮记录。
35. Approved feedback fixes (2026-10-07)
用户要求通讯录资料/阵营主区往上往左扩展;压缩重复标题/操作区和名单宽度,保持草稿、四入口和三维关系网。世界动态每批仍10条,但按可发布时间先后填充最多5条进行中;用户明确确认绿(已经历)/灰(跳过)腾位、红继续占位,已处理进入可回看的折叠历史。未发布正文保持隐藏,候选可用/过期、8/10续批、预算/授权/暂停与真实发布时间不变;旧版已发布记录不撤销,界面按5条窗口依次展示。
用户确认三次单角色主动联系之间都在原会话回复;当前只解释合格活动筛选、共同优先与批内稳定排序,没有批准角色轮换/公平权重的新政策。双人共同联系仍等待用户。用户所贴同文日常开始记录发生在不同世界时间,来源是亲历活动;不能按文案相同删除事实。普通聊天明确条件邀约应保留条件;已送达主动邀请接入聊天获知,但不把问候记为事件、不把邀请当接受或活动成果、不额外调用模型。旧聊天不自动付费补录。第20节继续适用;源码/build-only与真实验收分开。
Final rule
优化单位时间内的正确进展,而不是可见忙碌;让已确认的产品更接近交付,不以额外功能数量代表进度。
36. Approved location containment and character scopes (2026-10-07)
用户明确要求地点创建/编辑和初始位置移到通讯录,角色卡管理下方增加地点编辑入口,资料/阵营/关系网右侧增加“地点”。二维嵌套圆表示包含关系,圆形头像在实际地点;点击右侧详情显示姓名和“初始地点-当前位置”。此为用户明确授权的有限作者配置视图,不自动给Player现场见证、秘密或未来计划,不暴露私聊/关系数值。
地点首版采用初始子树范围;该限制已被第40节常驻中心方案替代。初始地点、隐藏与锁定配置继续保留。用户明确锁定只绑定初始地点,角色已在子地点时立即通过Kernel返回初始地点并锁定,不能另选锁定目标。隐藏祖先限制整个分支,每个隐藏祖先均须逐角色开放。编辑不得造成循环包含、跨世界引用或无授权地排除当前/初始地点;先配置角色范围或保留其开放。既有历史不删除,迁移不改旧实际位置。
相遇/共同活动必须双方完全相同LocationId,父子包含不等于同场。继续使用6小时批次、原费用/授权/节奏和Kernel authority,不新增逐移动模型调用、自动关系/任务/玩家移动或完整离线演化。实际编辑入口、0038追加表、源码检查和build-only见本轮记录。第20节继续适用,用户负责测试与最终验收;本轮不自动push/Release。
37. Confirmed multi-provider improvements (2026-10-08)
用户要求完善其他API厂商适配,随后明确选择继续保留严格整轮Token硬上限。Claude官方估算、Gemini其他协议的计数不能静默作为可信计费上界;没有已核实的请求上界时继续按可信模型容量预留,界面明确一次调用的输入/回复所需额度,群聊等共用整轮额度。
四类文本路由可同次附带事件/记忆,不要求原生JSON Schema、不逐句额外提取;数量、来源与权限保持。原生能力按具体模型显式声明,厂商wire schema只在副本上按支持子集转换,原始本地校验不得放宽。超时设置显式保存,默认仍30秒,不探测密钥、不自动重放未知调用。调查/实现和检查见适配记录。第20节及发布边界保持,不把构建当作真实模型兼容验收。
38. Approved world-specific model settings (2026-10-08)
用户明确要求书架“模型设置”为默认配置,进入世界后修改不影响默认或其他世界,各世界可使用不同模型。未保存独立配置的世界继承默认;显式保存后独立,提供恢复默认按钮。聊天/群聊/资料生成/摘要/日常规划/动态/主动联系均按实际任务WorldId选择API、模型、密钥引用和能力/容量设置,不按当前UI世界猜测。原有每轮聊天Token额度仍为本机共用设置,界面说明范围。
保留Tauri/Core架构、config/llm.json路径和Windows安全凭据存储,旧v1配置作为默认,有覆盖时写严格v2容器,内层沿用v1。共享密钥引用仅在全部范围不再使用时清理。保存沿用Core重启/失败回滚,不自动重放在途或旧失败调用。Kimi/GLM使用已有Chat Completions兼容入口,按官方地址、完整模型ID与可信容量核对,不按品牌猜能力、不放宽严格硬上限。调查与实现记录。第20节继续适用;0.1.43 实现轮未授权发布,后续用户明确授权随 0.1.47 完整发布,见第42节。
39. Confirmed local artifact retention (2026-10-08)
用户要求清除无效旧文件,只保留最新版。前轮完成时仅保留0.1.43完整便携包,旧包/重复副本/可重建缓存已清理;旧工作副本独有源码与Git历史先压缩保护,存档、密钥、正式源码及开发依赖不作为垃圾。用户另行明确批准将本轮唯一dreamtalk自启动项从0.1.41更新至0.1.43,保留--background;不扩大为其他系统设置授权。后续产物避免默认无限保留旧版,淘汰前继续核对在用/启动入口与源码数据保护。记录。
40. Approved character mobility (2026-10-08)
用户明确批准初始地点改为常驻中心,允许向父地点、兄弟地点直接移动,并允许极低概率跨地区远行。地点编辑增加地区标记,按最近标记祖先/无标记的真实根划分,不按名称猜地区。角色资料提供一般/强/很强倾向,默认强;普通批次留驻/附近/同地区较远为70/25/5,先类别再距离权重,不以地点数量稀释常驻概率。
跨地区另有1%机会,两次判定至少间隔24小时WorldTime;实际返回常驻地区后冷却7天。门禁与本批路线持久保存,重启/开关/重规划不重复抽取,不为失败补抽或增加API。离开时间提高返回倾向,外出批次包含返程,已在外地区的新批次只回中心。旧实际位置、初始地点和历史不在迁移时改写。
本地规则先定路线,Director沿路线批量安排日常,Kernel复核当前规则/权限、计划、revision、占用和时段。只扩展获准作者地点,非作者运行地点与未开放隐藏分支不进入模型目录。锁定只绑定初始地点并立即真实返回;父子包含不替代完全相同LocationId的相遇/共同休闲。原六小时窗口、失效阈值、后台/费用/未回复门禁保持,不移动Player、不引入交通/任务/关系演化。单改倾向等下一常规批次,编辑不主动触发额外付费请求。Alembic0039只增加配置/门禁,第20节与发布边界保持。方案/记录。
41. Approved Windows application updates (2026-10-08)
用户批准启动更新弹窗、稍后/更新、全局不再弹窗偏好、书架世界档案库右侧高亮新更新;参考Clash Verge,安装版为主、便携保留。异步检查不阻塞启动/Core/书架,隐藏启动不拉起窗口;稍后仅本次进程,永久静音仍保留检查与手动入口。
只在用户明确更新后下载,Tauri updater校验完整NSIS安装包;本机控制缓存与安装派发,先排空HTTP/后台已接纳任务,升级不强杀Core、不重放模型任务。正常退出后成套备份数据/配置/旧程序,新版Core与书架真实就绪后修复已启用dreamtalk自启动(保留--background)和对应快捷方式,按路径/摘要/清单清理旧程序/安装缓存。仅最近数据快照保留,不动源存档、密钥或其他复制包。这是第28节显式保存自启动规则的有限更新例外,普通启动仍不擅自改注册。
旧无更新器/清单的便携包需一次手动安装;不扫描删除旧下载ZIP、其他目录或开发仓库。失败保留恢复材料、报告未完成,不自动用旧EXE打开已迁移数据库。自动更新并非已实现普通世界备份/分支。
用户另明确批准发布私钥使用Windows当前用户DPAPI加密存Git忽略目录,并提供交互式密码加密恢复导出/导入工具;公钥入源码,私钥不打印/提交/上传。新增tauri-plugin-updater=2.13.1(MIT/Apache-2.0),不复制Clash GPL源码。完整签名包+版本Release+固定预发布频道清单缺一不可;0.1.46 实现轮未授权发布;后续用户已明确授权随 0.1.47 完整发布,见第42节。第20节验收边界保持。方案/说明。
42. Approved authored deletion and current release (2026-10-08)
用户明确要求检查并补齐角色卡、阵营、地点删除按钮,完成后直接上传 GitHub,以验收此前更新入口。角色卡删除停用作者内容与后续参与,保留 canonical 角色/历史/记忆;旧私聊和含该角色群聊只读,关闭该会话的未回复联系等待,不写假回复。阵营沿原空阵营政策;地点拒绝家、子地点、活跃角色初始/当前地点和玩家当前位置。删除不伪造物理离开、不自动调用模型。0040 只追加作者停用字段,禁止追溯删事件。
本次授权覆盖 0.1.47 和此前 0.1.43~0.1.46 已批准工作,包含完整签名 NSIS、便携包、版本 Release 及 update-preview 频道;不推定稳定版/运行验收,不由工程端安装或修改当前系统入口。记录。
43. Approved update manifest repair (2026-10-08)
用户反馈0.1.46升级被拦,经只读核对确认0.1.46/0.1.47的NSIS主程序安装标记与构建输出不同,随后明确“修改”。本轮作为第42节已授权更新发布的修复,交付0.1.48并更新频道。运行时完整性检查不放宽;旧清单只在完整原清单SHA256、已知原/实际主程序SHA256及其余全部文件符合时修复,保存原清单并纳入既有清理规则。本机仅对已核实D:\dreamtalk的程序清单进行受控修复,不改主程序、存档、密钥、自启动或快捷方式、不运行安装器;实际更新仍由用户点击与验收。记录。
44. Approved management and refinement (2026-10-09)
用户批准角色配置总量无固定上限,每个角色必须有初始地点;自动活动随机轮换选择有限批次,1~16 位默认 8,未选中者保留真实状态。群解散隐藏会话但保留记忆/原文;世界删除须二次确认后清空本世界资料、聊天、记忆与配置并恢复空书位。角色 V2/V3 JSON、世界书 World Info JSON、完整聊天 TXT/JSON 已接线导出,不视为完整运行世界备份,聊天无导入。
退出阵营按用户选择切断或保留该来源相识;真实 CharactersMet 相识优先保护,其他仍共享阵营的依据保留。历史聊天不能恢复已切断的联系;关系提示缺少某人不证明陌生,角色名字/资料在获准身份范围内读取。地点作者目录无固定32总量上限,不同父地点允许同名、同父拒绝;本地合法路线取完整目录,模型仅看本批路线目的地。0044 只调整作者名称唯一范围,不改实际位置或历史;禁止毁损同名数据的降级。不能把批准可靠性维护扩大为第二套日常模拟、部分规划接纳、世界备份或新玩法。
45. Approved comprehensive public release and user homepage (2026-10-09)
用户明确要求本次将项目作为全面更新推送 GitHub,主页描述用途、如何使用、每项设置与功能,面向普通用户而非技术汇报。覆盖 0.1.53 当前源码、签名安装器、完整便携包、版本 Release 和固定更新频道;同时授权更新 README、消费者手册与当前交接/状态冲突。此前“发布只改版本和下载、不改描述文档”在本次明确要求范围内被覆盖。技术开发说明移到独立页面;不把源码/打包/下载核对说成运行验收或正式稳定版。第20节保持,不由工程端安装或改变真实存档/系统入口。
