用瀑布墙卡片快速进入各个功能面板
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add yangsong608/dsh-portal该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 2 处,展示前 2 条)
- 读取本地文件lib/index.js:45
body = readFileSync(full); - 读取本地文件src/host/index.ts:54
body = readFileSync(full)
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH 工作台门户插件:双宽瀑布墙首页 + 极光底图 + 快捷入口
README
由 DeepSeek 最新模型翻译生成工作台门户插件(dsh-portal)
DSH 的门户插件:启动 DSH 后先落到「工作台门户」——双宽瀑布墙(主卡 2 格宽高块、小卡 1 格矮块,按当前最矮列贪心铺排,列数随容器 2/3/4 自适应),主卡叠极光底图(亮/暗成对,随主题切换;进入门户随机分配、同屏不重样),卡片用内联 Lucide 线性图标 + accent 图标砖;点卡进入对应面板;左侧原有快捷菜单与其跳转完全不变。
- 状态:已实施(T1-T5 全链验收 + 瀑布流/底图增量 + v3 视觉改版;对应设计稿 ../docs/10-工作台门户插件设计稿.md、实施计划 ../docs/11-工作台门户插件实施计划.md)。
- 工程契约:照抄 ../../bjjy/模拟法庭插件(双 tsdown 构建、客户端「模块工厂」三行壳、宿主产物不压缩)。
- 宿主半:占位日志 + 一张卡片底图静态路由(/portal-assets/* → assets/);其余全部在浏览器半:卡片目录从 ctx.slots.entries('main') 动态枚举,配置存本机 localStorage。
目录
- src/host/index.ts 宿主半侧:占位日志 + /portal-assets 静态路由(白名单文件名、防目录穿越、404 兜底、svg mime + 缓存头)。
展开完整文档(README 剩余 1 节)
工作台门户插件(dsh-portal)
DSH 的门户插件:启动 DSH 后先落到「工作台门户」——双宽瀑布墙(主卡 2 格宽高块、小卡 1 格矮块,按当前最矮列贪心铺排,列数随容器 2/3/4 自适应),主卡叠极光底图(亮/暗成对,随主题切换;进入门户随机分配、同屏不重样),卡片用内联 Lucide 线性图标 + accent 图标砖;点卡进入对应面板;左侧原有快捷菜单与其跳转完全不变。
- 状态:已实施(T1-T5 全链验收 + 瀑布流/底图增量 + v3 视觉改版;对应设计稿 ../docs/10-工作台门户插件设计稿.md、实施计划 ../docs/11-工作台门户插件实施计划.md)。
- 工程契约:照抄 ../../bjjy/模拟法庭插件(双 tsdown 构建、客户端「模块工厂」三行壳、宿主产物不压缩)。
- 宿主半:占位日志 + 一张卡片底图静态路由(/portal-assets/* → assets/);其余全部在浏览器半:卡片目录从 ctx.slots.entries('main') 动态枚举,配置存本机 localStorage。
目录
- src/host/index.ts 宿主半侧:占位日志 + /portal-assets 静态路由(白名单文件名、防目录穿越、404 兜底、svg mime + 缓存头)。
- src/client/index.ts 浏览器半侧:注册 main key=portal 面板 + sidebar.panellist id=portal 侧栏图标;启动选中落点(loader.await → selectPanel('portal'));瀑布渲染 + 图标砖 + 主卡底图(CSS 变量亮/暗对切)/遮罩层;卡片点击跳转。
- src/client/portal.ts 卡片模型:discoverCards(枚举→卡片,排除门户自身;icon 空串=内置 SVG、非空=自定义覆盖)、描述字典、planMasonry(瀑布坐标)、assignBackdropPairs/BACKDROP_POOL/BACKDROP_POOL_DARK(亮/暗成对洗牌分配)、readPrefs/writePrefs、ICON_SET(12 个可选 emoji)。
- src/client/icons.ts 图标集:内联 Lucide 线性图标(message-circle/clapperboard/scale/file-text/puzzle/clock/layout-grid/settings)+ 每面板 accent 配色。
- src/client/ui.ts UI 基元:走 DSH --dsw- token;ensurePortalCss() 注入卡片 hover/暗色底图/遮罩/图标砖样式(伪类与主题切换内联样式表达不了)。
- assets/backdrops/ 20 张极光底图(亮 aurora-1..10 + 暗 aurora-dark-1..10,同序号同色族,程序化 SVG)。
- cordis.patch.yml 安装后生效的插件行(id: portal,name: dsh-portal)。
- scripts/gen-backdrops.mjs 极光生成器(确定性种子,可重跑再生亮/暗各 10 张)。
- scripts/verify-bundle.mjs 自证:产物新鲜度门 + 产物形态 + 门户静态锚点 + 资产目录/路由行为(30 项,全 PASS 才算过)。
构建与自证
pnpm install
pnpm run bundle # 产 lib/index.js(宿主,ESM 未压缩)与 lib/client.js(浏览器「模块工厂」包裹)
pnpm run verify # 形态与静态锚点自证:30 项全 PASS、退出码 0 才算过
安装进 DSH(开发验证用)
在 DSH 目标配置档(如 deepseek-harness/apps/desktop/.desktop-build/development/home/profiles/desktop/)中:
1. package.json 的 dependencies 加 "dsh-portal": "link:<本目录绝对路径>",dsh.profile.bundles 数组追加 "dsh-portal";
2. 该配置档目录 pnpm install;
3. 重启桌面(pnpm run start:desktop,工作目录 deepseek-harness/)。
启动日志出现 [dsh-portal] host half loaded;界面侧栏出现「门户」图标(order 置最前),启动即落门户页。
行为
- 启动落门户:每次启动(不做「记住上次」)等装载就绪后抢选中门户;时序异常时放弃抢占(不报错),经侧栏图标可进入。
- 点卡跳转:整卡热区,主/小卡行为一致;「对话」卡走 selectPanel(null)(官方回会话语义),其余取卡 key(selectPanel(key));失败仅 console.warn。
- 侧栏门户图标:新增「门户」图标可随时回门户;其余侧栏图标与其跳转一个不动。
- 管理卡片:门户页右上「管理卡片」(齿轮为内联 SVG)进入管理态(该按钮变「✓ 完成」)——每卡右下浮出「设主卡 / 改小卡」与「换图标」;「换图标」弹层 = 内置 12 图标集 + 「或直接输入任意 emoji / 字符」输入框 + 「确定」。所有更改即时生效、即时写入本机存储。
- 默认分类:对话 / 短剧工坊 / 模拟法庭 = 主卡(2 格宽高块),其余已装面板 = 小卡(1 格矮块);卡片集合随面板注册变化(插件启停/HMR)动态跟随。
- 瀑布墙:总宽 640 居中;列数随容器宽度自适应(窄 2 / 中 3 / 宽 4,640 下为 3 列);主卡先落位、小卡后填,再按「当前最矮列」贪心铺排——同列卡片竖向紧邻(间距=网格 gap 12px,无大空隙)。
- 卡片底图(v3 极光):仅主卡带底图——10 组亮/暗成对(同序号同色族)随机分配、同屏不重样,经 CSS 变量随主题切换(aurora-N ↔ aurora-dark-N);底图上覆主题遮罩(color-mix 主题面 52%,明暗自适应),小卡回归纯面。每次进入门户重新随机。
- 图标(v3):默认内置内联 Lucide 线性图标 + accent 色图标砖(12% 透明底,随主题提亮);「换图标」设为任意 emoji/字符后按自定义覆盖渲染。
- 卡片观感(v3):圆角 20,发丝描边(label 10% → hover 20%),hover 上浮 2px(150ms 过渡),排版遵循 Ant 中文规范(页题 18/600、卡名 15(14)/500、描述 13/1.6)。
配置存储与复位
- 配置存本机 localStorage['dsh-portal.prefs'],结构 { "cardKinds": { "面板key": "main" | "small" }, "iconOverrides": { "面板key": "图标" } }。
- 复位方法:删除该项即可回到默认态(默认分类 + 默认图标):
localStorage.removeItem('dsh-portal.prefs')
- 注意桌面端为懒提交(写入后约数秒才落 leveldb);若要「改配置后立即重启进程验证」,请留数秒落盘窗口再重启,否则未提交写入会丢(进程正常退出不受影响)。
边界
| 情形 | 行为 |
| 插件未安装 | 不出现卡片、不出现侧栏图标(无置灰态) |
| 面板 key 无侧栏 label | 名称回退内置中文表(如对话),再回退裸 key |
| localStorage 不可用 | 读回默认、写静默失败,不报错、不阻塞 |
| 启动时序异常 | 重试后放弃抢占(不报错),侧栏图标兜底可进门户 |
| 底图路由/文件不可用 | 主卡无底图降级(卡底色兜底,遮罩与文字照常),不报错 |
| 插件被禁用/卸载 | 回归 DSH 原状(启动落点=会话),零残留(无宿主数据、无写盘) |
硬约束
- 宿主产物禁止压缩;客户端禁止打包 react 等基线九模块(只从宿主取)。
- 样式全走 DSH token(--dsw-),不硬编码色值(弹层/按钮/卡片描边与遮罩同口径;唯一例外:图标 accent 为面板身份色、底图为生成资产,均非主题色)。
- 无业务写盘:唯一持久面为浏览器 localStorage 键 dsh-portal.prefs;宿主仅注册只读静态路由。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
yangsong608/dsh-portal
用瀑布墙卡片快速进入各个功能面板
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,798已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,327已汉化DSH
71.5
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,021已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 150,724已汉化DSH
71.1