Skip to content
dsh.fish
Bundle

dsh-plugin-quote-reply

DSH plugin: select text (划词) in a conversation, then quote it into the composer or reply in a new window.

Source
yangYzc
stars
2 stars
License
MIT
Updated
Updated 10 days ago

Readme

# dsh-plugin-quote-reply

**DeepSeek Harness (DSH) 划词引用插件** — 在会话中选中文字,一键「引用回复」或「新窗口回复」。

Select text (划词) in a DSH conversation, then quote it into the composer or reply in a new window.

[![npm version](https://badgen.net/npm/v/dsh-plugin-quote-reply)](https://www.npmjs.com/package/dsh-plugin-quote-reply)
[![license](https://badgen.net/badge/license/MIT/green)](LICENSE)

---

## 功能 Features

在 DSH Web 界面里,用鼠标**划选**任意消息中的文字,选中处下方会浮出工具条:

- **引用回复**:把选中文字以 markdown 引用块(`> …`)插入当前输入框,直接接着打字回复。
- **新窗口回复**:自动创建并打开一个新会话,引用已预填在新会话的输入框里。

> 划词来源不限:助手回复、用户消息、工具输出都可以。

## 安装 Install

```sh
# 任意 profile(推荐 web)
dsh plugin --profile web add dsh-plugin-quote-reply
```

安装后重启 `dsh web`(或运行仓库内 `重启-DSH-Web.cmd`),刷新浏览器即可生效。

### 从 Git 安装(备选)

```sh
dsh plugin --profile web add "github:<your-name>/dsh-plugin-quote-reply"
```

git 安装会触发 `prepare` 构建脚本。pnpm ≥ 10 默认拒绝执行 git 依赖的构建脚本,首次安装会失败并提示你放行——把报错里给出的包名写进 profile 的 `pnpm-workspace.yaml`:

```yaml
allowBuilds:
  dsh-plugin-quote-reply: true
```

然后重新执行上面的 add 命令。(放行 = 允许在安装时执行该包的代码,只放行你信任的源码。)

## 使用 Usage

1. 在会话里用鼠标选中一段文字(比如助手回答中的一句)。
2. 选中处下方出现工具条。
3. 点「引用回复」——引用进当前输入框;或点「新窗口回复」——开新会话并预填引用。
4. 打字,发送。

## 工作原理 How it works

- 纯**客户端(浏览器)插件**:宿主半身 + 浏览器半身(`exports["./client"]` + `dsh.client` 声明)。
- 划词监听:全局 `selectionchange` / `mouseup` 事件 + 选区坐标定位浮动工具条(框架本身没有消息文本选区 API)。
- 引用写入:会话标准套件 `inputActions.setDraft()`(经 `conversation.input.dock` 槽位注入)。
- 新窗口:`SessionRuntime.create()` → `sessions.open()` → `conversation.input.for(binding.ctx).setDraft()` 预填。

## 开发 Development

```sh
npm install        # 安装依赖
npm run typecheck  # 类型检查
npm run build      # 构建 lib/index.js + lib/client.js(client 半身按官方 __ModuleLoader__ 格式包装)
```

## 发布 Publish

```sh
npm version patch  # 0.1.0 → 0.1.1
npm publish        # prepare 会自动重新构建
```

## 许可证 License

[MIT](LICENSE) © yangaazz

Install

dsh plugin --profile web add github:yangYzc/dsh-plugin-quote-reply

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source