跳到正文
dsh-market 浏览插件 GitHub EN

AppliedYuu/dsh-WallpaperAndCost

合并插件:壁纸定制(原图不压缩、裁剪编辑器、左/中/右分区不透明度、MP4/WebM 动态壁纸)+ Steam 创意工坊壁纸提取(内置 scripts/extract_scene_pkg.py 解析 scene.pkg/.tex,支持预览/下载)+ DeepSeek 余额与用量小组件 + OpenCode Go 套餐用量(会话顶部药丸按钮显示滚动/周/月用量百分比,点开展开进度条与重置倒计时)。各 API key 均由 host 从 DSH 凭据库读取,不入源码/浏览器。

Star 数 ★ 3 分类 UI 增强 收录于 2026-08-19

安装

在 DeepSeek Harness 里通过 dsh-market 安装

dsh plugin --profile web add dshmarket

或使用命令行

dsh plugin --profile web add github:AppliedYuu/dsh-WallpaperAndCost

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络。请先审阅源码,并尽量锁定 commit(github:owner/repo#sha)。

README

A merged DSH web plugin combining wallpaper customization and the DeepSeek balance & usage widget.

Features

🎨 Wallpaper (壁纸)

  • 8 built-in curated gradients (暮色 / 深渊 / 晨曦 / 森林 / 星夜 / 暖阳 / 青空 / 石墨)
  • Upload your own images at full original resolution (no compression), stored in IndexedDB
  • 动态壁纸:上传 MP4/WebM 视频,自动静音循环播放(铺底 <video> 元素,object-fit: cover)
  • Crop editor: drag to pan + zoom (100%–250%) with a live viewport-proportional preview
  • Independent absolute opacity sliders (0–100%) for the left sidebar, the conversation column and the right sidebar — the right-sidebar slider now drives both the dsh-better-sidebar panel and DSH's official right sidebar (dsh-client-ui-sidebar-right, detected via [data-sidebar-right-panel]); the slider auto-appears whenever either sidebar is present
  • Wallpaper choice persists across restarts (localStorage + IndexedDB)
  • 创意工坊壁纸提取(服务器目录):输入 Wallpaper Engine 创意工坊条目文件夹的绝对路径(…steamapps\workshop\content\431960\<id>),由内置的 scripts/extract_scene_pkg.py 解析 scene.pkg / .tex(含 LZ4 解压、DXT/RGBA→PNG、内嵌 MP4),提取最佳壁纸供预览与下载。需要运行 DSH 的机器装有 Python 3(脚本为纯 Python,Pillow 可选)。
    • 桌面端支持「选择文件夹…」:DSH Desktop(Windows)上可直接用系统原生文件夹选择器选取条目文件夹,自动填入绝对路径,避免手输/粘贴路径出错而报"文件夹不存在"。
    • 路径自动规整 + 明确报错:路径会先去空白、剥成对引号、展开 ~,并校验是否为绝对路径;读取失败会区分「文件夹不存在」「没有权限读取该文件夹(含 Windows 受控文件夹访问拦截)」「路径不是文件夹」,不再把权限问题笼统报成"文件夹不存在"。

🔍 Wallpaper Engine 创意工坊提取脚本

  • 仓库自带独立脚本 scripts/extract_scene_pkg.py,可单独命令行使用:
    python scripts/extract_scene_pkg.py --folder <创意工坊条目文件夹> --out <输出目录>
    python scripts/extract_scene_pkg.py <scene.pkg>          # 或直接解析单个 pkg
    python scripts/extract_scene_pkg.py <scene.pkg> --list   # 只列出包内文件
    
  • 支持容器:PKGV(scene.pkg)、TEXV0005/TEXI0001/TEXB000x(.tex)。内容类型:内嵌 JPEG/MP4、DXT1/3/5→.dds(有 Pillow 转 .png)、RGBA8888/R8 裸像素→.png、其余文件原样导出。
  • 浏览器端另有无需 Python 的「从 Wallpaper 导入」入口(File System Access API 纯 JS 解包),两者互补。

💰 Balance & usage (余额与用量)

  • Balance button in the conversation header: balance, today's consumption, this session's token usage & estimated cost
  • Official DeepSeek CNY price table with peak/valley windows, per-model and per-window breakdown
  • Platform consumption (DEEPSEEK_PLATFORM_TOKEN) is read from DSH's credential store by the host (ctx.credentials.resolve), the same way DEEPSEEK_API_KEY and OPENCODE_GO_API_KEY are — no in-widget token capture
  • The DeepSeek API key never leaves the host (host-side routes only)

🟢 OpenCode Go 用量 (rolling / weekly / monthly)

  • 会话头部新增一个 Go 按钮(与余额按钮并列于顶端):默认只显示滚动 / 周 / 月三个用量的百分比
  • 点开后用进度条展示每个窗口用量,并显示各自的重置时间,以及上次刷新时间与实际使用的密钥名
  • 刷新时机跟随两条 Go 路由的请求:opencodego(自建供应商)与 opencode-go(DSH 官方供应商)任一发出请求(会话事件里的 assistant/message 或 request/header 带 provider),宿主就把用量版本号 +1,前端下次轮询才去上游拉一次;没有请求时前端每 5 秒问的只是本地宿主,宿主直接回缓存(不一定打上游)。点开面板会强刷一次(?force=1)
  • 快照缓存 5 分钟保质、4 秒内合并连发的刷新;上游临时取不到时继续显示上次结果并给出提醒,不会把面板清空
  • 数据来自 OpenCode Go 官方用量接口 GET https://opencode.ai/zen/go/v1/usage(Bearer 鉴权),由 host 端代理,key 通过 ctx.credentials.resolve 按 OPENCODEGO_API_KEY → OPENCODE_GO_API_KEY 顺序解析(前者 401/403 时自动退回后者),从不入源码/浏览器
  • 该接口为社区发现的非官方文档化接口,响应结构可能随 OpenCode 变动;窗口解析做了兼容(usage. 前缀或裸窗口、resetsAt 或 resetsInSeconds)

Install

dsh plugin --profile web add dsh-WallpaperAndCost

or from GitHub:

dsh plugin --profile web add github:<owner>/dsh-WallpaperAndCost

Restart DSH afterwards.

Requirements

  • DSH web profile
  • DEEPSEEK_API_KEY credential (设置 → 模型) for the balance feature
  • Optional DEEPSEEK_PLATFORM_TOKEN (set in 设置 → 模型) for exact platform consumption figures
  • OPENCODEGO_API_KEY(自建 opencodego 供应商)或 OPENCODE_GO_API_KEY(官方 opencode-go 供应商)之一,用于 Go 用量面板

Structure

  • lib/index.js — host half: balance/cost API routes (/api/deepseek-balance, /api/deepseek-session-cost) + workshop extraction routes (/api/wallpaper-workshop/extract, /api/wallpaper-workshop/file) + OpenCode Go usage route (/api/opencode-go-usage, 支持 ?force=1;刷新由 opencodego / opencode-go 的会话请求驱动)
  • lib/client.js — browser half: wallpaper + balance widget + OpenCode usage widget + workshop extraction UI (no build step required)
  • scripts/extract_scene_pkg.py — standalone Wallpaper Engine .pkg/.tex extraction engine (called by the host route; also usable as a CLI)
  • cordis.patch.yml — bundle patch mounting the plugin row

License

MIT

内容来自项目 README(GitHub)↗

评论

评论存放在 GitHub Discussions。用 GitHub 账号登录后可发表评论或点表情。