把会话定位、复制与链接打开改回直觉操作
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/7 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add d0ublecl1ck/dsh-flow该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 16 处,展示前 14 条)
- 执行外部命令来自配置/变量index.js:266
child = spawn(command, args, { stdio: ['ignore', 'pipe', 'ignore'] }) - 读取本地文件index.js:293
entries = await readdir(resources) - 读取本地文件index.js:298
if (icns === null || !existsSync(icns)) return null - 读取本地文件index.js:305
return await readFile(out) - 删除本地文件递归index.js:312
if (workDir !== null) await rm(workDir, { recursive: true, force: true }) - 读取本地文件index.js:390
stat = (path) => statSync(path), - 执行外部命令来自配置/变量index.js:497
const child = spawn(command, args, { detached: true, stdio: 'ignore' }) - 执行外部命令来自配置/变量index.js:602
const child = spawn(command, args, { detached: true, stdio: 'ignore' }) - 发起网络请求client.js:1870
.then(() => fetch(route, { credentials: 'same-origin' })) - 发起网络请求client.js:2667
.then(() => input.fetch(OPEN_WITH_ROUTE, { - 发起网络请求client.js:4158
fetch: (route, init) => fetch(route, init), - 发起网络请求client.js:4311
const resolveApps = createAppsLookup({ fetch: (route, init) => fetch(route, init) }) - 发起网络请求client.js:4315
return app === null ? false : openWithPath({ app, path: absolute, fetch: (route, init) => fetch(route, init) }) - 发起网络请求client.js:4322
return openWithPath({ app: request.app, path: request.path, fetch: (route, init) => fetch(route, init) })
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-shortcuts@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-settings-general@deepseek-ai/dsh-client-ui-sidebar@deepseek-ai/dsh-client-ui-workspace给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 定位当前会话
- 复制会话ID
- 链接交给系统默认程序
心流优先的 DSH 插件:把动作改回直觉——定位当前会话、复制会话 ID、链接交给系统默认程序(含 localhost)、行内代码右键打开或复制。
README
由 DeepSeek 最新模型翻译生成dsh-flow
心流优先:把 DSH 里那些「明明该顺手、却总要绕一步」的动作,改成符合直觉的样子。
定位当前会话的三步流程与 rail 边界
DSH 的日常里有一类摩擦,不是功能缺失,而是动作方向和直觉相反:
| 你的直觉 | 不做任何事时的行为 |
| 「我在聊哪个?把它拉回来」 | 侧栏分组叠着溢出,得靠手感滚 |
| 「我要的是这个会话的 ID」 | 只能手动选中再复制 |
| 「我只是想复制这行代码里的路径」 | 单击就把文件打开了 |
| 「这个链接该在我自己的浏览器里打开」 | 它被关进一个什么都带不进去的内置窗口 |
一次修一条,让动作回到直觉上:该回来的回来,该复制的别打开,该去外面的别关在里面。
目录
- 一条原则,四个落点
- 之后还会继续
- 你什么时候需要它?
展开完整文档(README 剩余 1 节)
dsh-flow 心流优先:把 DSH 里那些「明明该顺手、却总要绕一步」的动作,改成符合直觉的样子。 定位当前会话的三步流程与 rail 边界 DSH 的日常里有一类摩擦,不是功能缺失,而是动作方向和直觉相反: | 你的直觉 | 不做任何事时的行为 | | 「我在聊哪个?把它拉回来」 | 侧栏分组叠着溢出,得靠手感滚 | | 「我要的是这个会话的 ID」 | 只能手动选中再复制 | | 「我只是想复制这行代码里的路径」 | 单击就把文件打开了 | | 「这个链接该在我自己的浏览器里打开」 | 它被关进一个什么都带不进去的内置窗口 | 一次修一条,让动作回到直觉上:该回来的回来,该复制的别打开,该去外面的别关在里面。 目录 - 一条原则,四个落点 - 之后还会继续 - 你什么时候需要它? - 它做了什么(三步,按顺序自动完成) - 复制会话 ID · 行内代码的右键菜单 · 链接用系统默认程序打开 - 怎么装 · 装完怎么确认 · 触发方式 - 安全边界 · 已知限制 · 仓库里有什么 一条原则,四个落点 | 直觉上的动作 | dsh-flow 的做法 | 怎么触发 | 关掉 | | 回到正在聊的那一行 | 先展开所属分组与分组溢出,再滚进视口并短暂高亮 | 标题行准星按钮 / ⇧⌘D | 心流 → 定位当前会话按钮 | | 拿到会话 ID | 复制这一行(或当前会话)的 ID,并给顶部横幅 | 会话行菜单 / ⇧⌘C | 心流 → 复制会话 ID | | 只复制代码里的路径 | 右键出两项菜单:打开 / 复制 | 正文行内代码上右键 | 心流 → 行内代码右键菜单 | | 用我自己的浏览器开链接 | 交给系统默认程序,包括 localhost | 直接点链接 | 心流 → 在系统默认程序中打开链接 | 四个落点互相独立:任何一个关掉都不影响其余三个,关掉的那个连监听都不注册。 之后还会继续 这个插件的方向不是「把功能堆多」,而是把同一件事反复做:DSH 里动作与直觉不一致的地方,一条条顺过来。之后新增的能力沿用同一套规矩—— - 单独开关、默认开:不想用就关,关掉等于这个能力不存在; - 不改变既有手势:只在直觉需要的地方加一个入口,不重写你已经在用的动作(例如行内代码单击照旧); - 有断言兜着:现在 60 条纯逻辑测试 + 一份可复现的真浏览器验收,其中包含「普通单击不弹菜单」「只派发一次合成 click」这类不变量。 所以下面的清单会变长,但主线只有一条。 你什么时候需要它? - 侧栏里会话按工作区分组堆了几十行,你正在聊的那个不在视口里,得靠手感滚。 - 你刚点开过别的会话,又切回来,侧栏却还停在原来那一屏。 - 你想用键盘回到当前会话,不想离开输入框去摸鼠标。 它做了什么(三步,按顺序自动完成) 1. 所属工作区分组是折起来的 → 先展开分组(折叠的分组一行都不显示,滚动无从下手)。 2. 分组开着,但当前会话在「还有 N 个」后面 → 先展开溢出。 3. 行出现了 → 滚进视口,并短暂高亮一次。 侧栏整列收起(rail)时没有第四步:那种形态下按钮不在界面上,⇧⌘D 会直接告诉你原因。定位不到时也一样——当前会话不在侧栏筛选结果里、或当前没有打开的会话,都会用文字说明,不会按下去什么都没发生。 复制会话 ID 两个入口,同一个动作,复制完都有提示: - 右键会话行(或点行尾的 ...)→ 菜单里的 复制会话 ID,复制这一行的 ID。空白「新会话」行按官方设计不开菜单,所以那一行没有这一项。 - ⇧⌘C(Windows/Linux Ctrl+Shift+C)→ 复制当前对话的 ID,不用先找到那一行。Linux 的 Web 与 Desktop 不预置这个键(官方快捷键表把「主修饰键 + C」保留给浏览器自身的复制),在 设置 → 通用设置 → 快捷键 里绑一次即可;想换键也在同一处改,会话行菜单里的按键提示会跟着变。 剪贴板拒绝写入时提示失败,不会静默。 行内代码的右键菜单 对话正文里的行内代码( path/to/file 那种)点右键会浮出一个两项菜单,位置就在光标旁边: 行内代码右键菜单:命中条件与两个动作 | 菜单项 | 做什么 | | 打开 | 和左键单击完全同一条链路:交给壳自己处理(预览、文件管理器、系统默认程序都听壳的) | | 复制 | 把这段代码的原文写进剪贴板,成功或失败都有顶部横幅 | - 单击不受影响:本功能只监听右键,从不注册或拦截左键点击;开关关掉时连监听都不注册。 - 只认对话正文里的行内代码:多行代码块(三个反引号围栏)、输入框里的代码、链接文字都不弹菜单——链接照旧走下面的系统默认程序接管。 - 键盘可用:↑↓/Home/End 在两项之间移动,回车执行,Esc 或点菜单外面关掉。 - 关掉:设置 → 心流 → 「行内代码右键菜单」,默认开着。 链接用系统默认程序打开 点链接交给系统默认程序(含 localhost)与宿主路由边界 | 点的是什么 | 结果 | | 非同源的 http / https / mailto / tel 链接 | 交给系统默认程序(macOS open、Windows start、Linux xdg-open) | | http://localhost / http://127.0.0.1 | 同上——这是重点,壳本来会开一个内置窗口 | | 本站内的链接 | 放行,应用内跳转照常 | | 其它协议(file:、javascript:、data:、相对路径) | 放行 | 宿主路由是 POST /flow/open-external:先过 DSH 自己的连接信任栅栏(未认证 401),只接受 POST,只放行上面四种协议,URL 长度上限 8192、请求体上限 16KB。宿主答不了(旧版宿主、路由不可用)时点击回退到页面自己的 window.open,不会变成「点了没反应」。 这个能力原先由单独的 dsh-external-link 提供,现在合并进本插件。两个不要同时装:两边都会在捕获阶段拦同一个点击,链接会被打开两次。 怎么装 前置:本机有一个能跑的 DSH(DSH Desktop,或 dsh CLI 起在终端里的 dsh web)。 本插件没有 npm 包,分发形式就是这个仓库本身。把仓库目录放到本机任意位置,然后: dsh plugin --profile web add /absolute/path/to/dsh-flow dsh --profile web --dump-config # 应出现 dsh-flow 层 刷新页面后侧栏标题行里就会出现那个准星按钮。 不要用 npm install dsh-flow:npm 上同名的 dsh-flow 是另一位作者的另一个插件(工作流自动化),与本插件无关。 装完怎么确认 肉眼确认:侧栏标题行出现准星按钮,点它侧栏滚到当前会话、右键任一历史会话行能看到「复制会话 ID」、右键正文里的一段行内代码能看到「打开 / 复制」,并且点一条 http://localhost 链接开在浏览器而不是内置窗口里,就装对了。 触发方式 - 定位:鼠标点侧栏标题行搜索图标右侧的准星按钮;键盘 ⇧⌘D(macOS 桌面版走的是 web 快捷键通道,因此也是 ⇧⌘D),Windows/Linux 为 Ctrl+Shift+D。 - 复制:右键会话行选 复制会话 ID;或按 ⇧⌘C(Windows/Linux 为 Ctrl+Shift+C,Linux 要自己绑一次)复制当前会话的 ID。 - 改键:设置 → 通用设置 → 快捷键,两条命令都在里面;改完会话行菜单里的按键提示同步更新。 - 外链:直接点链接即可;关掉在设置 → 心流 → 「在系统默认程序中打开链接」。 - 行内代码:在对话正文里对一段行内代码点右键;关掉在设置 → 心流 → 「行内代码右键菜单」。 - 关掉其它功能:设置 → 心流 → 对应的那个开关。 安全边界 - 只动视图,不动数据:滚动、展开分组、闪一下高亮。不归档、不删除、不改会话排序、不写会话内容。 - 复制只写剪贴板:一次 navigator.clipboard.writeText,内容是会话 ID 本身;不读剪贴板、不落盘。 - 不静默复制:每次复制都有顶部横幅(读屏一侧是 role="alert"),失败也照说。 - 持久化写入只有「心流」页里你按的那四个开关(宿主 Config 的 flow.locateButton / flow.copySessionId / flow.externalLink / flow.codeMenu)。 - 外链只交给本机宿主:POST /flow/open-external 打的是页面自己所在的 DSH 实例,URL 由宿主转交操作系统默认程序;插件自身不访问外部网络,也不读凭据。 - 不抢别人占用的快捷键:默认键在注册时就校验冲突,宁可报错也不用你的按键盖掉别的命令。 - 不静默失败:拒绝按下时给出原因文字(读屏也能读到)。 - 不发外部网络请求、不读凭据、不碰 localStorage。 - 官方包版本写的是 ^0.2.0-rc.2 且标为可选:装到别的 DSH 版本上不会报错装不上,但那种组合没验证过。 已知限制 - 侧栏折叠成 rail 时没有按钮(标题行没有搜索座位),快捷键在该形态下被拒绝。 - 当前会话被侧栏的搜索或「仅归档」筛选挡掉时,定位不到——会明确说明,不会帮你清筛选。 - 只能定位已渲染的会话行;分组折叠与分组溢出这两层会替你展开,其他筛选不会。 - Linux 不预置 ⇧⌘C:官方快捷键表把「主修饰键 + C」判为 reserved,声明它会在注册时抛错、连带整个客户端半边不挂载,所以那里留空,由使用者自己绑。 - 「复制会话 ID」跟着官方会话行菜单走:空白「新会话」行按设计不开菜单,那一行也就没有这一项。 - 不要和 dsh-external-link 同时装:两边都在捕获阶段拦同一个点击,链接会开两次。 - 点了外链之后的行为由操作系统决定(用什么浏览器、是否提示),本插件只负责把 URL 交出去。 - 行内代码菜单只覆盖对话正文(markdown 正文)里的行内代码:多行代码块(pre > code)、输入框与快捷键编辑器里的代码、行内代码里的链接都不弹菜单。 - 「打开」对壳自己没做成可点击的行内代码(例如普通的一段 main)没有动作——它就是一次普通左键单击,而左键单击同样没有动作。 - 界面文案中英双语,跟随客户端语言;本仓库文档只有中文。 仓库里有什么 | 路径 | 作用 | | client.js | 浏览器半边(零构建,就是产物本体):按钮、portal、会话行菜单项、两条快捷键命令、定位与复制逻辑、复制提示、外链点击拦截、行内代码右键菜单 | | index.js | 宿主半边:四个 volatile Config 字段 + 「自带页面」策略 + POST /flow/open-external 路由(协议白名单与平台打开器) | | tests/ | 60 条 node --test:纯逻辑与接线断言 | | scripts/verify-browser.mjs | 真浏览器验收(真实鼠标/键盘事件,--client 可把开发中的浏览器半边替换进去) | | scripts/render-assets.mjs | 生成 README 里的示意图(SVG + 2x PNG) | | assets/ | 示意图产物(手绘生成,不含任何真实会话) | | THIRD-PARTY-NOTICES.md | 按钮图标的出处与 Apache-2.0 正文 | 面向改这个插件的人(架构理由、官方 DOM 契约、运行中实例的缓存规则):见 AGENTS.md。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
d0ublecl1ck/dsh-flow
把会话定位、复制与链接打开改回直觉操作
相关插件 · 其他
模型破甲清洗YuJunZhiXue/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,148已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,266已汉化DSH
70.7
这是你的仓库?认领条目