@capyclaw/ppt-suite 0.0.0-stage → 2.4.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.
- package/LICENSE +21 -0
- package/README.md +90 -3
- package/composition.lock.json +108 -0
- package/contract/ppt-contract.json +1529 -0
- package/cordis.patch.yml +30 -0
- package/dsh-suite.json +301 -0
- package/lib/index.mjs +6 -0
- package/package.json +60 -4
- package/services.json +36 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 CapyClaw
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,90 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
# dsh-ppt-suite(PPT 工作台套件)
|
|
2
|
+
|
|
3
|
+
一键安装的入口包。内部包含 PPT 运行时、技能、文档工作台框架和 4 个公共基建插件,套件负责锁定兼容版本。
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
dsh-ppt-suite
|
|
7
|
+
├─ dsh-service-host 公共基建:HTTP 宿主/健康/指标/锁/复用
|
|
8
|
+
├─ dsh-tool-host 公共基建:能力 DSL/注册表/契约/MCP
|
|
9
|
+
├─ dsh-asset-service 公共基建:sha256 对象资产/`/assets`
|
|
10
|
+
├─ dsh-editor-host 公共基建:编辑器托管/租约/心跳
|
|
11
|
+
├─ dsh-document-workbench 文档框架库:会话/命令/桥路由/编辑器客户端(非 row)
|
|
12
|
+
├─ dsh-ppt-workbench 运行时:relay + editor + 18 个 ppt_* MCP 工具
|
|
13
|
+
├─ dsh-ppt-skill-ppt 路由
|
|
14
|
+
├─ dsh-ppt-skill-narrative 叙事
|
|
15
|
+
├─ dsh-ppt-skill-design 审美
|
|
16
|
+
├─ dsh-ppt-skill-api 工具手册
|
|
17
|
+
├─ dsh-ppt-skill-authoring 成稿
|
|
18
|
+
├─ dsh-ppt-skill-editing 纯执行
|
|
19
|
+
├─ dsh-ppt-skill-visual-check 审计
|
|
20
|
+
└─ dsh-ppt-skill-research 研究
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
安装后这 4 个公共插件会作为独立 row 出现在 profile 中;`dsh-ppt-suite` 通过
|
|
24
|
+
`components` 引用它们自己的 suite manifest,不再复制 packages/rows。`dsh-ppt-workbench` 优先通过
|
|
25
|
+
`ctx.serviceHost` / `ctx.toolHost` / `ctx.assets` / `ctx.editorHost`
|
|
26
|
+
使用它们,独立运行时再回退到 `server/shared` 快照。
|
|
27
|
+
|
|
28
|
+
PPT 的 journal/checkpoint 由 `server/store/*` + `dsh-document-workbench` 直接落盘,
|
|
29
|
+
不依赖 `ctx.state`,因此套件不安装 `dsh-state-service`。
|
|
30
|
+
|
|
31
|
+
组合层是标准件 `packages/dsh-suite-kit` 的第一个实例:
|
|
32
|
+
|
|
33
|
+
- `dsh-suite.json` 是唯一真源(packages / rows / checks / 端口 / 能力);
|
|
34
|
+
- `cordis.patch.yml` 由 manifest 生成,不手写;
|
|
35
|
+
- 安装、组合、doctor 都用同一套 CLI,后续别的组合可以复用。
|
|
36
|
+
|
|
37
|
+
## 安装
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# 本地开发(推荐;在 bridges/ppt-bridge 下执行):
|
|
41
|
+
cd bridges/ppt-bridge
|
|
42
|
+
node scripts/install-plugin-suite.mjs --profile web
|
|
43
|
+
# 会建 suite/公共插件/workbench/skills 的 junction 并清旧 patch 块
|
|
44
|
+
|
|
45
|
+
# 发布/打包后也可走 dsh 插件安装
|
|
46
|
+
dsh plugin --profile <profile> install /path/to/dsh-ppt-suite
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
安装后:
|
|
50
|
+
|
|
51
|
+
- MCP 工具组 `mcp__ppt__*` 出现;
|
|
52
|
+
- 本机 39311 端口起 relay;
|
|
53
|
+
- 浏览器打开 `http://127.0.0.1:39311/` 即为实时编辑器;
|
|
54
|
+
- 会话 skill 目录出现 8 个 PPT skill。
|
|
55
|
+
|
|
56
|
+
## 标准件命令
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# 在 workspace 根目录
|
|
60
|
+
node packages/dsh-suite-kit/bin/dsh-suite.mjs validate bridges/ppt-bridge/plugin/dsh-ppt-suite
|
|
61
|
+
node packages/dsh-suite-kit/bin/dsh-suite.mjs compose bridges/ppt-bridge/plugin/dsh-ppt-suite --out /tmp/ppt-suite
|
|
62
|
+
node packages/dsh-suite-kit/bin/dsh-suite.mjs doctor --profile web \
|
|
63
|
+
--dsh-bin core-harness/deepseek-harness/node_modules/.bin/dsh.cmd
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
`doctor` 会检查 `ppt-health` 和 `ppt-contract`(`contractVersion` major=2),并检查组合后 row id 是否重复。
|
|
67
|
+
|
|
68
|
+
## 不要重复装
|
|
69
|
+
|
|
70
|
+
套件已经包含 workbench 和 8 个 skill 包的 patch 行。再单独安装 `dsh-ppt-workbench` 或任一 `dsh-ppt-skill-*` 会产生重复的 `ppt-workbench-host` / `ppt-skill-*` 行。二选一:
|
|
71
|
+
|
|
72
|
+
- 普通用户:只装 `dsh-ppt-suite`;
|
|
73
|
+
- 开发者:单独装 `dsh-ppt-workbench` / 某个 `dsh-ppt-skill-*`,方便分别调试。
|
|
74
|
+
|
|
75
|
+
## 版本策略
|
|
76
|
+
|
|
77
|
+
PPT 包组版本同步从 `2.2.0` 起步;4 个公共基建插件独立版本(当前 `^0.1.0`),由套件锁定兼容范围:
|
|
78
|
+
|
|
79
|
+
- Workbench 工具契约不兼容变化 → contract major +1,workbench 与 8 个 skill 包 major 同步;
|
|
80
|
+
- 单个 skill 只改文案/流程 → 该 `dsh-ppt-skill-*` 单独升 minor/patch;
|
|
81
|
+
- 公共插件升级 → 同步更新 `server/shared/` 快照并重新验证 PPT;
|
|
82
|
+
- 本地开发用 `scripts/install-plugin-suite.mjs` 建 suite/公共插件/workbench/8 个 skill 包的 junction;发布到 npm 时依赖按各自版本正常安装。
|
|
83
|
+
|
|
84
|
+
## 验证
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# 在 ppt-bridge 根目录
|
|
88
|
+
node scripts/build-plugin.mjs
|
|
89
|
+
node --test test/plugin.test.mjs test/skills.test.mjs test/packages.test.mjs
|
|
90
|
+
```
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
{
|
|
2
|
+
"suite": "capyclaw-ppt-suite",
|
|
3
|
+
"suiteVersion": "2.4.0",
|
|
4
|
+
"packages": {
|
|
5
|
+
"dsh-asset-service": {
|
|
6
|
+
"version": "0.1.0",
|
|
7
|
+
"apiVersion": "1.0.0",
|
|
8
|
+
"path": "..\\..\\..\\..\\..\\packages\\dsh-asset-service",
|
|
9
|
+
"sha256": "ffcbe90232fd02526a33e5347a6d83a04c2c46dda8500a50a14854a65bce1f19"
|
|
10
|
+
},
|
|
11
|
+
"dsh-document-workbench": {
|
|
12
|
+
"version": "0.1.0",
|
|
13
|
+
"apiVersion": null,
|
|
14
|
+
"path": "../../../../../packages/dsh-document-workbench",
|
|
15
|
+
"sha256": "98cbdb74f92d517848ff457ea7707b956cf74fdc065734af8ee26a713009540f"
|
|
16
|
+
},
|
|
17
|
+
"dsh-editor-host": {
|
|
18
|
+
"version": "0.1.0",
|
|
19
|
+
"apiVersion": "1.0.0",
|
|
20
|
+
"path": "..\\..\\..\\..\\..\\packages\\dsh-editor-host",
|
|
21
|
+
"sha256": "390cfe391b2ec8123155061a1cd01dce60b84212e4ad0753981aed3e0dff6959"
|
|
22
|
+
},
|
|
23
|
+
"dsh-plugin-kit": {
|
|
24
|
+
"version": "0.2.0",
|
|
25
|
+
"apiVersion": null,
|
|
26
|
+
"path": "../../../../../packages/dsh-plugin-kit",
|
|
27
|
+
"sha256": "d07757e4cc0fd37363bc51c8e1b3cb9566be13c483b71e219041d0c435ae757a"
|
|
28
|
+
},
|
|
29
|
+
"dsh-ppt-skill-api": {
|
|
30
|
+
"version": "2.2.0",
|
|
31
|
+
"apiVersion": null,
|
|
32
|
+
"path": "../dsh-ppt-skill-api",
|
|
33
|
+
"sha256": "cc71305324660e7d2ac65c6617336cb579bd02318c71c02e7e71251cb59e4b8f"
|
|
34
|
+
},
|
|
35
|
+
"dsh-ppt-skill-authoring": {
|
|
36
|
+
"version": "2.2.0",
|
|
37
|
+
"apiVersion": null,
|
|
38
|
+
"path": "../dsh-ppt-skill-authoring",
|
|
39
|
+
"sha256": "90adb2540d0606b27578af7fdbc04cee35a089cd5db1d6363113f689e6d1e74d"
|
|
40
|
+
},
|
|
41
|
+
"dsh-ppt-skill-design": {
|
|
42
|
+
"version": "2.2.0",
|
|
43
|
+
"apiVersion": null,
|
|
44
|
+
"path": "../dsh-ppt-skill-design",
|
|
45
|
+
"sha256": "922d081b35ac7053a479bf327f4309d208e09bd5c7f8982a92deecd7b97767a1"
|
|
46
|
+
},
|
|
47
|
+
"dsh-ppt-skill-editing": {
|
|
48
|
+
"version": "2.2.0",
|
|
49
|
+
"apiVersion": null,
|
|
50
|
+
"path": "../dsh-ppt-skill-editing",
|
|
51
|
+
"sha256": "15e3f7ea5247553b763992d80fce3b7b3f544400ee3284fc2b65f11b1862e36f"
|
|
52
|
+
},
|
|
53
|
+
"dsh-ppt-skill-narrative": {
|
|
54
|
+
"version": "2.2.0",
|
|
55
|
+
"apiVersion": null,
|
|
56
|
+
"path": "../dsh-ppt-skill-narrative",
|
|
57
|
+
"sha256": "e52c7988f9862876e1009030443307bef29656399ff2a4e215ec15892e984e76"
|
|
58
|
+
},
|
|
59
|
+
"dsh-ppt-skill-ppt": {
|
|
60
|
+
"version": "2.2.0",
|
|
61
|
+
"apiVersion": null,
|
|
62
|
+
"path": "../dsh-ppt-skill-ppt",
|
|
63
|
+
"sha256": "981e93c969e620ca6b3f0012cd4500d20acb8242d3bf5596ef1fe75145877f60"
|
|
64
|
+
},
|
|
65
|
+
"dsh-ppt-skill-research": {
|
|
66
|
+
"version": "2.2.0",
|
|
67
|
+
"apiVersion": null,
|
|
68
|
+
"path": "../dsh-ppt-skill-research",
|
|
69
|
+
"sha256": "636281492b1c9368b9d546c1043a2bc2d5e925ed49e704a3d35e42cd14e61f11"
|
|
70
|
+
},
|
|
71
|
+
"dsh-ppt-skill-visual-check": {
|
|
72
|
+
"version": "2.2.0",
|
|
73
|
+
"apiVersion": null,
|
|
74
|
+
"path": "../dsh-ppt-skill-visual-check",
|
|
75
|
+
"sha256": "2f2a264fb1356b3441a5ef5ac750d85ee998e13b73601063b8e6b8b3e7d57742"
|
|
76
|
+
},
|
|
77
|
+
"dsh-ppt-workbench": {
|
|
78
|
+
"version": "2.4.0",
|
|
79
|
+
"apiVersion": null,
|
|
80
|
+
"path": "../dsh-ppt-workbench",
|
|
81
|
+
"sha256": "168e7d8b753c3b199beae9bacd9e73aae10a1eafb96da2f7e211b6aa59053af6"
|
|
82
|
+
},
|
|
83
|
+
"dsh-service-broker": {
|
|
84
|
+
"version": "0.1.0",
|
|
85
|
+
"apiVersion": "1.0.0",
|
|
86
|
+
"path": "../../../../../packages/dsh-service-broker",
|
|
87
|
+
"sha256": "497e55304f2869e5be0cb915e527bcf2e81f81c6b4ef6fd41dbc28153f10153c"
|
|
88
|
+
},
|
|
89
|
+
"dsh-service-host": {
|
|
90
|
+
"version": "0.1.0",
|
|
91
|
+
"apiVersion": "1.0.0",
|
|
92
|
+
"path": "..\\..\\..\\..\\..\\packages\\dsh-service-host",
|
|
93
|
+
"sha256": "23a19887598819f0f62355bb5771afac9c425406773b5afe1664b32b00674604"
|
|
94
|
+
},
|
|
95
|
+
"dsh-skills-service": {
|
|
96
|
+
"version": "0.1.0",
|
|
97
|
+
"apiVersion": null,
|
|
98
|
+
"path": "../../dsh-skills-service",
|
|
99
|
+
"sha256": "c3645d7f64e88ce1868d9a6741375ceffbe42c7468ba1773697d8d7e1e63a30e"
|
|
100
|
+
},
|
|
101
|
+
"dsh-tool-host": {
|
|
102
|
+
"version": "0.1.0",
|
|
103
|
+
"apiVersion": "1.0.0",
|
|
104
|
+
"path": "..\\..\\..\\..\\..\\packages\\dsh-tool-host",
|
|
105
|
+
"sha256": "6d40f9e0b1f9427552df6b14c2f9ad64c77d5f6ce3493160ca667e85d9160b29"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|