Lhy723/dsh-neu-theme
DeepSeek Harness Web 的轻拟物与磨砂玻璃主题插件,提供浅色/深色主题、环境光、材质纹理和细腻微交互。Neumorphism + glassmorphism theme plugin for DeepSeek Harness Web with warm light/dark palettes, ambient lighting, grain texture, and subtle micro-interactions.
已收录
3
Theme
Bundle 已验证
预览
功能介绍
DSH Web 轻拟物主题:提供浅色与深色配色、环境光影、材质阴影、纹理、磨砂玻璃表面与微交互。
适合
- 偏好轻拟物与磨砂玻璃视觉风格的 DSH Web 用户。
- 希望在浅色和深色主题间选择并持久保存偏好的用户。
- 材质化表面和遵循减少动态效果设置的微交互能改善个人阅读或使用体验的界面。
不适合
- 无界面或非 Web 的 DSH 环境,因为该插件只改变浏览器端外观。
- 偏好 DSH 原生外观或极简视觉效果的用户;选择 Default 时界面不会改变。
- 需要新增 agent、工具或会话功能,而非视觉主题的工作流。
README
dsh-neu-theme
A Neumorphism (soft-UI) theme plugin for DeepSeek Harness web — gentle raised-and-recessed surfaces in a cream light palette and an ink-dark palette, complete with ambient lighting, material gloss, grain texture, glassmorphism and micro-interactions.
中文说明见 README.zh.md。
Features
-
Two themes registered into the built-in ThemeRuntime:
-
neu-light— cream warm-white canvas, soft slate-blue accent -
neu-dark— ink-blue night canvas, luminous indigo accent
-
- Lighting — ambient top glow + corner fill painted on the visible surfaces (conversation canvas, sidebar, details column), not just body.
- Material — three-layer shadows (contact + cast + top-edge highlight), 145° gloss gradients aligned to the light direction, code blocks with a backlit inner wall.
- Texture — fine grayscale grain (inline SVG feTurbulence) over the canvas, sidebar, details column and code blocks.
-
Glassmorphism — the composer capsule and its popovers (permission
menu, model menu, context panel) share one frosted-glass language: the
card’s blur lives on a
::beforepseudo-layer so the nested popovers keep their own realbackdrop-filterblur (the card is not their backdrop root). -
Micro-interactions — conversation nodes fade in on mount, bubbles
lift on hover, the composer recess deepens on hover/focus, tool rows and
reasoning rows strengthen on hover; all gated under
@media (prefers-reduced-motion: no-preference). - Settings row — Settings → General gains a Neumorphism picker (Default / Neu Light / Neu Dark), persisted in localStorage.
- Default is pristine — selecting Default (or having no saved skin) leaves the document exactly as dsh ships it: no injected stylesheet, no body attribute, native colors and shadows.
Preview
Neu Light
Neu Dark
Install
Install the published package into a dsh profile (works with the web
profile):
dsh plugin --profile web add dsh-neu-theme
# or install manually in the web profile:
cd ~/.dsh/profiles/web
pnpm add dsh-neu-theme
The package is also available on npm.
Then add "dsh-neu-theme" to dsh.profile.bundles in the profile’s
package.json, and restart dsh web.
Once running: Settings → General → Neumorphism theme → pick
Default / Neu Light / Neu Dark. The choice is stored in
localStorage under dsh-neu:skin (clear the key to go back to the
built-in appearance).
Develop
npm run build # regenerates lib/client.js from src/client.tpl.js + themes/*.json
npm run check # syntax-checks the built bundles
While dsh web runs with the HMR chain mounted, rebuilding
lib/client.js is picked up by the polling watcher and hot-reloads only
this plugin’s fiber.
Repository layout
dsh-neu-theme/
├── package.json # dsh.bundle.patch + dsh.client manifest
├── cordis.patch.yml # loader entry insert (id: neu-theme)
├── themes/ # neu-light.json / neu-dark.json — the palettes
├── src/
│ ├── index.js # host half (no-op loader entry)
│ └── client.tpl.js # browser half template (build injects themes)
├── scripts/build.mjs # zero-dependency build
└── lib/ # generated artifacts (gitignored)
License
MIT
常见问题常见问题
在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:Lhy723/dsh-neu-theme。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。
兼容性以页面上展示的 bundle 与 profile 状态为准。如果某个 profile 尚未检测到,请先保持禁用,并在生产启用前阅读仓库文档。
GitHub 链接和 activity 元数据是 release 与维护状态的来源。新版本发布后重新查看本页,确认目录已经观察到最新版本。