shuimo-skin
界面增强 活跃维护

shuimo-skin

cnskycn/shuimo-skin

提供适配DeepSeek Harness Web的水墨主题皮肤,采用宣纸柔和暖调配色,搭配水墨竹、山峦、寒梅、印章及落叶动态装饰元素,还原东方传统美学氛围,安装即用无需额外配置。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
JavaScript
主要语言
MIT
开源协议
6 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:cnskycn/shuimo-skin
git clone https://github.com/cnskycn/shuimo-skin.git
git clone git@github.com:cnskycn/shuimo-skin.git
README.md main

shuimo-skin

水墨国风皮肤 (Ink-Wash Chinese-style skin) for DeepSeek Harness (dsh) Web.

Transforms the default dsh web UI into a warm rice-paper ink-wash painting: a bamboo branch hanging from the top-right corner, distant mountains in the bottom-left, an old plum blossom twig and a vermilion "墨" seal in the bottom-right, with bamboo leaves drifting down the whole screen.

Features

  • Rice-paper warm palette — light & dark theme token overrides (cream, ink, vermilion accent)
  • Ink decorations — SVG bamboo / mountains / plum / seal, positioned at the screen corners
  • Falling bamboo leaves — Web Animations API, GPU-friendly, negative delay so leaves are scattered from the start
  • Fully reversible — unloading the plugin restores the default skin exactly
  • Zero dependencies — pure DOM + inline SVG + Web Animations API; nothing imported from the module table

Requirements

  • DeepSeek Harness (@deepseek-ai/dsh) with the web profile
  • A Chromium-based browser (Electron included)

Installation

pnpm dsh plugin --profile web add shuimo-skin
pnpm dsh --profile web

Or add it to your profile's cordis.patch.yml:

- insert:
    - id: shuimo-skin
      name: 'shuimo-skin'

To disable the skin, comment out the insert and restart.

How it works

The skin is a pure browser-side feature. The host half (lib/index.js) exists only so the loader row resolves and activates; all real work happens in the client bundle (lib/client.js):

  • reads the theme service from the client context and overrides the dsh theme tokens
  • builds the corner decorations as plain DOM + inline SVG
  • runs the falling leaves on the Web Animations API
  • registers the cleanup via ctx.effect, so unloading restores the default skin

License

MIT