发送前把粗糙需求改写成结构化消息并检查一致性
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/20 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add omokom/dsh-input-uplift该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · browser
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 4 处,展示前 4 条)
- 写入本地文件lib/index.js:701
mkdirSync(dirname(file), { recursive: true }); - 写入本地文件lib/index.js:702
appendFileSync(file, `${JSON.stringify({ - 发起网络请求lib/client.js:686
const response = await fetch("/api/input-uplift/reorganize", { - 发起网络请求lib/client.js:1448
const response = await fetch("/api/input-uplift/models");
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 的发送前输入增强插件:提供结构化改写建议、对齐检查,还有一个真正的右侧栏标签页。
README
由 DeepSeek 最新模型翻译生成dsh-input-uplift
一个发送前「输入升维」插件,面向 DeepSeek Harness Web / Desktop GUI。
你输入一段粗糙的需求,插件会向会话模型请求一份结构化、可直接发送的版本,并对照最近的对话做一致性检查。在你点击 Replace 之前,它绝不改动输入框,也从不拦截发送。
DSH 右侧栏标签页中的升维卡片
_示例:一次升维后的 DocFlow 审批详情需求,作为真正的 DSH 右侧栏标签页停靠。结果面板展示提取出的范围、改写后的消息,以及改写已覆盖的约束。个人会话侧边栏已从截图中裁掉。_
状态:M1 原型(v0.1.10)。它用到 DSH 客户端内部插槽和服务(conversation.input.、inputActions、sidebarRightTabs),所以最好以本地链接插件的方式安装。未发布到 npm。
功能
- 触发:输入框工具栏里的 ✦ 升维,或 Mod+Alt+U。
- 浮动卡片 / 真正的右侧栏标签页:结果可以浮在输入框上方,也可以作为正式停靠的标签页放进 DSH 右侧栏(对话区会让出空间,不会被遮挡)。
- 改写质量规则:动笔前先理解项目/领域、范围、意图和约束;保留所有具体细节;同一约束只提一次;不用「本次任务:/需要保持的约束:」这类模板标签。
展开完整文档(README 剩余 1 节)
dsh-input-uplift
一个发送前「输入升维」插件,面向 DeepSeek Harness Web / Desktop GUI。
你输入一段粗糙的需求,插件会向会话模型请求一份结构化、可直接发送的版本,并对照最近的对话做一致性检查。在你点击 Replace 之前,它绝不改动输入框,也从不拦截发送。
DSH 右侧栏标签页中的升维卡片
_示例:一次升维后的 DocFlow 审批详情需求,作为真正的 DSH 右侧栏标签页停靠。结果面板展示提取出的范围、改写后的消息,以及改写已覆盖的约束。个人会话侧边栏已从截图中裁掉。_
状态:M1 原型(v0.1.10)。它用到 DSH 客户端内部插槽和服务(conversation.input.、inputActions、sidebarRightTabs),所以最好以本地链接插件的方式安装。未发布到 npm。
功能
- 触发:输入框工具栏里的 ✦ 升维,或 Mod+Alt+U。
- 浮动卡片 / 真正的右侧栏标签页:结果可以浮在输入框上方,也可以作为正式停靠的标签页放进 DSH 右侧栏(对话区会让出空间,不会被遮挡)。
- 改写质量规则:动笔前先理解项目/领域、范围、意图和约束;保留所有具体细节;同一约束只提一次;不用「本次任务:/需要保持的约束:」这类模板标签。
- 一致性检查:标出冲突、重复、已变更的确认和过时假设,并附上原文引用。最新一条用户消息为准;采纳检查结果会把修正句追加到改写里(可单选或多选)。
- 设置:详细程度(简洁 / 标准 / 详细)、均衡模式、显式指定服务商/模型、自定义自动升维延迟(0–120 秒)、显示模式。
- 自动升维:空闲 N 秒后自动触发;如果草稿来自插件自己的替换,则不再触发(避免嵌套生成)。
- 补充框:给改写追加额外要求,或带着这些要求重新生成。
- 点一下才替换:用 insertText 替换,撤销独立;@ 引用会触发确认,因为 setDraft 会丢掉它们。
- 可选标签:改写里已经表达的约束/信号会标为已在改写中并禁用;勾选真正缺失的项,会追加一句自然的「另外,……」。
- mock: true 配置,可在没有模型的情况下试 UI。
环境要求
- Node.js >=22.19.0(构建/测试)。
- DeepSeek Harness Desktop / Web 运行时 0.2.1-rc.x,并已配置模型。
- 无 npm 运行时依赖;宿主构建把 @deepseek-ai/dsh-llm 保持为外部依赖,运行时从 DSH 解析。
构建
git clone https://github.com/omokom/dsh-input-uplift.git
cd dsh-input-uplift
npm install
npm run typecheck
npm run build
npm test
node scripts/check-bundle.mjs
npm run build 会生成:
- lib/index.js — ESM 宿主插件(会话上下文 + LLM 调用 + HTTP 路由);
- lib/client.js — CJS 浏览器包,用 window.__ModuleLoader__.load({ id: "@local/dsh-input-uplift", factory }) 包裹。
lib/ 已提交,插件无需重新构建即可链接。改动 src/ 后,重新运行 npm run build。
安装到 DSH Desktop
1. 构建包(或直接用已提交的 lib/)。
2. DSH Desktop → Settings → Plugins → 添加本地/开发插件,填: link:<absolute-path-to-this-repo>
3. 添加包/配置档依赖后,重启桌面应用一次。
4. 打开一个实时会话;输入框工具行会出现 ✦ 升维。
注意:
- 宿主改动(lib/index.js)需要重启桌面应用。客户端改动(lib/client.js)只有在开发监听器运行时才可能热替换;重启才是可靠做法。
- 包名故意保留为 @local/dsh-input-uplift,这样现有本地配置档链接和 cordis.patch.yml 保持稳定。换名字 fork 需要同步更新 package.json#name 和 cordis.patch.yml。
- 配置通过加载器行配置传入;目前还没有设置表单 schema:
- id: input-uplift
name: '@local/dsh-input-uplift'
config:
mock: false
配置
| 字段 | 默认值 | 说明 |
| mock | false | 返回确定性的本地 mock 结果;不调用模型。 |
| provider / model | 空 | 显式路由覆盖(两者必须同时提供)。选择顺序:显式覆盖 → 会话请求头 → 全局智能体默认 → 本配置。 |
| temperature | 0.3 | 0–2。 |
| maxTokens | 4096 | 512–12000。回复为空或无法解析时,用更大预算重试一次。 |
| timeoutMs | 20000 | 1000–120000。 |
| contextTurns | 12 | 纳入考虑的最新用户/助手文本消息条数(1–24)。 |
| maxContextBytes | 12000 | 上下文软预算;优先保留最新的助手结论。 |
| maxDraftBytes | 24000 | 草稿大小上限(请求体本身上限 64 KiB)。 |
| includeLastAssistant | true | 固定最新 1–2 条助手结论,用于对齐检查。 |
HTTP 路由(同源,由 DSH 连接鉴权):
- POST /api/input-uplift/reorganize — { sessionId, draft, options?, extra? } → 结构化 UpliftResult。
- GET /api/input-uplift/models — 供设置面板使用的服务商/模型目录。
用法
1. 在实时会话里写草稿。
2. 点 ✦ 升维(或按 Mod+Alt+U)。输入框保持可编辑;发送草稿会关闭卡片。
3. 查看卡片:
- 理解 — 目的、范围、约束如何生效;
- 对齐检查 — 采纳/忽略发现项(多选 + 全部采纳);
- 改写 — 候选的待发送消息;
- 约束 / 信号 — 已存在的项置灰并标记;缺失的项可选加入;
- 补充 — 追加到改写结果,或带着它重新生成。
4. 只有想写回时,才点 Replace composer(侧边栏标签页里是 Replace)。替换后会出现 Restore original,直到草稿再次改动。
5. Esc 关闭卡片;设置和显示模式存在 localStorage。
侧边栏标签页从 ⚙ Settings → Display → Side drawer 打开,或点卡片头部的 ⇥ 按钮;⇤ 关闭标签页,回到浮动卡片。
工作原理
宿主侧(src/index.ts):
- 校验请求和当前会话;
- 从 session.deriveMessages() 提取近期文本;
- 构建 system/user 提示词(src/host/prompt.ts),以模型最低推理强度依次调用 ctx.llm.prepareCall(...) → prepared.stream(...) → BlockAssembler(或回退到 ctx.llm.stream);
- 解析并规范化返回的单个 JSON 对象(src/host/contract.ts),然后返回。回复不可用时,把带截断输出片段的诊断信息追加到 $DSH_HOME/cache/dsh-input-uplift/diag.ndjson。
客户端侧:
- src/client/index.tsx 注册输入框触发器、浮动卡片、快捷键、语言词典和右侧边栏标签页类型;
- UpliftPanel.tsx 渲染卡片/标签页、设置、对齐采纳、chips 和补充控件;
- store.ts 按会话保存卡片状态,并做请求隔离;compose.ts 生成替换文本(语义去重,不带模板标签);
- sidebar.ts 桥接 ctx.sidebarRight.openTab/close。
src/
├── index.ts # host entry: routes, context, LLM call
├── host/{prompt,contract,compose}.ts
├── client/index.tsx # slots, shortcut, locale, sidebar tab registration
├── client/UpliftPanel.tsx
├── client/TriggerButton.tsx
├── client/store.ts
├── client/sidebar.ts
├── client/i18n.ts # zh / en
└── client/.tsx
test/ # prompt, contract and compose unit tests
scripts/check-bundle.mjs # purity / envelope bundle gate
docs/screenshots/readme/ # sanitized README hero image (personal UI chrome cropped)
隐私与模型边界
- 本插件不会把草稿写入会话日志。
- Uplift 是一次辅助模型调用,输入是未发送的草稿加上近期文本上下文(不含 system/tool/附件内容)。
- 只有你明确点 Replace 时才会改动草稿;插件绝不会替你发送消息。
已知限制
- M1 原型;DSH 客户端插槽和服务属于运行时内部 API,可能随 DSH 版本变化。
- 对齐的「采纳」会追加模型给出的修正句;它不做完整 diff/merge,也不暴露危险的 rewrite_override 变体。
- 没有 diff 高亮、关闭后恢复编辑器焦点、//@ 菜单互斥、配置表单 schema、结果缓存和全局并发限制。
- 上下文只支持纯文本;一条很长的置顶 assistant 消息可能超出软上下文预算。
- 模型费用与延迟照常计算;插件在每次生成/重新生成时发起一次辅助调用(输出为空或无法解析时再重试一次)。
- 截图是沙箱环境下的证据,不保证每个桌面主题都像素级一致。
许可证
MIT —— 见 LICENSE。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
omokom/dsh-input-uplift
发送前把粗糙需求改写成结构化消息并检查一致性
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,967已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目