把世界书拖进输入框,DSH 就是长篇创作台
luxueliu-dsh-story — DeepSeek Harness(DSH)创作四件套:拖资料 · 接剧情 · 出成稿 · 存卡片,外加打字即展开的写作指令。一个插件全配齐。
这是什么
用 VS Code Continue 写长篇时,你靠的是四件事:
- 把世界书 / 角色卡 拖进输入框,正文作为 context 发出去(不是只丢一个
@路径让模型自己去读) - 上下文炸了,用 剧情总结 交接,关掉旧窗、新开窗接着写
- 导出一份 干净对话稿(没有工具调用、没有代码噪音)
- 把长期可复用的 角色卡 / 世界书 写成带日期的 Markdown,丢回资料包
DSH 默认不会做第 1 件:原生 @path 只是提示模型去 read。浏览器从资源管理器拖文件时也 没有盘符路径,只有文件名和字节。
本插件补上这四件,并且 绝不 在 document capture 阶段拦截 drop——那样会把 DSH 冻在「图片拖动到此处即可添加」。
安装
dsh plugin --profile web add luxueliu/luxueliu-dsh-story
重启 DSH web 后浏览器硬刷新(Ctrl+Shift+R)即可。
本地开发:把包装进 web profile 的 bundles 列表(本插件自带 client),用 link 指向源码:
"luxueliu-dsh-story": "link:D:/DSH/plugins/luxueliu-dsh-story"
不要再在 cordis.patch.yml 里 insert id: story——bundle 补丁已经做了。需要额外搜索根就按 id 叠加配置:
- id: story
config:
roots:
- /path/to/your/writing/workspace
provider: gateway
model: gemini3.7
roots 只用来把拖进来的 文件名 映射回 @路径;文件正文由浏览器直接递进来,不走这条。
命令总览
DSH 命令名必须是 ASCII,中文写在说明里。
| 命令 | Continue 里对应 | 干什么 |
|---|---|---|
拖入 .md / .txt / .yml |
context items | 输入框插入 @路径(若解析得到)+ 围栏正文。图片忽略。 |
/gemini-sum |
/压缩 |
剧情 交接 摘要:谁在哪、发生了什么、悬而未决、最后一拍。不是卡片。 |
/out |
会话导出 | 干净的 #### _User_ / #### _Assistant_ + > 引用,没有工具噪音。 |
/out 名字 |
导出存档 | 写入 资料包/ 旁边的 成品/名字.md |
/sum 角色卡:描述 |
角色卡 | 资料包/continue/角色卡_描述_vYYYYMMDD.md |
/sum 世界书:描述 |
世界书 | 资料包/continue/世界书_描述_vYYYYMMDD.md |
/cue |
自定义斜杠指令 | 列出内置写作指令 |
/cue forum you brit |
同上 | 论坛体 + 第二人称 + 英伦 一包打出 |
输入框打 [论坛体] |
同上 | 标签展开成完整规范 |
/gemini <提示> |
一次性调用 | 走 config.provider / config.model(默认 gateway / gemini3.7) |
可选:@模型名 前缀、--dir <绝对路径>、--save、取最后 N 条消息。
剧情摘要 ≠ 卡片。 摘要给下一个窗口看,卡片是长期成型的设定。
写作指令 /cue
SillyTavern 预设是巨大的开关板;本插件只保留你真正会反复手打的那几条短规范,指令正文全部原创(未搬任何第三方 ST JSON)。Continue 式的开场一条打齐:
[第二人称:西西莉亚家主] [英伦] [禁止抢话]
当前场景:……
或 /cue rp --as 西西莉亚家主。格式标签:[论坛体] [群聊] [纯对白] [3A] [3B];文风标签:[英伦] [电影感] [轻小说] [网文]。/cue 不带参数打印完整清单。
典型回路:选好模型 → 拖卡 → 打标签或直接开写;上下文炸了 /gemini-sum 接到新窗;读本 /out;设定 /sum 回资料包。
拖放规则(不要"优化"它)
ComposerAttachments 监听 bubble 阶段 drop 来关图片浮层,本插件因此立下规矩:
- 只在 bubble 阶段监听
drop - 绝不
preventDefault/stopPropagation/stopImmediatePropagation - 忽略
image/* - 用
File.text()读文稿 - 浮层复位后
setTimeout(0)再插入 - 处理器包
try/catch
谁把 capture 拦截加回来,DSH 就会再次冻在「图片拖动到此处即可添加」。
配置
| 键 | 默认 | 含义 |
|---|---|---|
roots / root |
DSH_CWD, DSH_WORKSPACE, process.cwd() |
扫描这些目录,把拖入的文件名映射回磁盘路径 |
provider |
gateway |
/gemini /gemini-sum /sum 用的 DSH provider id |
model |
gemini3.7 |
上述命令的默认模型 |
maxTokens |
8192 |
生成上限 |
落盘目标 资料包/continue 与 成品/ 必须已存在;--dir 可以现场建目录;文件系统根目录会被拒。
可选 agent 预设
preset/continue/ 是一份 人格 + 文件系统工具 预设(无 shell)。想要「Continue 模式」的会话形态,把它拷到 ~/.dsh/.agent-presets/continue/。拖进来的文件正文已经在消息里,所以不需要 shell。
不要在预设或别的插件里 capture 拦截输入框 drop。
License
MIT © 2026 luxueliu
No comments yet. Be the first to write one.