dsh-inline-comments
在已完成的助手回复中选中原文,在引文旁添加编号注释;草稿攒齐后通过官方输入框一次性作为一条用户消息发送。
ruisenbai
@ruisenbai
⬇ 1
★ 1
main
安装
dsh plugin --profile web add github:ruisenbai/dsh-inline-comments
需要可复现安装时,可在仓库后追加 #commit 固定提交。
在已完成的助手回复中选中原文,在引文旁添加编号注释;草稿攒齐后通过官方输入框一次性作为一条用户消息发送。
该插件未提供要点说明,请参考仓库 README。
commentcordisdeepseekdeepseek-harnessdshreview
- 安装并启动 DeepSeek Harness:
npx @deepseek-ai/dsh web - 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
- 用 dsh plugins list 确认已安装,必要时重启 Harness 生效
插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。
| 代码仓库 | github.com/ruisenbai/dsh-inline-comments |
| 许可证 | MIT |
| 主要语言 | main |
| 下载量 | 1 |
| GitHub 星标 | 1 |
| 最近推送 | 2026-08-22 |
| 收录日期 | 2026-09-19 |
| 分类 | 界面增强 |
事实信息来自公开插件目录快照(2026-10-01),介绍文案由本站再加工。
以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。
# DSH Inline Comments 包名:`dsh-inline-comments` [English](README.en.md) [](https://github.com/ruisenbai/dsh-inline-comments/actions/workflows/ci.yml) [](https://github.com/ruisenbai/dsh-inline-comments/releases) [](LICENSE) [](package.json) 审阅一段很长的 AI 回复时,最麻烦的往往不是提出意见,而是反复复制原文、解释“我说的是哪一句”。DSH Inline Comments 让每条意见直接留在对应句子旁边:选中原文、就地写下注释、攒齐多条意见,再通过 DSH 官方输入框一次发送。 > **交互来源说明:**本插件独立、非官方地复刻了 ChatGPT 的正文注释功能,并将这套体验带到 DeepSeek Harness。复制的是使用流程,不是 OpenAI 的源码、素材、API 或品牌;本项目与 OpenAI 无隶属或官方合作关系。 > **兼容性提示:**项目要求 DeepSeek Harness `0.1.1-rc.2` 或更高的 `0.1.x` 预发布版本。DSH 仍处于预发布阶段。由于当前没有助手正文内部 Slot,本插件必须覆盖三个内置会话渲染器。升级 DSH 前请阅读[兼容性说明](docs/compatibility.md)。 ## 界面预览 整个流程都留在对话里:选中原文、添加一条或多条编号注释、检查草稿,再从熟悉的 DSH 输入框发送。  选中真正想讨论的文字,浏览器原生选区仍然保留,随时可以复制。  趁上下文还在眼前,直接在原文旁写下意见。  发送前可以集中检查和调整所有本地草稿。  暂时不想使用注释时,可在 **设置 → 插件 → 插件配置** 中关闭功能,已有草稿不会丢失。  ## 功能 - 在一条已完成的助手回复内选中文字后,弹出带“添加注释”和“复制”两个按钮的小浮条。蓝色选区保持不消失,随时可以按 Ctrl+C 复制;点击其它地方或按 Esc 浮条消失。 - 在选区旁直接显示紧凑输入框,右侧只有取消和保存图标。空内容点击外部会关闭;有内容点击外部会保持打开、显示红边并震动,直到选择一个图标操作。 - 输入停止 400ms 后自动保存编辑中内容并显示本地保存状态;刷新后可恢复,但不会因此变成已提交注释。 - 将两行注释记录分成“待附加”“确认结果/待重试”“权威队列”“已发送”四类,并复用 DSH 官方按钮、状态点、图标、Tooltip 和 Toast。 - 点击注释标题栏中的回形针切换附加状态,不展开也不立即发送;已附加时,未发送集合会随编辑、删除和新增实时变化。 - 官方输入框是唯一任务输入和发送入口。官方文本加注释,或只有注释,都会形成一条任务和一次模型执行。 - 对齐官方 Web 的助手正文流、思考过程折叠行、停止标记、输入区 Dock、图标按钮尺寸、表单字号、语义颜色、浮层表面和用户消息气泡,同时为“定位原文”保留最初的地图定位图标。 - 支持撤销最近一次草稿删除、导出当前 Session 恢复 JSON、清空未提交草稿,并显示本地存储占用。 - 保存完整原文、前后文选择器、助手消息 ID、事件序号、注释 ID 与提交 ID。 - 对代码记录语言与起止行;对表格记录起止行列。 - 选区重叠时合并到原有草稿,避免高亮堆叠歧义。 - 沿用官方输入框的提交策略;注释命令通过一条可幂等重试的排队用户消息入队。 - 使用不同的 DSH Toast 提示权威队列、持久发送和可重试失败;只有批次仍在已观测队列中时才显示撤回操作。 - 编号位于选区结束位置所在完整正文行之后;预留防溢出区域并保持升序,同时合并思考过程展开、视口、字体和缩放触发的布局测量。 - 点击数字编号后,编辑器出现在编号右侧而不是右上角;编辑已有草稿时提供可撤销的删除操作。 - 点击定位后,将数字编号所在的正文行垂直居中到真实会话或窗口滚动区域,并校正 CSS 缩放。 - 使用 `localStorage` 恢复未发送草稿、编辑中内容和不可变重试记录。 - 用由提交 ID 派生的稳定消息 ID 去重网络中断后的重试。 - 只有模型明确返回对应注释 ID,状态才从“已发送”变为“已处理”。 - 浏览器不支持 CSS Custom Highlight API 时,仍保留编号标记和定位能力。 ## 快速开始 ### 从源码构建 ```bash git clone https://github.com/ruisenbai/dsh-inline-comments.git cd dsh-inline-comments corepack enable pnpm install pnpm verify ``` 把构建后的目录安装到 Web Profile: ```bash dsh plugin --profile web add . dsh web --profile web ``` 打开 DSH Web 页面,在一条已完成回复中选中文字,会出现带“添加注释”和“复制”的小浮条;选区保持可选,Ctrl+C 也能复制。点击“添加注释”打开紧凑输入框,填写意见后点击对号创建草稿,或点击叉号取消。草稿会出现在官方输入框上方;点击注释标题栏中的回形针,在官方输入框中填写可选任务文本,再使用官方 Enter 或发送按钮。官方文本为空时,也可以只发送已附加注释。 ### 安装 GitHub Release 每个 `v*.*.*` 标签都会构建可安装 Tarball 并附加到 GitHub Release。下载后可以直接安装预构建包,无需执行仓库构建脚本: ```bash gh release download v0.1.3 --repo ruisenbai/dsh-inline-comments --pattern '*.tgz' dsh plugin --profile web add ./dsh-inline-comments-0.1.3.tgz ``` 如果 Profile 明确允许这个可信包执行 `prepare` 构建,也可以安装固定标签的 Git 依赖: ```bash dsh plugin --profile web add git+https://github.com/ruisenbai/dsh-inline-comments.git#v0.1.3 ``` ## 设置 **设置 → 插件 → 插件配置** 中提供可展开的 **DSH Inline Comments** 卡片。开关默认开启;修改会先在卡片中暂存,点击“保存”后写入 Host 的 `inline-comments` 设置 namespace,并对这个 Host 提供的所有 Session 生效。关闭后恢复官方助手与用户消息渲染器,移除选区操作条、数字标记、注释列表、注释操作、隐藏传输视图和输入框附加状态,同时保留输入框中的可见文本。草稿、编辑中内容、Outbox 状态和已提交历史都不会删除;重新开启后会恢复。 “恢复默认”会清除用户层覆盖并重新采用默认开启值。设置由 DSH 的 settings provider 持久化;0.1.3 首次启动时会保留并迁移有效的旧版浏览器开关,Host 接受后才删除旧 key。每个 Session 的注释草稿仍按[隐私与持久化](#隐私与持久化)所述保存在浏览器中。 ## 任务状态与发送方式 回形针有两种状态。未附加时,注释保持在浏览器本地并继续可编辑;已附加时,未发送集合会实时跟随编辑、删除和新增,直到官方输入框提交。提交事务会冻结一份不可变提交内容,只有在命令成功后才清空官方输入框,之后新增的注释归属于下一次任务。再次点击回形针会取消附加,不改动文本、光标或列表展开状态。 插件不会把传输已接受直接显示成已排队。只有 `ConversationSnapshot.queue` 包含稳定消息 ID 后才显示“已排队”Toast 和撤回操作;持久化 `user/message` 出现后改为“已发送”并移除撤回。失败的事务会保留官方输入框内容、附加状态、不可变提交内容和提交 ID,供稍后安全重试。 移除的插件内“整体要求”已有内容,会在第一次成功附加时一次性迁移进官方输入框;只有官方输入框接受附加后,插件存储中的旧值才会被清除。 DSH 的命令声明可选择接收序列化图片。本插件有意不启用该能力,因此输入框存在图片时无法附加注释;附加后再添加图片时,DSH 会拒绝混合提交,且不会丢弃图片或注释草稿。 ## 状态定义 - **草稿:**仅在浏览器中,可编辑。 - **已排队:**已进入 DSH Inbox,尚未写入模型历史。 - **已发送:**由持久化的注释 `user/message` 事件重建。 - **已处理:**模型回复明确携带提交 ID 和注释 ID 后才设置。 插件不会根据等待时长、轮次结束或界面时序推测“已处理”。 ## 配置 Bundle 会插入一个 `dsh-inline-comments` 行。可在当前 Profile Composition 中覆盖: | 配置项 | 默认值 | 作用 | | ----------------------------- | -----------------------: | ---------------------------------------- | | `commandName` | `inline_comments_submit` | 浏览器到 Host 的内部传输命令名 | | `maxPayloadBytes` | `524288` | 解码后 JSON 批次上限;超限拒绝,绝不截断 | | `maxAnnotationsPerSubmission` | `100` | 单批注释数上限 | | `warnSelectionChars` | `12000` | 长选区需要额外确认的阈值 | | `locateHistoryPages` | `20` | 定位原文时最多加载的历史页数 | Host 与 Client 共享同一个 Cordis 行配置,因此修改 `commandName` 时两端会保持一致。 ## 隐私与持久化 未发送原文、评论、编辑中内容和重试记录保存在 `dsh-inline-comments:v1:` 对应的 `localStorage` 中。当前键不存在时,会把 `dsh-inline-annotations:v1:` 下的有效数据复制到当前键并删除旧键。可见存储键继续使用 `v1`,其中经过校验的数据值采用 `storageVersion: 2`,旧版值会在读取时迁移。用户通过官方输入框提交前不会发送到 Host 或模型。提交后,原文和评论会进入当前 Session 日志和模型上下文。插件不包含分析、遥测或外部网络客户端。详见[隐私说明](docs/privacy.md)。 ## 模型体验 - **提交前:**不产生 Prompt、Token 或 KV Cache 影响。 - **提交时:**写入一条标准用户消息,包含官方输入框文本、完整批次、稳定 ID、原文、评论和结构坐标。 - **处理确认:**消息要求模型在确实处理后返回一个列出注释 ID 的机器标记。Client 渲染前隐藏标记,但原始模型文本仍可重放。 - **Token:**成本随完整选区和评论增长;插件不做静默截断。超出字节限制会在入队前拒绝。 - **KV Cache:**Steer 或 Follow-up 与普通用户消息一样改变后续模型上下文。 ## 开发 ```bash pnpm typecheck pnpm lint pnpm test pnpm exec playwright install chromium pnpm test:browser pnpm test:coverage pnpm build pnpm verify:bundle pnpm publint pnpm pack ``` CI 会在 Node 22.19 与 24 上执行类型检查、Lint、单元测试、生产构建、Bundle 验证和 publint。Node 24 任务还会运行真实 Chromium 回归测试并创建包产物。更多信息见[开发指南](docs/development.md)、[架构](docs/architecture.md)和[数据模型](docs/data-model.md)。 ## 已知限制 - DSH 暂无助手 Markdown 内部 Slot。本插件以优先级 `-100` 覆盖 `assistant-step`、`user` 与 `steering` 渲染单元;上游渲染器变化需要重新兼容验证。 - 未发送草稿只存在当前浏览器,不会跨设备同步;已发送批次可从 Session 日志恢复。 - 模型确认属于协作协议。模型遗漏或破坏标记时,状态保持“已发送”,不会猜测为“已处理”。 - 归档任务没有活跃输入框,无法附加注释;请在可编辑任务中创建注释。 - DSH 命令 Claim 可选择接收序列化图片,但本插件有意不声明 `CommandClaim.images`,因此图片与正文注释暂不能合并在一次提交中。 - CSS Custom Highlight 取决于浏览器支持;不支持时仍可使用编号标记和时间线定位。 - 一次选区必须位于同一条助手回复内,跨消息选区会被拒绝。 - DSH 暂无私有命令注册标记,因此经过严格校验的内部传输命令可能出现在斜杠命令目录中。 ## 社区 - [贡献指南](CONTRIBUTING.md) - [行为准则](CODE_OF_CONDUCT.md) - [安全策略](SECURITY.md) - [支持渠道](SUPPORT.md) - [发布指南](RELEASING.md) - [更新日志](CHANGELOG.md) 项目采用 [MIT License](LICENSE)。
数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。