快速了解
它能做什么
在 DSH 文档预览中选取内容,并将带来源信息的引用加入对话草稿。
本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。
dsh Profile
Not declared in supplied evidence
证据已验证
核对日期 2026/9/16 UTC 14:12
有代码证据的贡献
它为 DSH 增加什么
让你在支持的文档预览中选取内容,并将带来源信息的引用追加到当前对话草稿。
机制证据 ↗选择前先看
这是一个 DSH 客户端插件,可将文本、Markdown、代码、CSV、PDF、DOCX、PPTX 和 XLSX 预览中的选中内容,转为带来源信息的引用并加入当前草稿;它不会自动提交提问。
适合谁
适合需要阅读文档,并以明确选中引用作为上下文向 DSH 对话提问的用户。
常见任务
- 从文本、Markdown、代码或 CSV 预览中引用选中段落后再提问。
- 将 PDF、DOCX、PPTX 或 XLSX 预览中的选中内容带入当前对话草稿。
- 准备基于文档内容的问题时保留选中内容的来源信息。
权限与数据
插件运行在 DSH Web 客户端中,并读取你在支持的文档预览里选取的内容。
权限- 注入 DSH 的文档预览与对话界面。
- 选中内容及其来源信息会追加到当前对话草稿。
- 提供的证据未描述云端转换。
- 提供的证据未声明插件自身会调用外部服务。
- 提供的证据未描述凭据要求。
局限
- 仅为客户端 v1。
- 不支持 DOC、PPT、XLS、OCR、Office 编辑,以及批注或高亮持久化。
- 不会自动提交提示词。
- DSH 0.1.5-rc.2 未进行真实运行时 smoke 测试。
DSHub 已核对
- 已验证不可变 Git Bundle 及 Cordis patch 结构。
- 仓库报告:在 DSH 0.1.5-rc.1 的真实 TextPreview 上,Playwright smoke 已通过选中内容到 Ask 的流程。
DSHub 未核对
- 本条目未实际执行安装。
- 未找到 0.1.0 版本的 npm registry 发布记录。
- 未验证所报告 DSH 0.1.5-rc.1 smoke 以外的运行时行为。
固定版本安装
安装 Document Selection Ask
这个Plugin Bundle没有 DSH Plugin 安装操作,请根据源码文档使用真实交付方式。
维护者原文
项目 README
dsh-document-selection-ask — 开发蓝图与实施状态
该仓库用于使用 DSH + DeepSeek v4.1 Flash 实现一个通用文档“选中内容 → 询问 DeepSeek”插件。
- 代码仓库:https://github.com/HaowenCang/dsh-document-selection-ask
- 许可证:MIT(见
LICENSE,第三方组件许可证见THIRD_PARTY_NOTICES.md)
当前状态
| 项目 | 状态 |
|---|---|
| Design | APPROVED |
| Task 1 | COMPLETE |
| Task 1A | COMPLETE |
| Task 2 | COMPLETE |
| Task 3 | COMPLETE |
| Task 3A | COMPLETE |
| Task 3B | COMPLETE |
| Task 4 | COMPLETE |
| Task 5 | COMPLETE |
| Task 5A | LOCAL CODE PASS / REAL DSH TEXTPREVIEW SMOKE BLOCKED |
| Task 5B | REAL DSH TEXTPREVIEW SMOKE PASS / 已记录一处 production defect(未修) |
| Task 5C | COMPLETE — production defect 已修复(Ask surface 迁至 shell.overlay) |
| Next task | 未授权(Task 6 未开始) |
| Primary runtime | DSH 0.1.5-rc.1 |
| Forward contract target | DSH 0.1.5-rc.2 |
| GitHub publication | ACTIVE(public) |
TXT / Markdown / code / CSV 的选择 → 引用 → Ask 流程已经实现,并且已在真实 DSH 预览上通过 Playwright smoke。Task 5B 记录的那处 production defect 已由 Task 5C 修复:可见的 Ask surface 现在位于 shell.overlay(root scope,是三个栏位的兄弟节点),不再受 wSkVaW_composerStack 的 stacking context 限制,因此右栏展开且真实 TextPreview 挂载时,按钮仍可被真实鼠标点击。composer 侧的契约由 conversation.input.overlay 中的 ComposerTargetRegistrar 通过 ComposerTargetRegistry 按 session 提供;遮挡回归、draft 读取时机与会话隔离规则见 docs/STATUS.md。
已冻结范围
支持:
- TXT / plain text
- Markdown
- 源码 / 配置文件
- CSV
- DOCX
- PPTX
- XLSX
后置:
- DOC / PPT / XLS
- OCR
- Office 编辑
- 批注/高亮持久化
核心架构
DSH builtin text/markdown/code ─┐
PDF Canvas + TextLayer ─────────┤
DOCX HTML DOM ──────────────────┤
PPTX HTML/SVG ──────────────────┼→ SelectionAdapter
XLSX semantic cell range ───────┘ │
▼
Universal Selection Kernel
│
provenance + quote
│
Selection Ask Overlay
│
inputActions.setDraft()
文档索引
DeepSeek v4.1 Flash 必须先读:
AGENTS.mddocs/superpowers/specs/2026-09-14-dsh-universal-document-selection-design.mddocs/superpowers/plans/2026-09-14-dsh-universal-document-selection.md
当前进度与已验证 gate:
docs/STATUS.md
从 Task 2 起的每一轮使用:
DEEPSEEK_TASK_PROMPT.md
Task 1 的启动指令存档在:
DEEPSEEK_START_PROMPT.md
完整执行流程:
docs/DEEPSEEK_EXECUTION_WORKFLOW.md
任务数量
实施计划共 15 个独立 TDD Task。每个 Task 都有:
- exact files
- interface contracts
- failing test
- expected failure
- minimal implementation boundary
- verification commands
- diff review
- commit boundary
- stop rules
不要跳 Task,也不要让 Flash 在一个会话中直接“完成整个项目”。
关键基线
- Primary verified runtime: DSH
0.1.5-rc.1 - Forward contract target: DSH
0.1.5-rc.2(仅 contract-compatible;未做真实应用 smoke,不得声称完整 runtime 支持) - Node:
^22.19.0 || >=24.0.0 - client-only v1
- no cloud conversion
- no automatic submit
- no private DSH/React/Lexical hacks
开发环境
Contract 编译所需的 DSH public packages 在本项目 devDependencies 中按同一 release 精确固定,pnpm install 只写本项目 node_modules:
git clone https://github.com/HaowenCang/dsh-document-selection-ask.git
cd dsh-document-selection-ask
pnpm install
pnpm typecheck # normative public-contract gate
pnpm test
pnpm build
不需要、也不允许预先修复用户级 DSH 安装。pnpm dsh:doctor 仅做检测:比对 contract pin 与本机 DSH 安装版本,不一致时以非零退出码报告;--runtime 要求必须找到本机安装。仓库不含任何机器绝对路径:全新 clone 只需 pnpm install 即可通过上述 gate。
真实 DSH 预览 smoke(开发者用,非用户功能)
tests/browser/ask-flow.spec.ts 在一个运行中的 DSH 里注入 preview body;它验证插件自身行为,但不证明真实文档预览会产出 adapter 读取的 DOM。tests/browser/real-dsh-textpreview.spec.ts 补齐这一点:该 spec 不创建任何 preview 节点,它点击 test-only companion plugin 提供的控件,由该控件调用公开的 ctx.sidebarRight.openResource(...),真实 @deepseek-ai/dsh-client-ui-sidebar-documentpreview 随即自行 mount TXT / code / Markdown fixture,Ask 全流程都在这份真实预览上观察。两类测试必须分开报告,只有后者是 Task 5B 的 gate。
该 companion driver 位于 tests/browser/smoke-driver/,是独立、最小、private、test-only 的 DSH client plugin:它不 import 被测插件,不创建 data-textpreview-* 节点,除 ctx.sidebarRight.openResource 外不做任何导航。它不进入主包 files 发布集合,也不作为 npm/runtime 依赖发布;用户无需安装它。
复现步骤(只操作隔离 profile dsa-smoke,不触碰任何用户 profile):
pnpm install
pnpm build # 主插件产物(不含 driver)
pnpm smoke:driver # 构建 test-only driver(tests/browser/smoke-driver/lib)
pnpm smoke:profile prepare # 生成 fixture + 幂等维护 dsa-smoke 的 link/bundle 行
dsh --profile dsa-smoke --port 50111 --no-open
DSH_SMOKE_URL='http://127.0.0.1:50111/?token=…' pnpm test:browser
pnpm smoke:profile 支持 inspect / prepare / validate / cleanup,固定 profile 名 dsa-smoke,写入前会拒绝其它 profile;重复执行不产生 duplicate loader entry。未设置 DSH_SMOKE_URL 时真实预览 spec 自动 skip,pnpm test:browser 在没有 DSH 的机器上仍可用。
有意识地管理
安装与管理
前置条件与目标 Profile
目标: dsh Profile
交付方式: Git Bundle — HaowenCang/dsh-document-selection-ask#3f37abc6c550dd3c0808a58981ff496f2d7768db。
验证、更新与移除
显示生命周期命令
dsh plugin --profile dsh list兼容性与访问范围
DSH 0.1.5-rc.1 verified; rc.2 is contract-only target: Not declared in supplied evidence。
风险事实
证据与编辑审查Manifest、Bundle patch、分发与新鲜度
不可变证据
审查状态与源码活动
请使用固定版本的 Git 源码;仓库中的 smoke-driver 仅用于测试,用户无需安装。
AI 审查于 2026/9/16 UTC 14:13。GitHub 事实核对日期: 2026/9/16 UTC 14:13。
自当前证据基线以来,没有记录到重要源码变化。