Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DSH 插件集合(dsh-plugins)

🌐 English | 中文

个人维护的 DSH(DeepSeek Harness) 动态 Cordis 插件集合——每个插件一个子目录, 各带自己的 README;跨插件的开发踩坑记录集中在 PITFALLS.md。当前收录:

目录 插件 最新版本 职责
anno/ 选段批示与追问 v2.5.0 选中文本 → 右键「选段批示」→ 批示卡片(⚡追问到可配置模型的子会话并回贴报告 / 加入批示队列并批量注入输入框)
linsp/ 布局命名检查器 v2.6.0 全局快捷键进入命名模式:hover 高亮、点击复制「分区名·元素名 + XPath/getByRole」,用于向 AI 精确描述界面位置

为什么需要这两个插件

anno(选段批示与追问):AI 的长回复动辄几十屏。阅读时你想"这里记一笔""这句没懂、想立刻问一句", 但打断主对话去打字会丢失阅读位置,把追问发进主会话又会污染上下文。 anno 给出两条不打断的通道——右键把选中文本+批示暂存为队列A1 A2 …), 或一键派发到独立子会话用指定模型追问(/btw 的平替),完成后回复才贴回对话。 核心价值:阅读心流不被破坏,主会话上下文不被污染。

linsp(布局命名检查器):改造 DSH 前端、或向 AI 反馈界面问题时,最难的是 "我指的是哪个东西"。截图会过时、文字描述会歧义。linsp 让你 hover 任意元素、 一键复制「分区名 · 元素名 + XPath/getByRole」这种精确坐标,粘贴给 AI 即可被 无歧义地理解。核心价值:人与 AI 之间共享一套界面元素命名语言。

界面速览

02/05 图中的红框是文档标注(截图时叠加的示意图框),不是插件 UI。

截图 说明
整体界面 DSH 界面全貌:插件不新增常驻面板,只以输入区两个小按钮(见 02)与右键菜单的形式存在
输入区入口 输入区入口:红框内为「布局」(linsp)与「划词」(anno)两个按钮
右键菜单 选中文本 → 右键菜单:复制 / 选段批示
批示卡片 批示卡片:⚡ 追问(派发独立子会话、用指定模型)/ + 加入队列
批示队列 批示队列条(红框):【A1】… 一行一条,一键注入输入框
anno 设置 设置 → 插件 → 选段批示与追问:划词触发开关、追问模型选择
linsp 设置 设置 → 插件 → 布局命名检查器:复制内容勾选、全局快捷键
命名模式 命名模式:hover 高亮 + 「分区名·元素名」名牌,点击即复制

节制哲学(设计原则,欢迎 review)

  1. 一个插件只做一件事:anno 管"选段→批示/追问",linsp 管"看布局"; hover 命名曾内置在 anno 里,后拆分为独立插件——克制是特性,不是缺陷。
  2. 绝不打扰主会话:追问走子会话而非注入输入框;派发失败只弹 toast 提示, 绝不偷偷内联提交。
  3. 触发保持克制:主触发是显式的右键菜单;划词直触发默认关闭,是可选项。
  4. 不越权、不偷写:只写自己声明的位置;诊断/调试设施不进发布版。
  5. 能回退:每个版本是不可变包,旧版本永远可回滚(版本历史见下)。

安装(在 DSH 中使用)

动态插件没有 npm 分发渠道,安装 = 把两个 *.js 文件内容分别粘贴进 cordis_definecode.host / code.client,然后 cordis_run

cordis_define({ plugin: {kind:'new', idPrefix:'annos'}, name:'选段批示与追问 v2.5.0',
  purpose:'…', code: { host: <anno/host.js 内容>, client: <anno/client.js 内容> } })
→ cordis_run(pluginId, packageId, 'run')

注意:

  • 每个 *.js 文件内容是函数体(以 return { apply(ctx) { … } } 结尾),不要在外面再包函数。
  • 插件随 Harness 进程存活;进程重启后需重新 define/run(或做成 Agent 预设随会话挂载)。
  • 更新插件时用 cordis_definekind:'existing')追加新包,再用 cordis_run(mode:'update') 切换。

已知边界(踩坑记录)

开发/移植者请看 PITFALLS.md——沙箱限制、子代理 provider、 reportFrom 约束、两层沙箱、z-index 堆叠、监听器叠加等 10 条坑都在那里,每条带 版本状态标签与设计因果。

设置持久化

两插件均以 localStorage 为设置来源(插件更新不丢失):

  • anno.settings.v1{ quickTrigger: boolean }
  • linsp.settings.v1{ parts:{region,kind,snippet,xpath,role}, shortcut, hoverThrough }

版本历史

anno:v1.0.0 → v1.5.0 → v1.6.0 → v1.6.4 → v1.7.2 → v1.8.0(one-shot 子会话尝试)→ v1.9.0(路线有误,勿用)→ v2.0.0 → v2.1.0 → v2.2.0(continuable 子会话)→ v2.3.0(追问模型可配置)→ v2.4.0(修复回复提取)→ v2.4.1 → v2.5.0(发布版)

linsp:v1.0.0 → v2.0.0 → v2.1.1 → v2.2.0 → v2.3.0 → v2.4.0 → v2.5.0 → v2.6.0(发布版)

动态插件的不可变包在每个 Harness 进程内独立编号(pkg-N),跨部署不通用,故不在此列出。

许可证

MIT © An0range

About

个人维护的 DeepSeek Harness(DSH)动态 Cordis 插件集合:选段批示与追问(anno)、布局命名检查器(linsp)。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages