🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

长篇创作四件套 luxueliu/luxueliu-dsh-story

DeepSeek Harness
luxueliu69 天前有提交已提供中文文档扫描:含敏感能力

拖入世界书接续剧情,导出干净成稿并存角色卡

24.6/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add luxueliu/luxueliu-dsh-story
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · other
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 69 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 13 处,展示前 13 条)
  • 读取本地文件
    lib/index.js:156
    if (existsSync(absInferred)) return absInferred;
  • 读取本地文件
    lib/index.js:162
    if (existsSync(cont)) return cont;
  • 读取本地文件
    lib/index.js:249
    if (!existsSync(absDir)) {
  • 写入本地文件
    lib/index.js:251
    mkdirSync(absDir, { recursive: true });
  • 写入本地文件
    lib/index.js:254
    writeFileSync(fullPath, text, 'utf8');
  • 发起网络请求
    dsh/client.js:154
    return fetch('/story-drop', {
  • 发起网络请求
    dsh/client.js:171
    return fetch('/story-drop', {
  • 发起网络请求
    dsh/client.js:368
    return fetch('/story-cues')
  • 读取本地文件
    lib/drop-host.js:36
    if (!existsSync(abs)) continue
  • 读取本地文件
    lib/drop-host.js:69
    entries = readdirSync(dir, { withFileTypes: true })
  • 读取本地文件
    lib/drop-host.js:96
    if (!existsSync(abs)) return { error: 'not found' }
  • 读取本地文件
    lib/drop-host.js:99
    st = statSync(abs)
  • 读取本地文件
    lib/drop-host.js:106
    return { text: readFileSync(abs, 'utf8'), path: abs }
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
展开完整介绍(132 字)↓

DSH 写小说缺的四件事一次配齐!世界书角色卡拖进输入框,正文整篇进上下文;剧情断了 /gemini-sum 一键交接新窗;/out 导出干净成稿;/sum 一句话成角色卡/世界书;[论坛体][第二人称] 打字即展开 — DeepSeek Harness 创作插件

README

由 DeepSeek 最新模型翻译生成
把世界书拖进输入框,DSH 就是长篇创作台 luxueliu-dsh-story — DeepSeek Harness(DSH)创作四件套:拖资料 · 接剧情 · 出成稿 · 存卡片,外加打字即展开的写作指令。一个插件全配齐。 这是什么 用 VS Code Continue 写长篇时,你靠的是四件事: 1. 把世界书 / 角色卡 拖进输入框,正文作为上下文发出去(不是只丢一个 @路径 让模型自己去读) 2. 上下文炸了,用 剧情总结 交接,关掉旧窗、新开窗接着写 3. 导出一份 干净对话稿(没有工具调用、没有代码噪音) 4. 把长期可复用的 角色卡 / 世界书 写成带日期的 Markdown,丢回资料包 DSH 默认不会做第 1 件:原生 @path 只是提示模型去 read。浏览器从资源管理器拖文件时也 没有盘符路径,只有文件名和字节。 本插件补上这四件,并且 绝不 在 document capture 阶段拦截 drop——那样会把 DSH 冻在「图片拖动到此处即可添加」。 安装 dsh plugin --profile web add luxueliu/luxueliu-dsh-story 重启 DSH web 后浏览器硬刷新(Ctrl+Shift+R)即可。
展开完整文档(README 剩余 1 节)
把世界书拖进输入框,DSH 就是长篇创作台

luxueliu-dsh-story — DeepSeek Harness(DSH)创作四件套:拖资料 · 接剧情 · 出成稿 · 存卡片,外加打字即展开的写作指令。一个插件全配齐。

这是什么

用 VS Code Continue 写长篇时,你靠的是四件事:

1. 把世界书 / 角色卡 拖进输入框,正文作为上下文发出去(不是只丢一个 @路径 让模型自己去读)
2. 上下文炸了,用 剧情总结 交接,关掉旧窗、新开窗接着写
3. 导出一份 干净对话稿(没有工具调用、没有代码噪音)
4. 把长期可复用的 角色卡 / 世界书 写成带日期的 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 可以现场建目录;文件系统根目录会被拒。

可选智能体预设

preset/continue/ 是一份人格 + 文件系统工具预设(无 shell)。想要「Continue 模式」的会话形态,把它拷到 ~/.dsh/.agent-presets/continue/。拖进来的文件正文已经在消息里,所以不需要 shell。

不要在预设或别的插件里 capture 拦截输入框 drop。

License

MIT © 2026 luxueliu
预览分享卡片长什么样 ↓luxueliu/luxueliu-dsh-story
分享 · DeepSeek Harness Hub
luxueliu/luxueliu-dsh-story

拖入世界书接续剧情,导出干净成稿并存角色卡

这是你的仓库?认领条目

回到顶部