Skip to main content
S

dsh-my-newhome

semonxue/dsh-my-newhome

Replaces the DeepSeek Harness home screen with a configurable palette and background image, a custom hero and sidebar logo, default 3×2 decks of recently used workspaces and quick links (local Chrome history or a custom list), and up to four API-usage widgets (DeepSeek balance, MiniMax, Cline Pass, OpenCode Go) refreshed on a configurable interval. The decks stay on the new-session screen and every option is edited from a built-in settings panel.

Install

dsh plugin --profile web add github:semonxue/dsh-my-newhome

README

dsh-my-newhome · DSH 自定义主页

给 DeepSeek Harness 桌面端换一整套首屏:配色、背景图、工作区卡片、常用入口、API 用量组件、自定义 Logo。 不改 DSH 本体,装/卸一个插件即可。MIT。

首页示意

装上

桌面端 profile 由 Electron 独占管理,dsh plugin --profile desktop add 会被拒绝。两种装法:

  • 插件管理器(推荐):设置 → 插件 → 选本地目录。
  • 手动挂载:在 ~/.dsh/profiles/desktop/package.json 的 dependencies 加 "dsh-my-newhome": "link:<仓库路径>", dsh.profile.bundles 末尾加 "dsh-my-newhome",再建软链 ln -sfn <仓库路径> ~/.dsh/profiles/desktop/node_modules/dsh-my-newhome。

装完重启 DeepSeek Harness;卸载删掉这三处再重启。

有什么

功能位置 / 说明
配色 / 背景图 / 自定义 Logo主题 token、固定背景层、hero + 侧栏品牌位
最近工作区(3×2)输入框上方,默认按「最近使用」排序(最后一次对话时间,可切活跃度 / 会话数);标题行右侧 ↻ 立即重读,每次回到首页也会自动重读一次
常用入口(3×2)同上,自动抓本机 Chrome 常访问站点 + 自定义 JSON 入口
自定义组件(最多 4 个)同上,标题行带 ↻,点卡片本身也会刷新整行
设置面板卡片下方 ⚙ 自定义主页,所有选项都在里面

卡片只在首页(新会话)出现,打开历史对话自动隐藏;宽度跟随输入框实测宽度,换窗口也严丝合缝。

0.4.0 起默认排序从「活跃度加权」改为「最近使用」(按每个工作区最后一次对话时间)。旧配置会自动迁移一次; 想恢复旧行为,在设置面板里切回「活跃度」。取数时机:每次打开页面 / 回到窗口时自动重读一次, 标题行右侧 ↻ 可随时手动重读。

组件行(API 用量)

数据 60 秒缓存、默认 5 分钟轮询(1–60 可调);取数失败显示 — 和原因,不影响其它卡片。

供应商显示来源
DeepSeek余额官方余额接口
MiniMax大字 5 小时已用 %,小字本周已用 %(本周不限显示「不限」)coding-plan 配额接口
Cline Pass大字 5 小时已用 %,小字本周 / 本月已用 %订阅额度接口,悬停看重置时间
OpenCode Go与 Cline Pass 同款;rate-limited 时整卡转红并提示 Extra UsageGo 订阅用量接口,悬停看重置时间与本机 token 累计
其它本机 token 累计session_projcache 投影统计

三个额度组件口径统一:大字 = 5 小时窗已用 %,小字 = 本周、本月已用 %(同一顺序、同一方向); 颜色跟最满的那个窗口走(任一窗口 ≥80% 转黄,厂商明确报 rate-limited 才转红),大字仍然是 5 小时窗。

key 从 $DSH_HOME/.credentials.yaml 读,永不下发浏览器。加供应商:lib/index.js 的 PROVIDER_DEFS 加一条,再在 lib/client.js 的 WIDGET_PROVIDERS 加下拉项即可。

数据

$DSH_HOME/dsh-my-newhome/
  config.json          # 配色、透明度、排序策略、入口与组件列表
  background.<ext>     # 背景原图
  logo.<ext>           # 自定义 Logo

图片走插件自己的路由 /dsh-my-newhome/asset(带 ETag,只监听回环 + 同源校验),不写进 cordis.patch.yml。

开发

node test/host.test.mjs      # 宿主半边 102 条断言
node test/client.test.mjs    # 浏览器半边 26 条断言(排序契约)

preview.html 是静态预览页。布局方向的自由网格原型在 docs/prototype/:双击 docs/prototype/index.html 即可体验 24 栏 1×1 网格、右侧组件抽屉、可开合 DSH 侧栏与深浅色切换。

组件生态(发行 / 开发 / 分享 / 数据边界)的设计见 docs/widget-distribution.md;其中「最小标准封装的 JS」已做成可运行 PoC:docs/prototype/sandbox-demo/(沙箱 + 权限桥 + 越权探针实测),起本地服务即可体验。

插件展示元数据按官方 插件显示约定 放在 locale/en.json、locale/zh.json 和 icon.svg,Plugins 页显示「Custom homepage / 自定义主页」。

边界

  • Safari 历史受 macOS TCC 保护,需要「完全磁盘访问」;Chrome 可直接读。
  • 侧栏 Logo 槽位需要 0.2.1+ 桌面运行时,旧版只替换首屏 Logo。
  • DSH 内部槽位没有版本兼容承诺,接口缺失时静默降级。

Related plugins