@lemoncat7/dsh-partner 2.8.4 → 2.8.7

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 (87) hide show
  1. package/README.md +1 -1
  2. package/docs/THIRD_PARTY_LICENSES.md +4 -0
  3. package/docs/director-skills.md +8 -3
  4. package/docs/dsh-021-compatibility.md +9 -0
  5. package/docs/package-distribution.md +11 -0
  6. package/docs/releases/2.8.5.md +23 -0
  7. package/docs/releases/2.8.6.md +22 -0
  8. package/lib/channels/direct/message-format.js +13 -8
  9. package/lib/channels/direct/message-format.js.map +3 -3
  10. package/lib/client.js +17 -12
  11. package/lib/client.js.map +3 -3
  12. package/lib/skills/ai-camera-language-builtin.d.ts +3 -0
  13. package/lib/skills/ai-camera-language-builtin.d.ts.map +1 -0
  14. package/lib/skills/ai-camera-language-builtin.js +89 -0
  15. package/lib/skills/ai-camera-language-builtin.js.map +1 -0
  16. package/lib/skills/builtin.d.ts.map +1 -1
  17. package/lib/skills/builtin.js +2 -0
  18. package/lib/skills/builtin.js.map +1 -1
  19. package/lib/skills/story-builtins.js +2 -2
  20. package/lib/skills/story-builtins.js.map +1 -1
  21. package/package.json +53 -47
  22. package/resources/skills/ai-camera-language/manifest.json +26 -0
  23. package/resources/skills/ai-camera-language/references/camera-dictionary.md +315 -0
  24. package/resources/skills/ai-camera-language/references/prompt-workflow.md +186 -0
  25. package/resources/skills/ai-camera-language/references/video-summary.md +123 -0
  26. package/resources/skills/novel-game-creation/manifest.json +2 -245
  27. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/BUILD_BRIEF.md +0 -219
  28. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/.vercelignore +0 -3
  29. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/RUN.md +0 -138
  30. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/bg/compound_new_guofeng.webp +0 -0
  31. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/finale/fate_coda.webp +0 -0
  32. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/finale/meng.webp +0 -0
  33. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/finale/pan.webp +0 -0
  34. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/finale/pinger.webp +0 -0
  35. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/finale/xuee.webp +0 -0
  36. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/finale/yue.webp +0 -0
  37. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/group/inner_court_accord_five.webp +0 -0
  38. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/group/inner_court_afterglow_five.webp +0 -0
  39. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/group/inner_court_alliance.webp +0 -0
  40. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/group/public_day10.webp +0 -0
  41. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/group/public_day15.webp +0 -0
  42. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/group/public_day5.webp +0 -0
  43. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/group/title_new_guofeng.webp +0 -0
  44. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/joint/pan_pinger.webp +0 -0
  45. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/joint/pan_xuee.webp +0 -0
  46. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/joint/yue_meng.webp +0 -0
  47. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/joint/yue_pan.webp +0 -0
  48. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/joint/yue_pinger.webp +0 -0
  49. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/meng/explicit.webp +0 -0
  50. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/meng/prelude.webp +0 -0
  51. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/milestone/meng.webp +0 -0
  52. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/milestone/pan.webp +0 -0
  53. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/milestone/pinger.webp +0 -0
  54. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/milestone/xuee.webp +0 -0
  55. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/milestone/yue.webp +0 -0
  56. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/pan/explicit.webp +0 -0
  57. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/pan/prelude.webp +0 -0
  58. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/pinger/explicit.webp +0 -0
  59. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/pinger/prelude.webp +0 -0
  60. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/xuee/explicit.webp +0 -0
  61. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/xuee/prelude.webp +0 -0
  62. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/yue/explicit.webp +0 -0
  63. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/yue/prelude.webp +0 -0
  64. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/heroine/meng/night.webp +0 -0
  65. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/heroine/pan/night.webp +0 -0
  66. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/heroine/pinger/night.webp +0 -0
  67. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/heroine/xuee/night.webp +0 -0
  68. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/heroine/yue/night.webp +0 -0
  69. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/household/li_jiaoer.webp +0 -0
  70. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/scene/gate_collector.webp +0 -0
  71. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/css/new-guofeng.css +0 -1494
  72. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/css/style.css +0 -2508
  73. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/index.html +0 -18
  74. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/js/assets.js +0 -147
  75. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/js/audio.js +0 -332
  76. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/js/data.js +0 -7470
  77. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/js/engine.js +0 -13066
  78. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/js/main.js +0 -3051
  79. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/js/text.js +0 -32
  80. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/package.json +0 -11
  81. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/vercel.json +0 -23
  82. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/art/generated-art.json +0 -161
  83. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/example.json +0 -12
  84. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/qa/README.md +0 -26
  85. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/qa/playable-model.json +0 -99
  86. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/qa/verification.json +0 -41
  87. package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/qa/verify_playable_model.mjs +0 -152
@@ -0,0 +1,3 @@
1
+ import type { BuiltinSkill } from './director-builtins.js';
2
+ export declare const AI_CAMERA_LANGUAGE_BUILTIN: BuiltinSkill;
3
+ //# sourceMappingURL=ai-camera-language-builtin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-camera-language-builtin.d.ts","sourceRoot":"","sources":["../../src/skills/ai-camera-language-builtin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D,eAAO,MAAM,0BAA0B,EAAE,YAuFxC,CAAA"}
@@ -0,0 +1,89 @@
1
+ export const AI_CAMERA_LANGUAGE_BUILTIN = {
2
+ entry: {
3
+ "id": "ai-camera-language",
4
+ "name": "AI 镜头语言与运镜",
5
+ "description": "将故事、小说片段、分镜或参考图转为 AI 视频镜头设计与可执行运镜提示词,解释和修正推拉摇移、视角、变焦、拉焦及组合运镜。适用于视频分镜编排、镜头语言教学、图生视频提示词编写和运镜问题诊断;不用于网页动画或普通静态图片设计。",
6
+ "version": "1.0.0",
7
+ "tags": [
8
+ "运镜",
9
+ "分镜",
10
+ "视频",
11
+ "提示词"
12
+ ],
13
+ "skillUrl": "builtin:ai-camera-language",
14
+ "sourceId": "builtin"
15
+ },
16
+ resourceBundle: 'ai-camera-language',
17
+ document: `---
18
+ name: ai-camera-language
19
+ display-name: AI 镜头语言与运镜
20
+ version: 1.0.0
21
+ context: inline
22
+ description: 将故事、小说片段、分镜或参考图转为 AI 视频镜头设计与可执行运镜提示词,解释和修正推拉摇移、视角、变焦、拉焦及组合运镜。适用于视频分镜编排、镜头语言教学、图生视频提示词编写和运镜问题诊断;不用于网页动画或普通静态图片设计。
23
+ ---
24
+
25
+ # AI 镜头语言与运镜
26
+
27
+ 以叙事目的选择镜头,再把机位、运动、焦距、焦点和主体动作写清楚。依据《AI运镜词典:32个镜头全演示+核心提示词》整理,完整覆盖原片 26 项基础镜头/视角与 6 项组合运镜;不要求每个作品用满这些镜头。
28
+
29
+ ## 资料路由
30
+
31
+ - 理解原片、回答完整内容总结、区分原作者观点与扩展建议:读 [视频完整总结与来源](references/video-summary.md)。
32
+ - 选择镜头、解释术语、编写或修复提示词:读 [32 项镜头词典](references/camera-dictionary.md) 中相关条目及末尾的易混淆检查;任务要求全套时读取全文。
33
+ - 将小说/剧本变成分镜、多镜头连续性、输出中文或英文提示词、处理参考图:读 [应用流程与示例](references/prompt-workflow.md)。
34
+
35
+ 词典中的「原片要点」是对画面及屏幕字幕的重述;规范术语、英文映射、适用情境、模板、诊断建议是本 skill 的扩展,不冒充逐字台词或原作者的模型测试结果。时间码仅作近似定位。
36
+
37
+ ## 接收任务
38
+
39
+ 先判断用户要的是:解释镜头、改写单条提示词、故事分镜、整套运镜示例,还是失败诊断。遵守用户已有角色、剧情、镜头数量、时长、画幅、参考图和输出格式;不要把简单的提示词请求扩大成制作整片。
40
+
41
+ 缺少信息时,仅询问会改变结果的关键条件。可以先用明确标注的假设给出草案。未指定生成模型时写通用自然语言,不猜 API 字段、参考图上限、支持秒数或控制精度。
42
+
43
+ ## 设计方法
44
+
45
+ 1. **先确定本镜头要让观众看懂什么。** 交代空间、揭示信息、跟随行动、观察反应或制造主观感受。没有运动动机时,可以固定机位,或在两个镜头间直接硬切。
46
+ 2. **拆开主体与摄影机。** 分别写主体动作、摄影机位置与朝向、摄影机运动、焦距变化、焦点对象。视角和构图不等于运镜,固定机位也可以让人物运动。
47
+ 3. **选一个主要镜头机制。** 需要复合效果时,说明哪些动作同时发生、哪些先后发生;组合必须能在同一条运动轨迹中实现。不要把「固定机位、环绕、推进、快速变焦」不加解释地并列。
48
+ 4. **描述可见变化。** 写清起点、方向、速度、目标和结束构图;必要时补充角度、相对距离、前后景关系与稳定程度。数字是设计目标,不是模型保证。
49
+ 5. **把名称变成可执行描述。** 术语可帮助识别,但不能代替轨迹。最终提示词替换全部变量,避免将「向上/向下」「缓慢/快速」作为未选择的选项留给模型。
50
+ 6. **检查连续性与可实现性。** 保留人物外形、动作方向、道具和空间关系;复杂动作超过单段承载能力时建议拆镜,并说明是建议,不擅自改变用户要求的一镜到底。
51
+
52
+ ## 不可混用的概念
53
+
54
+ - 推/拉:摄影机接近/远离主体;光学变焦:机位不变,焦距改变。拉焦则只改变清晰对象。
55
+ - 原片「移镜」对应上下俯仰(tilt);实际输出写「原地仰摇/俯摇」,不能误写为横移或整机升降。
56
+ - 摇镜转动朝向;横移改变摄影机位置。环绕改变摄影机相对主体的位置;滚转改变画面的旋转角度。
57
+ - 荷兰角是倾斜构图状态,滚转是转动过程;低角度不自动等于贴地虫眼视角;高角度不自动等于正上方顶拍。
58
+ - 「前跟镜」明确摄影机在主体前方、向后退行并面向主体;原片后面的「跟随推进」是从主体后方跟随且缩短距离。
59
+ - POV 写清是谁的视角;无人机视角不等于要求画面里出现无人机。
60
+ - 子弹时间冻结的是主体和指定环境动作,摄影机仍可环绕;不是普通慢动作,也不是全画面静止。
61
+
62
+ ## 交付
63
+
64
+ 按任务选择最小够用的格式:
65
+
66
+ - **单镜头**:镜头选择与简短理由、可直接复制的提示词;有歧义时加一句区别说明。
67
+ - **分镜**:镜号、叙事目的、主体动作、起止构图、运镜、建议时长及生成提示词。保留用户要求的总时长,核对各镜头之和。
68
+ - **双语**:中文与英文表达同一运动,不在英文中擅自增加手持抖动、速度或镜头切换。
69
+ - **诊断**:定位冲突或缺失约束,给出修订稿与可选简化稿;区分提示词问题、参考图冲突和模型能力限制。
70
+ - **JSON**:仅在用户或下游工具需要时输出,采用已知协议;无既定协议时明确只是中间分镜结构,不是厂商 API 请求。
71
+
72
+ 额外负面约束只写与当前镜头相关且目标平台能够接收的内容,不固定堆砌长负面词表。提供文字设计不代表有权提交付费生成或更改已有工程。
73
+
74
+ ## 交付前自检
75
+
76
+ - 是否为了展示技巧而改变剧情,或让每个镜头都必须运动?
77
+ - 机位、朝向、轨迹、焦距、焦点是否明确且互不矛盾?
78
+ - 主体与摄影机的运动方向、相对距离是否能产生所描述的画面?
79
+ - 是否仍有未替换变量、未选择的斜线选项或未经证实的模型参数?
80
+ - 分镜是否与参考图、角色设定、前后镜头和时长预算一致?
81
+ - 是否把补充解释冒充原片原话,或承诺所有视频模型都能稳定复现?
82
+
83
+ ## 伙伴内置版路径与协作
84
+
85
+ 参考路径相对于本技能安装目录(工具返回的 rootPath),不是当前项目目录。按任务读取需要的参考,不把整套词典默认注入每轮对话。
86
+ 已启用的导演或漫剧技能可负责整体创作流程,本技能专注镜头选择、运镜与提示词修订;只有用户要求实际画布操作且相关技能与工具可用时,才交由画布创作技能执行,不自动安装或授权其他技能。
87
+ `,
88
+ };
89
+ //# sourceMappingURL=ai-camera-language-builtin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-camera-language-builtin.js","sourceRoot":"","sources":["../../src/skills/ai-camera-language-builtin.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,0BAA0B,GAAiB;IACtD,KAAK,EAAE;QACL,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,YAAY;QACpB,aAAa,EAAE,kHAAkH;QACjI,SAAS,EAAE,OAAO;QAClB,MAAM,EAAE;YACN,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,KAAK;SACN;QACD,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE,SAAS;KACtB;IACD,cAAc,EAAE,oBAAoB;IACpC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEX;CACA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"builtin.d.ts","sourceRoot":"","sources":["../../src/skills/builtin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAO7E,eAAO,MAAM,oBAAoB,YAAY,CAAA;AAE7C,eAAO,MAAM,cAAc,2BAqBzB,CAAA"}
1
+ {"version":3,"file":"builtin.d.ts","sourceRoot":"","sources":["../../src/skills/builtin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAQ7E,eAAO,MAAM,oBAAoB,YAAY,CAAA;AAE7C,eAAO,MAAM,cAAc,2BAsBzB,CAAA"}
@@ -2,6 +2,7 @@ import { DIRECTOR_BUILTINS } from './director-builtins.js';
2
2
  import { VIORA_CANVAS_BUILTIN } from './viora-canvas-builtin.js';
3
3
  import { DRAMA_BUILTIN } from './drama-builtin.js';
4
4
  import { STORY_BUILTINS } from './story-builtins.js';
5
+ import { AI_CAMERA_LANGUAGE_BUILTIN } from './ai-camera-language-builtin.js';
5
6
  import { TASK_PLANNING_DESCRIPTION, TASK_PLANNING_DOCUMENT, TASK_PLANNING_VERSION } from './task-planning.js';
6
7
  import { LONG_TASK_DESCRIPTION, LONG_TASK_DOCUMENT, LONG_TASK_VERSION } from './long-task-continuation.js';
7
8
  export const BUILTIN_SKILL_SOURCE = 'builtin';
@@ -9,6 +10,7 @@ export const BUILTIN_SKILLS = new Map([
9
10
  ...STORY_BUILTINS,
10
11
  ['drama-production', DRAMA_BUILTIN],
11
12
  ['viora-canvas-production', VIORA_CANVAS_BUILTIN],
13
+ ['ai-camera-language', AI_CAMERA_LANGUAGE_BUILTIN],
12
14
  ...DIRECTOR_BUILTINS,
13
15
  ['long-task-continuation', {
14
16
  entry: { id: 'long-task-continuation', name: '长任务等待与续接', description: LONG_TASK_DESCRIPTION, version: LONG_TASK_VERSION, tags: ['定时任务', '续接'], skillUrl: 'builtin:long-task-continuation', sourceId: BUILTIN_SKILL_SOURCE },
@@ -1 +1 @@
1
- {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../src/skills/builtin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAqB,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC7G,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAE1G,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAA;AAE7C,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAuB;IAC1D,GAAG,cAAc;IACjB,CAAC,kBAAkB,EAAE,aAAa,CAAC;IACnC,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;IACjD,GAAG,iBAAiB;IACpB,CAAC,wBAAwB,EAAE;YACzB,KAAK,EAAE,EAAE,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,gCAAgC,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YAC3N,QAAQ,EAAE,kBAAkB;SAC7B,CAAC;IACF,CAAC,eAAe,EAAE;YAChB,KAAK,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,yBAAyB,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YACtN,QAAQ,EAAE,sBAAsB;SACjC,CAAC;IACF,CAAC,oBAAoB,EAAE;YACrB,KAAK,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,iCAAiC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,4BAA4B,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YAC3N,QAAQ,EAAE,wWAAwW;SACnX,CAAC;IACF,CAAC,eAAe,EAAE;YAChB,KAAK,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YACvM,QAAQ,EAAE,oRAAoR;SAC/R,CAAC;CACH,CAAC,CAAA"}
1
+ {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../src/skills/builtin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAqB,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC7G,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAE1G,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAA;AAE7C,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAuB;IAC1D,GAAG,cAAc;IACjB,CAAC,kBAAkB,EAAE,aAAa,CAAC;IACnC,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;IACjD,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;IAClD,GAAG,iBAAiB;IACpB,CAAC,wBAAwB,EAAE;YACzB,KAAK,EAAE,EAAE,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,gCAAgC,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YAC3N,QAAQ,EAAE,kBAAkB;SAC7B,CAAC;IACF,CAAC,eAAe,EAAE;YAChB,KAAK,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,yBAAyB,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YACtN,QAAQ,EAAE,sBAAsB;SACjC,CAAC;IACF,CAAC,oBAAoB,EAAE;YACrB,KAAK,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,iCAAiC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,4BAA4B,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YAC3N,QAAQ,EAAE,wWAAwW;SACnX,CAAC;IACF,CAAC,eAAe,EAAE;YAChB,KAAK,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YACvM,QAAQ,EAAE,oRAAoR;SAC/R,CAAC;CACH,CAAC,CAAA"}
@@ -56,9 +56,9 @@ upstream/roles/ 保存专业角色资料,可以按当前分工读取,而不
56
56
  明确目标平台、可交付程度和原作使用范围。保留 PRODUCT_BRIEF.md 与 SOURCE_BIBLE.md 的依据,玩法和状态变化必须可验证,不把普通聊天套壳称为可玩游戏。
57
57
  沿用 quick / director / resume 模式;用户只要求分析或某个阶段时不自动跑全流程。构建与测试用实际运行环境;无法运行时交付源文件并标注未验证,不宣称通过试玩。
58
58
  本包不提供原插件的游戏预览 iframe。若需要预览,使用用户批准的本地运行方式,不自动开放公网端口。
59
- upstream/examples/ 是参考样例,不是用户项目;只在需要时读取,不照搬其中素材作为用户获准使用的资产。
59
+ 内置包保留全部七个技能模块及其参考资料,不分发上游 examples/ 示例游戏成品和素材。上游 README 中的示例链接仅作来源索引,不代表本地文件存在;需要样例时再按用户需要从下方固定版本来源查看,不自动下载,不照搬其中素材作为用户获准使用的资产。
60
60
  许可:upstream/LICENSE。上游 https://github.com/zenstory-ai/novel-to-game,版本 0.4.0。
61
- `)],
61
+ `, '1.0.1')],
62
62
  ['video-recap-production', builtin('video-recap-production', '视频解说与剪辑', '基于已有视频进行内容理解、解说稿、剪辑计划、配音和合成,保留原声策略与断点续跑证据;不把脚本可用等同于已配置生成服务。', ['视频', '解说', '剪辑'], `
63
63
  ## 按需编排
64
64
 
@@ -1 +1 @@
1
- {"version":3,"file":"story-builtins.js","sourceRoot":"","sources":["../../src/skills/story-builtins.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG;;;;;;;;;;;;;CAanB,CAAA;AAED,SAAS,OAAO,CAAC,EAAU,EAAE,IAAY,EAAE,WAAmB,EAAE,IAAc,EAAE,IAAY,EAAE,OAAO,GAAG,OAAO;IAC7G,OAAO;QACL,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;QAC/F,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE,cAAc,EAAE,mBAAmB,IAAI,kBAAkB,WAAW,cAAc,OAAO,6BAA6B,IAAI,KAAK,WAAW,KAAK,IAAI,EAAE;KAChK,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAuB;IAC1D,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,oBAAoB,EAC/D,qEAAqE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4B9F,EAAE,OAAO,CAAC,CAAC;IACV,CAAC,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE,UAAU,EAC/D,oDAAoD,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE;;;;;;;;;CAS/E,CAAC,CAAC;IACD,CAAC,wBAAwB,EAAE,OAAO,CAAC,wBAAwB,EAAE,SAAS,EACpE,6DAA6D,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;;;;;;;;CAQtF,CAAC,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"story-builtins.js","sourceRoot":"","sources":["../../src/skills/story-builtins.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG;;;;;;;;;;;;;CAanB,CAAA;AAED,SAAS,OAAO,CAAC,EAAU,EAAE,IAAY,EAAE,WAAmB,EAAE,IAAc,EAAE,IAAY,EAAE,OAAO,GAAG,OAAO;IAC7G,OAAO;QACL,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;QAC/F,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE,cAAc,EAAE,mBAAmB,IAAI,kBAAkB,WAAW,cAAc,OAAO,6BAA6B,IAAI,KAAK,WAAW,KAAK,IAAI,EAAE;KAChK,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAuB;IAC1D,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,oBAAoB,EAC/D,qEAAqE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4B9F,EAAE,OAAO,CAAC,CAAC;IACV,CAAC,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE,UAAU,EAC/D,oDAAoD,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE;;;;;;;;;CAS/E,EAAE,OAAO,CAAC,CAAC;IACV,CAAC,wBAAwB,EAAE,OAAO,CAAC,wBAAwB,EAAE,SAAS,EACpE,6DAA6D,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;;;;;;;;CAQtF,CAAC,CAAC;CACF,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemoncat7/dsh-partner",
3
- "version": "2.8.4",
3
+ "version": "2.8.7",
4
4
  "description": "Long-lived AI companions with WeChat, Matrix and Mattermost channels for DeepSeek Harness",
5
5
  "keywords": [
6
6
  "deepseek-harness",
@@ -26,6 +26,8 @@
26
26
  "./package.json": "./package.json"
27
27
  },
28
28
  "files": [
29
+ "docs/releases/2.8.6.md",
30
+ "docs/package-distribution.md",
29
31
  "docs/releases/2.8.4.md",
30
32
  "docs/concern-workflow.md",
31
33
  "docs/releases/2.8.3.md",
@@ -81,7 +83,9 @@
81
83
  "docs/releases/2.7.1.md",
82
84
  "docs/releases/2.7.2.md",
83
85
  "docs/attachment-storage.md",
84
- "docs/dsh-020-compatibility.md"
86
+ "docs/dsh-020-compatibility.md",
87
+ "docs/dsh-021-compatibility.md",
88
+ "docs/releases/2.8.5.md"
85
89
  ],
86
90
  "dsh": {
87
91
  "bundle": {
@@ -101,17 +105,19 @@
101
105
  }
102
106
  },
103
107
  "engines": {
104
- "node": "^22.19.0 || >=24.0.0"
108
+ "node": "^22.19.0 || >=24.0.0",
109
+ "dsh": "^0.2.1-rc.2"
105
110
  },
106
111
  "scripts": {
107
112
  "clean": "node -e \"require('node:fs').rmSync('lib', { recursive: true, force: true })\"",
108
113
  "build": "tsc -p tsconfig.json && node scripts/build-client.mjs",
109
114
  "prepare": "npm run clean && npm run build",
110
115
  "test": "npm run build && node --test test/*.test.mjs",
111
- "pack:check": "npm pack --dry-run"
116
+ "pack:check": "npm pack --dry-run",
117
+ "pack:verify": "node scripts/check-package.mjs"
112
118
  },
113
119
  "dependencies": {
114
- "@deepseek-ai/schemastery": "~3.18.4",
120
+ "@deepseek-ai/schemastery": "~3.18.5",
115
121
  "@modelcontextprotocol/sdk": "^1.30.0",
116
122
  "mdast-util-from-markdown": "2.0.3",
117
123
  "mdast-util-gfm": "3.1.0",
@@ -119,50 +125,50 @@
119
125
  "micromark-extension-gfm": "3.0.0"
120
126
  },
121
127
  "peerDependencies": {
122
- "@deepseek-ai/cordis": "^4.0.4",
123
- "@deepseek-ai/dsh-agent": "^0.2.0-rc.2",
124
- "@deepseek-ai/dsh-agent-default-model": "^0.2.0-rc.2",
125
- "@deepseek-ai/dsh-agent-preset-registry": "^0.2.0-rc.2",
126
- "@deepseek-ai/dsh-attachment": "^0.2.0-rc.2",
127
- "@deepseek-ai/dsh-credentials": "^0.2.0-rc.2",
128
- "@deepseek-ai/dsh-llm": "^0.2.0-rc.2",
129
- "@deepseek-ai/dsh-scope": "^0.2.0-rc.2",
130
- "@deepseek-ai/dsh-session": "^0.2.0-rc.2",
131
- "@deepseek-ai/dsh-settings": "^0.2.0-rc.2",
132
- "@deepseek-ai/dsh-system-prompt": "^0.2.0-rc.2",
133
- "@deepseek-ai/dsh-tools": "^0.2.0-rc.2",
134
- "@deepseek-ai/dsh-user-questions": "^0.2.0-rc.2",
135
- "@deepseek-ai/dsh-workspace": "^0.2.0-rc.2"
128
+ "@deepseek-ai/cordis": "^4.0.5",
129
+ "@deepseek-ai/dsh-agent": "^0.2.1-rc.2",
130
+ "@deepseek-ai/dsh-agent-default-model": "^0.2.1-rc.2",
131
+ "@deepseek-ai/dsh-agent-preset-registry": "^0.2.1-rc.2",
132
+ "@deepseek-ai/dsh-attachment": "^0.2.1-rc.2",
133
+ "@deepseek-ai/dsh-credentials": "^0.2.1-rc.2",
134
+ "@deepseek-ai/dsh-llm": "^0.2.1-rc.2",
135
+ "@deepseek-ai/dsh-scope": "^0.2.1-rc.2",
136
+ "@deepseek-ai/dsh-session": "^0.2.1-rc.2",
137
+ "@deepseek-ai/dsh-settings": "^0.2.1-rc.2",
138
+ "@deepseek-ai/dsh-system-prompt": "^0.2.1-rc.2",
139
+ "@deepseek-ai/dsh-tools": "^0.2.1-rc.2",
140
+ "@deepseek-ai/dsh-user-questions": "^0.2.1-rc.2",
141
+ "@deepseek-ai/dsh-workspace": "^0.2.1-rc.2"
136
142
  },
137
143
  "devDependencies": {
138
- "@deepseek-ai/cordis": "~4.0.4",
139
- "@deepseek-ai/dsh-agent": "0.2.0-rc.2",
140
- "@deepseek-ai/dsh-agent-default-model": "0.2.0-rc.2",
141
- "@deepseek-ai/dsh-agent-preset-registry": "0.2.0-rc.2",
142
- "@deepseek-ai/dsh-api-remotes": "0.2.0-rc.2",
143
- "@deepseek-ai/dsh-api-session-controller": "0.2.0-rc.2",
144
- "@deepseek-ai/dsh-attachment": "0.2.0-rc.2",
145
- "@deepseek-ai/dsh-client-ui-conversation": "0.2.0-rc.2",
146
- "@deepseek-ai/dsh-client-ui-layout": "0.2.0-rc.2",
147
- "@deepseek-ai/dsh-client-ui-primitives": "0.2.0-rc.2",
148
- "@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.2",
149
- "@deepseek-ai/dsh-client-ui-sidebar": "0.2.0-rc.2",
150
- "@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.2",
151
- "@deepseek-ai/dsh-client-ui-theme": "0.2.0-rc.2",
152
- "@deepseek-ai/dsh-client-ui-workspace": "0.2.0-rc.2",
153
- "@deepseek-ai/dsh-credentials": "0.2.0-rc.2",
154
- "@deepseek-ai/dsh-llm": "0.2.0-rc.2",
155
- "@deepseek-ai/dsh-ptc-runtime": "0.2.0-rc.2",
156
- "@deepseek-ai/dsh-sandbox": "0.2.0-rc.2",
157
- "@deepseek-ai/dsh-sandbox-policy": "0.2.0-rc.2",
158
- "@deepseek-ai/dsh-scope": "0.2.0-rc.2",
159
- "@deepseek-ai/dsh-session": "0.2.0-rc.2",
160
- "@deepseek-ai/dsh-settings": "0.2.0-rc.2",
161
- "@deepseek-ai/dsh-system-prompt": "0.2.0-rc.2",
162
- "@deepseek-ai/dsh-tools": "0.2.0-rc.2",
163
- "@deepseek-ai/dsh-user-approval": "0.2.0-rc.2",
164
- "@deepseek-ai/dsh-user-questions": "0.2.0-rc.2",
165
- "@deepseek-ai/dsh-workspace": "0.2.0-rc.2",
144
+ "@deepseek-ai/cordis": "~4.0.5",
145
+ "@deepseek-ai/dsh-agent": "0.2.1-rc.2",
146
+ "@deepseek-ai/dsh-agent-default-model": "0.2.1-rc.2",
147
+ "@deepseek-ai/dsh-agent-preset-registry": "0.2.1-rc.2",
148
+ "@deepseek-ai/dsh-api-remotes": "0.2.1-rc.2",
149
+ "@deepseek-ai/dsh-api-session-controller": "0.2.1-rc.2",
150
+ "@deepseek-ai/dsh-attachment": "0.2.1-rc.2",
151
+ "@deepseek-ai/dsh-client-ui-conversation": "0.2.1-rc.2",
152
+ "@deepseek-ai/dsh-client-ui-layout": "0.2.1-rc.2",
153
+ "@deepseek-ai/dsh-client-ui-primitives": "0.2.1-rc.2",
154
+ "@deepseek-ai/dsh-client-ui-renderer": "0.2.1-rc.2",
155
+ "@deepseek-ai/dsh-client-ui-sidebar": "0.2.1-rc.2",
156
+ "@deepseek-ai/dsh-client-ui-slots": "0.2.1-rc.2",
157
+ "@deepseek-ai/dsh-client-ui-theme": "0.2.1-rc.2",
158
+ "@deepseek-ai/dsh-client-ui-workspace": "0.2.1-rc.2",
159
+ "@deepseek-ai/dsh-credentials": "0.2.1-rc.2",
160
+ "@deepseek-ai/dsh-llm": "0.2.1-rc.2",
161
+ "@deepseek-ai/dsh-ptc-runtime": "0.2.1-rc.2",
162
+ "@deepseek-ai/dsh-sandbox": "0.2.1-rc.2",
163
+ "@deepseek-ai/dsh-sandbox-policy": "0.2.1-rc.2",
164
+ "@deepseek-ai/dsh-scope": "0.2.1-rc.2",
165
+ "@deepseek-ai/dsh-session": "0.2.1-rc.2",
166
+ "@deepseek-ai/dsh-settings": "0.2.1-rc.2",
167
+ "@deepseek-ai/dsh-system-prompt": "0.2.1-rc.2",
168
+ "@deepseek-ai/dsh-tools": "0.2.1-rc.2",
169
+ "@deepseek-ai/dsh-user-approval": "0.2.1-rc.2",
170
+ "@deepseek-ai/dsh-user-questions": "0.2.1-rc.2",
171
+ "@deepseek-ai/dsh-workspace": "0.2.1-rc.2",
166
172
  "@dimforge/rapier3d-compat": "0.20.0",
167
173
  "@types/node": "^24.0.0",
168
174
  "@types/react": "18.3.28",
@@ -0,0 +1,26 @@
1
+ {
2
+ "schemaVersion": 2,
3
+ "source": "builtin",
4
+ "version": "1.0.0",
5
+ "provenance": {
6
+ "package": "ai-camera-language.zip",
7
+ "archiveSha256": "31874daf0f04dd71f1e76b3e6042b213231724bbce8bed17e0677328182654e0",
8
+ "entrySha256": "7b3983b68371b17a925245c79c565bac13edf6dd8d643c0b1c5bf017739b9cbd",
9
+ "origin": "User-provided skill package; reference documents preserved verbatim",
10
+ "videoSource": "https://www.xinpianchang.com/a13724439"
11
+ },
12
+ "files": [
13
+ {
14
+ "path": "references/camera-dictionary.md",
15
+ "sha256": "66becb7148de2517010d49256da468ba4b67786e754cbe9ae26e0194d9dfba90"
16
+ },
17
+ {
18
+ "path": "references/prompt-workflow.md",
19
+ "sha256": "b5b40bbc09e8c7d1430af11295bfcc868a958a180ff75add2e12be2d7ad7c6b0"
20
+ },
21
+ {
22
+ "path": "references/video-summary.md",
23
+ "sha256": "e408da1a1d122b07ba2ea1064b432520e963aac3ebe852ef55cdc3b4ac106690"
24
+ }
25
+ ]
26
+ }