渠道筛选按钮 WhatCannotBeSaid/dsh-im-workspace-buttons
DeepSeek Harness在工作区表头按渠道筛选会话列表
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add WhatCannotBeSaid/dsh-im-workspace-buttons该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · browser
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 10 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH 插件:侧边栏工作区标题行里,每个 @xmanrui/dsh-im 频道对应一个频道入口,点击后把会话列表筛选到该频道。从 eva-inspired-theme 中提取。
README
由 DeepSeek 最新模型翻译生成工作区旁按钮
在官方「工作区」表头行里,每个已接入的 @xmanrui/dsh-im 渠道放一枚 28×28 图标按钮。点一枚只说该渠道的会话;再点一次回到官方列表。
本包是从 eva-inspired-theme 里剥出来的单功能插件:只保留这组按钮,不带来皮肤、不做主题替换,不依赖主题的 CSS、locale 命名空间或构建流程。
安装
1. 装包
npm install dsh-im-workspace-buttons --prefix ~/.dsh/profiles/desktop --registry=https://registry.npmjs.org
2. 把它加进 profile 的 bundle 列表(<profileDir> = ~/.dsh/profiles/desktop) package.json 的 dsh.profile.bundles 里追加 "dsh-im-workspace-buttons"
装完重启 DSH。本包自带 dsh.bundle.patch,不需要手改 cordis.patch.yml;但 profile 的 dsh.profile.bundles 必须包含本包名,否则 loader 不会挂载它。
前置条件:@xmanrui/dsh-im 与至少一个已接账号的渠道,否则按设计一枚按钮都不显示。
展开完整文档(README 剩余 1 节)
工作区旁按钮
在官方「工作区」表头行里,每个已接入的 @xmanrui/dsh-im 渠道放一枚 28×28 图标按钮。点一枚只说该渠道的会话;再点一次回到官方列表。
本包是从 eva-inspired-theme 里剥出来的单功能插件:只保留这组按钮,不带来皮肤、不做主题替换,不依赖主题的 CSS、locale 命名空间或构建流程。
安装
1. 装包
npm install dsh-im-workspace-buttons --prefix ~/.dsh/profiles/desktop --registry=https://registry.npmjs.org
2. 把它加进 profile 的 bundle 列表(<profileDir> = ~/.dsh/profiles/desktop) package.json 的 dsh.profile.bundles 里追加 "dsh-im-workspace-buttons"
装完重启 DSH。本包自带 dsh.bundle.patch,不需要手改 cordis.patch.yml;但 profile 的 dsh.profile.bundles 必须包含本包名,否则 loader 不会挂载它。
前置条件:@xmanrui/dsh-im 与至少一个已接账号的渠道,否则按设计一枚按钮都不显示。
从主题版迁移
eva-inspired-theme 1.2.0 起不再包含这组按钮。两个包不要同时装:
- 主题版用的是 data-eva-im- 契约与 eva-im-filter locale 命名空间,本包用 data-dsh-im- 与 dsh-im-workspace-buttons。同时装会在同一行出现两套按钮,且样式互不覆盖。
- 升级到 eva-inspired-theme@1.2.0 后装上本包即可无缝替换;交互、图标、顺序、可见性规则一致。
行为
| 插件 id | dsh-im-workspace-buttons(client 模块 id、locale 命名空间同名) |
| 出现在哪 | 官方 sidebar.workspaces.directoryFlow 标记所在的表头行,搜索槽左侧,按渠道表顺序 |
| 显示条件 | 对应渠道已接入才显示:connection.status 返回 bots[] 里有非空 botId,或旧版返回的 configured: true;探测不出结论(RPC 未就绪、请求失败)时首轮不画、之后保留上次结论 |
| 点击 | 只显示该渠道的会话行(按 data-dsh-im-session-channel 或行文本前缀认出);再点一次回到官方列表 |
| 折叠分组 | 只有点击时才展开、翻页、滚动到该渠道的首个会话,且以 CLICK_LIMIT = 200 步为上限 |
| 标签 | 走 Client locale 服务;跟随 profile 语言切换,注册表缺失时回退中文 |
| 不受影响 | 官方分组、折叠状态、spy 计数、会话顺序;不重排、不隐藏官方按钮 |
样式契约
样式由 runtime 自己注入一份 ,颜色全走 --dsw- 令牌:
| 选择器 | 作用 |
| [data-eva-im-button] | 28×28、无边框、无背景、--dsw-radius-sm 圆角、--dsw-alias-label-secondary 前景 |
| [data-eva-im-button]:hover | 前景转 --dsw-alias-label-primary |
| [data-eva-im-state='on'] | 已选中的那枚转 --dsw-alias-brand-primary |
| [data-eva-im-tree] [data-row-key]:not([data-eva-im-row='on']) | 非该渠道的会话行隐藏 |
选择器前缀沿用 data-eva-im-(提取时逐字保留,未改名),改前缀会破坏与 eva-inspired-theme 的样式兼容性。
注意第四条规则:不能用「JS 不写属性」表达 off —— 必须显式写 data-eva-im-row='on',否则一行都藏不住。
依赖
| 依赖 | 性质 |
| @xmanrui/dsh-im | 运行时必需。渠道表与状态探测都读它的 connection.status;未安装则一枚按钮都不显示 |
| 宿主 client 服务 sessions / workspaces / locale / connection | 只通过 ctx.get 取,不 import 宿主包 |
| eva-inspired-theme | 不需要。样式、locale 命名空间、构建都已内置 |
开发
node tools/build-client.mjs # 用 src/runtime.js 重写 client.js 的 runtime 段
node tools/build-client.mjs --check # 断言 client.js 与 src/runtime.js 一致
node --test --test-timeout=15000 test/*.test.mjs # 14 条行为测试,假 DOM,不需要浏览器
node test/render.mjs # 真浏览器:隔离 profile + 本包 + dsh-im,截图与交互断言
client.js 里的 runtime 是副本不是 import:client 模块加载器按经典脚本求值 client.js,文件里不能有模块图。tools/build-client.mjs 负责保持一致。
文件
| 文件 | 作用 |
| index.js | host 入口,ESM,export apply(ctx);只打一行日志,无 service / route / Config |
| client.js | 浏览器入口,window.__ModuleLoader__.load({ id, factory }),内含 runtime 副本 |
| src/runtime.js | runtime 真源(export function mountWorkspaceButtons(ctx)) |
| cordis.patch.yml | - insert: [{ id, name }],同时是浏览器 roster 的入口 |
| locale/zh.json · locale/en.json | meta.title / meta.description + 12 渠道文案 |
| tools/build-client.mjs | 把 src/runtime.js 内联进 client.js,--check 校验一致 |
| test/fake-dom.mjs · test/behaviour.test.mjs | 假 DOM 与 14 条行为断言 |
与主题版的三处偏离
1. locale 命名空间 从 eva-im-filter 改为 dsh-im-workspace-buttons。注册表对同名命名空间取先注册者的字典,两个包共用会互相盖掉;回退语言从 DICT.en 改为 DICT.zh,因为这套文案本来就是中文写的,未翻译的语言读中文比读英文对。
2. 样式从 theme.css 搬进 runtime 自己的 (data-dsh-im-workspace-buttons-sheet)。
四条规则逐字照抄,选择器、尺寸、颜色令牌不动。
3. disposer 多收一次 removeSheet()。主题里样式跟着皮肤文档走,插件卸掉后规则还留在 里;独立包里「卸载后不应继续影响文档」是必须遵守的约定,所以按钮和规则一起撤。
除这三处外,行为、渠道表、图标、探测间隔、点击上限、选择器都与主题版逐字一致。
许可
MIT — 见 LICENSE。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
WhatCannotBeSaid/dsh-im-workspace-buttons
在工作区表头按渠道筛选会话列表
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,967已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目