dsh-plugin-deck-studio 0.2.9 → 0.2.12
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/README.md +67 -29
- package/assets/icon.svg +13 -0
- package/index.js +538 -20
- package/lib/config.js +16 -12
- package/lib/data-dir-detect.js +381 -0
- package/lib/data-dir.js +288 -0
- package/lib/render.js +8 -2
- package/package.json +3 -1
- package/seeds/docs/assets/screenshots/f189-00-before.jpg +0 -0
- package/seeds/docs/assets/screenshots/f189-01-oncanvas-subtitle-claim.jpg +0 -0
- package/seeds/docs/assets/screenshots/f190-01-no-legend.jpg +0 -0
- package/seeds/docs/assets/screenshots/f192-01-plugin-icon.png +0 -0
- package/seeds/docs/assets/screenshots/f192-02-icon-sizes.png +0 -0
- package/seeds/docs/install.en.md +63 -5
- package/seeds/docs/install.md +66 -6
- package/seeds/styles/TEC.json +1 -1
- package/ui/workbench.html +763 -5
package/README.md
CHANGED
|
@@ -1,53 +1,91 @@
|
|
|
1
|
-
|
|
1
|
+

|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
# Deckline · 用对话制作整页图片幻灯片
|
|
4
|
+
|
|
5
|
+
**从「讲给谁、讲什么」到脚本、逐页出图、版本与交付,在 DSH 里完成。**
|
|
6
|
+
|
|
7
|
+
Deckline 是 DeepSeek Harness(DSH)的 **image deck 工作台插件**,不是独立应用,也不是可编辑图层的 PPT 编辑器。对话留在 DSH 原生 Chat;工作台负责脚本、图片、设计风格、版本和资料。
|
|
8
|
+
|
|
9
|
+
[安装与配置](../../docs/install.md) · [使用手册](../../docs/manual.md) · [示例 deck](../../samples/deckline-intro) · [English overview](../../README.en.md)
|
|
10
|
+
|
|
11
|
+
## 先看看它怎么工作
|
|
12
|
+
|
|
13
|
+

|
|
14
|
+
|
|
15
|
+
*上图为内置公开示例:中间浏览整页图片,右侧查看与修改这一页的正文、画面要求和提示词。截图展示对应拍摄版本,具体控件以当前版本为准。*
|
|
16
|
+
|
|
17
|
+
### 从想法到可交付的 deck
|
|
18
|
+
|
|
19
|
+
| 你要做什么 | Deckline 提供什么 |
|
|
20
|
+
|---|---|
|
|
21
|
+
| 把想法讲清楚 | 从受众、意图与参考资料开始,组织故事线和逐页脚本 |
|
|
22
|
+
| 做出整页画面 | 按页生成图片;点名多页时可连续出图,每页保留 prompt 与版本 |
|
|
23
|
+
| 调整内容和画面 | 在 Chat 里改稿,查看提案;已有图片可做局部修图,生成新版本而不覆盖旧图 |
|
|
24
|
+
| 统一视觉风格 | 内置风格与样张预览,也可创建自己的 Design、添加参考图并跨 deck 复用 |
|
|
25
|
+
| 检查再交付 | 听众评审、资料与审稿文档;直接播放,或导出 PDF / PPTX / 交接包 |
|
|
26
|
+
|
|
27
|
+
> **导出的 PPTX 每页是一张整页图片,不是可逐项编辑的文本和图表。** 真实出图需要自行配置兼容的 image API;默认 fake 模式用于体验流程。
|
|
28
|
+
|
|
29
|
+
## 写完就能讲:直接全屏播放
|
|
30
|
+
|
|
31
|
+
在工作台点击「全屏演示」,用方向键翻页、Esc 退出;不必为了预览先导出文件。
|
|
32
|
+
|
|
33
|
+

|
|
34
|
+
|
|
35
|
+
## Designs:不只选风格,还能维护自己的风格库
|
|
36
|
+
|
|
37
|
+
预览内置样张、为 deck 选择风格;也可以创建自己的风格,管理画面描述、参考图和样张。这里的 Design 是可复用的视觉定义,**不是固定布局的 PPT 母版**。
|
|
38
|
+
|
|
39
|
+

|
|
40
|
+
|
|
41
|
+

|
|
42
|
+
|
|
43
|
+
更多画面与流程见 [仓库首页](../../README.md)、[风格指南](../../docs/styles.md) 和 [完整示例](../../docs/sample-deck.md)。以上图片均来自公开示例或演示数据。
|
|
5
44
|
|
|
6
45
|
## 安装
|
|
7
46
|
|
|
47
|
+
前置:Node.js `^22.19 或 ≥24`、pnpm 10+、DSH `≥0.2.1-rc.2 <0.3`。详细兼容范围见 [兼容说明](../../docs/compat.md)。
|
|
48
|
+
|
|
8
49
|
```sh
|
|
9
50
|
# 1) 新建一个 profile(基于 DSH 自带 web 模板)
|
|
10
51
|
dsh --profile deckline --from-default-profile web
|
|
11
52
|
|
|
12
|
-
# 2)
|
|
13
|
-
dsh plugin --profile deckline add dsh-plugin-deck-studio@
|
|
53
|
+
# 2) 安装 npm 最新版;安装后自动注册 bundle
|
|
54
|
+
dsh plugin --profile deckline add dsh-plugin-deck-studio@latest
|
|
14
55
|
|
|
15
|
-
#
|
|
16
|
-
npm_config_registry=https://registry.npmmirror.com dsh plugin --profile deckline add dsh-plugin-deck-studio@
|
|
56
|
+
# 国内网络可按需使用镜像,注意镜像版本同步可能有延迟
|
|
57
|
+
# npm_config_registry=https://registry.npmmirror.com dsh plugin --profile deckline add dsh-plugin-deck-studio@latest
|
|
17
58
|
|
|
18
|
-
# 3)
|
|
59
|
+
# 3) 启动,打开终端打印的带 token 链接
|
|
19
60
|
dsh --profile deckline --port 13090
|
|
20
61
|
```
|
|
21
62
|
|
|
22
|
-
|
|
63
|
+
也可以在 DSH「插件 → 发现」中添加索引源:
|
|
23
64
|
|
|
24
|
-
```
|
|
25
|
-
dsh
|
|
65
|
+
```text
|
|
66
|
+
https://cdn.jsdelivr.net/gh/yuna78/dsh-deck-studio@main/market-index.json
|
|
26
67
|
```
|
|
27
68
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
从源码 / Git 安装、Windows、以及完整配置(数据目录 / deck 源 / 出图节点 / key)见仓库文档:
|
|
69
|
+
从源码 / Git 安装、Windows、模型与出图配置及排障见 [中文安装指南](../../docs/install.md) / [English installation](../../docs/install.en.md)。升级后重启 DSH;听众审稿由插件内部调用,不需要单独选择审稿 Mode。
|
|
31
70
|
|
|
32
|
-
|
|
33
|
-
- [docs/install.en.md](https://github.com/yuna78/dsh-deck-studio/blob/main/docs/install.en.md)(English)
|
|
34
|
-
- [示例 deck 与效果](https://github.com/yuna78/dsh-deck-studio/tree/main/samples/deckline-intro)
|
|
71
|
+
## 快速开始
|
|
35
72
|
|
|
36
|
-
|
|
73
|
+
1. 首页点「+ 新建 Deck」,填写标题、受众和一句话意图,选择视觉风格。
|
|
74
|
+
2. 在 Chat 中补充资料、起草故事线与逐页脚本,再按需修改和出图。
|
|
75
|
+
3. 默认 fake 模式生成占位图;真实图片请在「设置」配置出图节点 endpoint、模型与 key。
|
|
76
|
+
4. 在工作台查看页面和版本,直接全屏演示,或导出文件交付。
|
|
37
77
|
|
|
38
|
-
|
|
39
|
-
2. 在 Chat 里让 Agent 起草 `intent.md` / `script.md`,确认后逐页出图;
|
|
40
|
-
3. 默认 fake 模式出占位图,能走完整个流程;要看真图再进「设置」填出图节点 endpoint / 模型 / key。
|
|
78
|
+
出图节点不内置。真实渲染需要配置 OpenAI 兼容的 `/v1/images/generations` 地址。节点 key 保存在本机数据目录的 `render-settings.json`(0600,不回显);不要将 key 提交到 Git。
|
|
41
79
|
|
|
42
|
-
|
|
43
|
-
`~/.dsh/deckline/render-settings.json`,0600,不进 git、不回显)。
|
|
80
|
+
## 数据与边界
|
|
44
81
|
|
|
45
|
-
|
|
82
|
+
- 工作副本、图片、版本与事件默认写 `$DSH_HOME/deckline`,可通过 `dataRoot` 覆盖。
|
|
83
|
+
- 受控源 deck 的 `sourceRoot` **只读**;本机新建 deck 位于 `projectsRoot` 或 `<dataRoot>/projects/<deckId>/source`,有独立写入流程。
|
|
84
|
+
- 每次出图保留版本,旧图片不会因新图生成而被覆盖。
|
|
85
|
+
- 这是 DSH 插件,运行时依赖宿主与用户配置的模型服务;不承诺离线真实出图。
|
|
46
86
|
|
|
47
|
-
|
|
48
|
-
- 受控源 deck:`decks[].sourceRoot` 指向的目录,**只读**,Deckline 永不回写;
|
|
49
|
-
- 新建 deck:`projectsRoot` 或 `<dataRoot>/projects/<deckId>/source`。
|
|
87
|
+
## 许可与反馈
|
|
50
88
|
|
|
51
|
-
|
|
89
|
+
MIT © 2026 Yuna (Deckline) · [LICENSE](../../LICENSE)
|
|
52
90
|
|
|
53
|
-
|
|
91
|
+
[报告问题 / 提建议](https://github.com/yuna78/dsh-deck-studio/issues) · [发布记录](https://github.com/yuna78/dsh-deck-studio/releases)
|
package/assets/icon.svg
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="512" height="512">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="dlbg" x1="4" y1="2" x2="60" y2="62" gradientUnits="userSpaceOnUse"><stop stop-color="#0e5563"/><stop offset="1" stop-color="#08343d"/></linearGradient>
|
|
4
|
+
<linearGradient id="dlgold" x1="40" y1="8" x2="58" y2="26" gradientUnits="userSpaceOnUse"><stop stop-color="#e8b45c"/><stop offset="1" stop-color="#c5882f"/></linearGradient>
|
|
5
|
+
<linearGradient id="dlcard" x1="18" y1="16" x2="50" y2="44" gradientUnits="userSpaceOnUse"><stop stop-color="#fffdf8"/><stop offset="1" stop-color="#efe8d9"/></linearGradient>
|
|
6
|
+
</defs>
|
|
7
|
+
<rect width="64" height="64" rx="16" fill="url(#dlbg)"/>
|
|
8
|
+
<rect x="15" y="26" width="34" height="21" rx="3.5" fill="#faf8f2" opacity=".55" transform="rotate(-5 32 36.5)"/>
|
|
9
|
+
<rect x="17" y="17" width="34" height="22" rx="3.5" fill="url(#dlcard)"/>
|
|
10
|
+
<rect x="22" y="23" width="19" height="3.2" rx="1.6" fill="#0f6975"/>
|
|
11
|
+
<rect x="22" y="29" width="12" height="2.8" rx="1.4" fill="#1496a8" opacity=".85"/>
|
|
12
|
+
<path d="M48.5 8.5l2.5 6 6 2.5-6 2.5-2.5 6-2.5-6-6-2.5 6-2.5z" fill="url(#dlgold)"/>
|
|
13
|
+
</svg>
|