dsh-yce: Rewrite draft prompts in the input box into structured prompts

前言

日常用 DeepSeek Harness(dsh)时,一个常见的问题是:脑子里想清楚了,输入框里写出来的却是一句模糊的草稿,比如“帮我改一下这个功能”。如果每次都靠一问一答慢慢把需求补全,成本不低。dsh-yce 想把这件事压缩成一次点击:在输入框挂一个按钮,点一下,草稿就被改写成结构化、可执行的提示词。

这是什么

dsh-yce 是 xiamuwnagwang/dsh-yce,由 xiamuwnagwang 维护,MIT 协议,当前版本 0.1.1。它是一个 DSH 输入框提示词增强插件,参照 dsh-bce 实现,价值在于把「模糊草稿 → 结构化提示词」的转换放在输入框里完成,而不是靠多轮对话试错。分类属于模型推理。

它不干事的方式也值得先说:插件端不存储、不读取任何密钥。YCE_RELAY_TOKEN 等凭证只存在于宿主 cordis.patch.yml 的 yce-mcp MCP 配置里。

核心功能

下面按 README 列出的能力走一遍,这些都是已核实的行为。

1、输入框挂载按钮。插件在 conversation.input.left 插槽挂载一个 26px 圆形 Y✨ 按钮。点击后通过 Host RPC /api/dsh-yce.enhance 调用宿主已配置的 mcp__*__yce_enhance 与 mcp__*__yce_read_result 分页收据协议,把草稿改写为结构化提示词。

2、支持撤回。连续增强后可以一键退回到最初那版原文,不需要自己手工翻聊天记录。

3、不污染任务卡。增强时自动附带 no_task: true,避免这些输入框层的改写被写进 .yce/tasks/ 任务卡。

4、未配置 MCP 时的内置引导。如果宿主还没注册或启用 yce-mcp,按钮旁边会出现一个状态胶囊,提示如何编辑 ~/.dsh/cordis.patch.yml,并提供一键复制 MCP 配置的按钮。

5、版本兼容。同时兼容 DSH 0.1.x – 0.2.2+,覆盖 Legacy 与 Batch 两种 ctx.tools.execute,以及 /api RPC 拦截与精确 Fetch 路由。

安装与启用

第一步:注册 yce-mcp

插件本身不做改写,改写在 MCP 服务端完成。所以先要在目标 profile 对应的 ~/.dsh/cordis.patch.yml 里注册 yce-mcp。注意 web 与 desktop 两个 profile 相互独立,配置要分别处理;Desktop / Electron 建议把 command 写成 npx 或 node 的绝对路径。YCE_RELAY_TOKEN 需要去 YCE 控制台 获取。

- insert:
    - id: yce-mcp
      name: '@deepseek-ai/dsh-mcp'
      config:
        servers:
          yce:
            type: stdio
            command: npx
            args: ['--yes', 'yce-mcp@latest']
            toolCallTimeoutMs: 120000
            env:
              YCE_RELAY_TOKEN: '你的 YCE Key'
              YCE_TIMEOUT_NETWORK_MS: '90000'
              YCE_TIMEOUT_SEARCH_MS: '90000'
              YCE_TIMEOUT_ENHANCE_MS: '120000'
              YCE_TIMEOUT_AUTO_ENHANCE_MS: '120000'
              YCE_TIMEOUT_PLAN_MS: '300000'

如果本机已经克隆了 YCE-enhance,可以不走 npm,直接把服务指向本地文件:

command: node
args: ['/abs/path/to/YCE-enhance/mcp/src/index.mjs']

第二步:安装插件

三种方式选一种。

方式 A 走 GitHub Release 预构建包,免本地构建,适合日常安装与更新:

dsh plugin --profile web add https://github.com/xiamuwnagwang/dsh-yce/releases/latest/download/dsh-yce.tgz

dsh plugin --profile desktop add https://github.com/xiamuwnagwang/dsh-yce/releases/latest/download/dsh-yce.tgz

上面第二条用于官方 Desktop,执行前先完全退出 Desktop。也可以用镜像地址 https://yce.aigy.de/downloads/dsh-yce.tgz 替换 Release 下载地址。

方式 B 直接走 GitHub 仓库:

dsh plugin --profile web add github:xiamuwnagwang/dsh-yce
dsh plugin --profile desktop add github:xiamuwnagwang/dsh-yce

方式 C 从本地克隆构建与测试。拿到源码后先 npm install,再 npm run build,然后跑 npm test 验证,没问题再装进 profile。

git clone https://github.com/xiamuwnagwang/dsh-yce.git
cd dsh-yce
npm install
npm run build
npm test
dsh plugin --profile web add "$(pwd)"

第三步:重启

安装或更新完成后,完全退出 DeepSeek Harness 并重新启动,改动才会生效。

典型使用流程

1、先把 cordis.patch.yml 配好并重启,确认输入框里出现 Y✨ 按钮及状态胶囊,或确认按钮旁没有「未配置」提示。

2、在输入框写一段模糊草稿,例如「帮我把这个接口的错误处理改得更稳一点」。

3、点击 Y✨,草稿被改写为结构化提示词并写回输入框。可以继续点击做连续增强。

4、如果哪一版改得不好,用撤回回到最初原文重新来。

5、发起对话。因为增强时带了 no_task: true,这次输入不会被记进 .yce/tasks/ 任务卡。

适用场景与注意

适合两类人:一类是经常需要把想法快速转成结构化需求、又不想反复澄清的 DSH 使用者;另一类是关心「凭证放在哪」这个边界问题的人,dsh-yce 明确把密钥留在宿主配置、插件端不碰。

需要注意的是:

1、插件以当前 DSH 进程的权限运行。安装前先看一遍源码,特别是 RPC 调用和 Fetch 路由部分,确认行为与预期一致。许可证为 MIT,社区目录页 SkillHub 与 GitHub 仓库 xiamuwnagwang/dsh-yce 均可查证。

2、增强结果依赖 yce-mcp 的配置和上游服务可用性。MCP 未注册或超时被触发时,按钮不会静默失败,状态胶囊会给出指引。

3、本插件为社区维护,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-yce 做的事情很窄:把一次提示词结构化从「多轮对话试错」变成「输入框里一次点击」。配合换服务的 no_task 行为和插件端零密钥驻留,它适合不想让任务卡被草稿污染、又不想反复澄清需求的 DSH 用户。目录页见 SkillHub,源码见 GitHub。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye