dsh-deepmoyu 2.7.1 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/AGENTS.md +9 -0
  2. package/CHANGELOG.md +43 -0
  3. package/CONTRIBUTING.md +1 -0
  4. package/README.md +10 -3
  5. package/SECURITY.md +4 -0
  6. package/client.js +509 -296
  7. package/docs/ACTIVITY_TUNING.md +50 -0
  8. package/docs/CONTINUOUS_BROWSING.md +35 -0
  9. package/docs/FUN_FEATURE_REFERENCES.md +128 -0
  10. package/docs/LOCAL_COMPAT_AUDIT_2026-11-12.md +58 -0
  11. package/docs/NATURAL_AUTONOMY.md +91 -0
  12. package/docs/PRIVACY.md +7 -0
  13. package/docs/RELEASE_2_8_0.md +27 -0
  14. package/docs/RELEASE_AUDIT.md +16 -2
  15. package/docs/RELEASING.md +15 -0
  16. package/docs/TEST_MATRIX.md +9 -0
  17. package/docs/WORKFLOW_REFERENCES.md +57 -0
  18. package/docs/tool-evidence.json +6 -1
  19. package/index.js +941 -268
  20. package/lib/asr.py +22 -0
  21. package/lib/background-tools.mjs +1 -1
  22. package/lib/browse-preferences.mjs +154 -0
  23. package/lib/browse-progress.mjs +165 -0
  24. package/lib/comment.mjs +29 -46
  25. package/lib/config-policy.mjs +2 -1
  26. package/lib/curiosity.mjs +153 -0
  27. package/lib/favops.py +38 -6
  28. package/lib/learn-review.mjs +13 -3
  29. package/lib/learn-store.mjs +7 -0
  30. package/lib/learn.mjs +234 -69
  31. package/lib/login.mjs +20 -3
  32. package/lib/mcp.mjs +5 -2
  33. package/lib/memory-center.mjs +21 -19
  34. package/lib/mirror.mjs +15 -1
  35. package/lib/mode.mjs +23 -9
  36. package/lib/model-relay-adapter.mjs +1 -1
  37. package/lib/model-relay.mjs +21 -4
  38. package/lib/pace.mjs +15 -7
  39. package/lib/persona.mjs +41 -30
  40. package/lib/pet-session.mjs +9 -3
  41. package/lib/product-status.mjs +38 -2
  42. package/lib/prompts.mjs +38 -37
  43. package/lib/pv-session.mjs +16 -1
  44. package/lib/pv.mjs +18 -3
  45. package/lib/pv.py +168 -30
  46. package/lib/pv_cover.py +11 -1
  47. package/lib/pv_editorial.py +28 -4
  48. package/lib/pv_plan.py +20 -2
  49. package/lib/pv_verify.py +14 -0
  50. package/lib/session-continuation.mjs +47 -0
  51. package/lib/state.mjs +6 -2
  52. package/lib/sticker-automation.mjs +16 -2
  53. package/lib/sticker.mjs +4 -1
  54. package/lib/uvfetch.mjs +38 -12
  55. package/package.json +1 -1
  56. package/presets/deepmoyu.patch.yml +8 -10
  57. package/prompts/duty.md +30 -38
  58. package/vendor/bilibili-mcp/mcp_server.py +204 -47
  59. package/vendor/bilibili-mcp/runtime_guard.py +164 -31
@@ -0,0 +1,57 @@
1
+ # 工作流参考与采用边界
2
+
3
+ 本次于 2026-11-12 直接读取公开 README、官方文档及文档源码。借鉴的是可以在现有插件中验证的方法,不引入这些项目的服务、运行依赖或额外审批通道。链接指向动态维护内容,后续引用需重新核对。
4
+
5
+ | 参考 | 已核对的内容 | 在 DeepMoYu 中采用的方法 | 边界 |
6
+ | --- | --- | --- | --- |
7
+ | [Home Assistant 数据录入流程](https://developers.home-assistant.io/docs/data_entry_flow_index/) · [文档源码](https://github.com/home-assistant/developers.home-assistant/blob/HEAD/docs/data_entry_flow_index.md) | 表单字段可用 `section` 分组并设置 `collapsed`;`show_advanced_options` 控制高级字段;只允许一层 section;标签应简短一致。 | 常用项先出现,低频选项折叠;按用户当前操作展示需要的参数,避免同一设置重复出现在多个入口。 | 这是渐进展示的方法,不意味着将 Home Assistant 的流程管理器、嵌套配置格式或账号体系搬入插件。 |
8
+ | [LangGraph Persistence](https://docs.langchain.com/oss/python/langgraph/persistence) · [Checkpointers](https://docs.langchain.com/oss/python/langgraph/checkpointers) | Checkpointer 保存线程状态;store 保存跨线程的数据。文档明确 `InMemorySaver` 在进程重启后丢失状态,持久保存器才可跨重启恢复。 | 区分本轮候选和游标、持久浏览证据、角色经历、批准经验;先记录已完成事项,恢复时从明确的下一步继续。 | 插件当前进程内的工作记忆不等于跨崩溃恢复。不能用“有状态”或自动接力来宣称持久恢复已实现。 |
9
+ | [LangGraph Interrupts](https://docs.langchain.com/oss/python/langgraph/interrupts) | 恢复时必须使用同一线程 ID;中断所在节点从头执行。原文要求中断前的副作用保持幂等,并建议拆成独立节点;单节点中的无界 `while True + interrupt` 会重放之前的循环。 | 将查看、候选判断、发送、回执各自处理;重复调用同一操作不重复记账;发送结果未知时保留不确定状态,不能因重试或恢复再次发送。阻塞应给出下一件可做的事。 | Checkpoint 本身无法保证外部平台恰好发送一次。发送授权、平台判重与不确定回执处理仍各自负责。 |
10
+ | [Letta Code README](https://github.com/letta-ai/letta-code) · [原仓库迁移说明](https://github.com/letta-ai/letta) | 当前原仓库说明活跃开发已迁到 `letta-code`,旧 V1 API 在 archive 分支。新 README 将 memory blocks、skills、消息检索分开,提供 `/palace` 查看记忆,MemFS 追踪上下文版本;`/sleeptime` 反思可配置。 | 让角色设定、真实经历、审核经验与运行进度各有职责;常用记忆保持短小,具体话题再召回;用户能查来源、撤销经验并查看审计。 | README 不能证明具体召回质量或收益。DeepMoYu 不照搬自改 system prompt、自改 harness、自动改变权限等能力,也不将可选反思变成每轮强制模型调用。 |
11
+
12
+ 本插件只读检索与学习实践分开:经验出现在上下文不代表已经使用;角色自己报告“有帮助”不等于平台或人工验证有效。检索不会改批准状态,也不会按点赞量自动强化人格。普通模式不获得角色经验。
13
+
14
+ 两类记忆界面共享同一条学习记录投影:学习队列负责审核与状态,统一记忆视图负责跨来源查看。它们不应互相维护第二本学习账,也不应在没有展示对应内容时额外拉取整份历史。
15
+
16
+ 记忆检索按来源读取。`source=all` 的 `total` 与 `counts` 覆盖当前支持的全部来源;指定单一来源时,这两个字段只统计本次读取范围,其他来源计为零。`matched` 始终是当前来源与搜索条件共同筛选后的数量。这样查看心情时不需要读取学习账或审计文件,也不会被无关文件损坏阻断;查看全部来源时仍会如实报告读取错误。
17
+
18
+ ## 本轮落地
19
+
20
+ 偏好页从五张卡合为三组:刷视频偏好、角色与陪伴、报告与参考。类别、喜欢词与发布时间直接可见,精细选片和低频陪伴设置按需展开,折叠摘要显示当前时长、避开词、探索比例或通知状态。关键词只有一个保存点。运行页保留模型、时长与启动入口,轮数和 token 上限折叠显示;桌宠后台入口直达这份工作台,删除另一套参数/日志浮窗。
21
+
22
+ 学习页分待审学习与记忆检索两个工作区,只加载当前需要的数据,切换保留各自查询与草稿,旧响应不能回退新视图。学习记录的显示、脱敏、来源与实践字段共用单条投影,不维护第二本账;统一检索一次扫描,旧学习超过1200条也不再被静默隐藏。
23
+
24
+ 会话和后台共用一份浏览规则。实时上下文只更新配额、开关、偏好和进度,不重复整段接话说明;同次提示词组装共用一次状态读取,下一请求仍现读。相同工具进度不反复附加,后台接力的首提示词就能看到剩余候选、已完成和暂时不可读的候选。
25
+
26
+ 字幕临时失败、其他读取者占用和真正无字幕分别处理:临时问题先做别的事,到建议时间后最多再建议重试两次;耗尽后保留未读事实,不伪装成已读或永久跳过。已有下一页依据时给翻页建议,后台接力的下一页指令携带原关键词和页码。连续三个空发现请求先给换源/整理建议,不被平台仍有更多结果的分页标记覆盖;错误不当成没有视频。没有引入额外模型调用、后台轮询或外部服务。
27
+
28
+ ## 验收范围
29
+
30
+ 本轮通过真实浏览器与 React 合成夹具检查桌面、手机、矮窗口;验证折叠摘要、键盘展开、唯一参数编辑点、保存草稿、按需请求、晚到回包与卸载。后端验证 source-first 读取、损坏的无关文件隔离、批准/撤销与分页、延后读取、后台首请求接力、旧能力撤销及停止不接力。源码与运行测试均保留发送授权、审核和未知结果保护。
31
+
32
+ 固定合成配置下,启动目标与实时段的合计文本从5405字符缩为约4000字符,减少约26%;这不等于真实 token 或调用费用减少同样比例。后台现在复用同一份完整规则,因此不将后台首次提示词变短作为结论。
33
+
34
+ 实际宿主检查从本机已安装归档只读加载作用域工具和目标驱动,在隔离临时目录与合成会话中验证,没有启动/重启真实 DSH、操作真实平台账号或推送发布。本轮验证不等于真实模型长期运行或跨进程崩溃恢复已验证。
35
+
36
+ ## 目标与证据
37
+
38
+ | 用户要求 | 当前实现与直接证据 |
39
+ | --- | --- |
40
+ | 参考成熟项目经验与工作流 | 上文列出本轮读取的官方文档、README、采用方式和未采用边界;未新增服务或依赖。 |
41
+ | 设置精简有序,相似功能合并 | `client.js` 三组偏好、一个关键词保存点、统一后台编辑页;产品浏览器53项与菜单500项验收,含折叠摘要、键盘展开、未保存草稿和后台预算精度。桌面/手机截图已目视检查。 |
42
+ | 功能无冗余和矛盾 | 删除旧后台参数/日志浮窗;待审和检索仅挂当前请求;会话/后台复用同一提示构造器。人格测试校验共用规则、后台无会话续轮命令;7组浏览器竞态覆盖视图切换及迟到响应。 |
43
+ | 运行流畅并可靠推进 | 记忆只读指定来源、共享学习投影与单次状态快照;紧凑进度不重复输出。真实工具桥测试覆盖延后读取、失败不写已读、接力首提示恢复、原搜索词翻页、停止不接力;6候选测试验证前三项摘要会逐步露出完整队列。 |
44
+ | 扩展同时保持已有功能 | 原配置兼容,六主导航、视频、互动、审核、日志和用量继续纳入完整回归;模式选择、撤销批准、未知发送、权限开关及旧能力失效仍有隔离测试。 |
45
+
46
+ 完整测试与最后定向补验分别记录,不能把受控平台响应写成真实账号已发送,不能把合成性能对比当成长期线上测量。
47
+
48
+ | 检查 | 最终结果 |
49
+ | --- | --- |
50
+ | `npm test` | 自检通过;Node 468/468,无失败、无跳过,包含最后两处分支修复。 |
51
+ | `npm run test:python` | Python 3.12,102/102 通过;本轮设置与流程精简未再修改 Python。 |
52
+ | `npm run test:ui` | 1033/1033,21/21 变异被检测。 |
53
+ | `npm run test:browser` | 菜单500、产品53、7组竞态、三尺寸页面各66及冷态8、UID12通过;完整套件后唯一的空批次回执精简另以桌面/手机记忆各15项、运行/失败/退避场景补验。 |
54
+ | `npm run test:isolation` | 人格隔离103项、实际宿主目标驱动54项通过。 |
55
+ | `npm run release:check` / `git diff --check` | 清单与文档链接检查通过,无空白错误;未构建发布包或发布。 |
56
+
57
+ 测试全部使用隔离临时目录或合成浏览器数据。设置页截图位于工作区 `.tmp-qa-out/settings-refinement/`,不进入插件发布包。生效时需要完全退出并重启 DSH,再新开一轮;当前运行中的实例没有被本轮工作重启。
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.7.1",
2
+ "version": "2.8.0",
3
3
  "scope": "Isolated positive contracts, not real platform sends",
4
4
  "tools": [
5
5
  {
@@ -77,6 +77,11 @@
77
77
  "category": "local",
78
78
  "specialist": "memory-center-routes.test.mjs"
79
79
  },
80
+ {
81
+ "tool": "bili_curiosity",
82
+ "category": "local",
83
+ "specialist": "curiosity-routes.test.mjs"
84
+ },
80
85
  {
81
86
  "tool": "bili_taste",
82
87
  "category": "local",