dsh-theme-brick
界面增强 活跃维护

dsh-theme-brick

ShanHaiFish/dsh-theme-brick

提供暖石膏与火烧黏土砖纹风格的纯token覆盖主题,一砖一色无重复,零全局CSS改动,自带细腻灰缝线条细节,可在通用设置中一键开关,还原系统默认界面无任何残留。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
JavaScript
主要语言
MIT
开源协议
50 KB
仓库大小
23 天前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:ShanHaiFish/dsh-theme-brick
git clone https://github.com/ShanHaiFish/dsh-theme-brick.git
git clone git@github.com:ShanHaiFish/dsh-theme-brick.git
README.md main
# dsh-theme-brick · 砌砖 / Brick **一切皆插件,每一块砖都可承重。*Every plugin is a brick: load-bearing, replaceable, honest.*** A restrained, **token-only** theme layer for [DeepSeek Harness](https://deepseek.com/harness/) Web — warm plaster neutrals, mortar hairlines, one fired-clay accent, and a Settings on/off switch. [![npm version](https://cdnimage-cache.doubi.ren/?url=https://img.shields.io/npm/v/dsh-theme-brick.svg)](https://www.npmjs.com/package/dsh-theme-brick) [![npm downloads](https://cdnimage-cache.doubi.ren/?url=https://img.shields.io/npm/dt/dsh-theme-brick.svg)](https://www.npmjs.com/package/dsh-theme-brick) [![GitHub stars](https://cdnimage-cache.doubi.ren/?url=https://img.shields.io/github/stars/ShanHaiFish/dsh-theme-brick.svg)](https://github.com/ShanHaiFish/dsh-theme-brick) [![GitHub issues](https://cdnimage-cache.doubi.ren/?url=https://img.shields.io/github/issues/ShanHaiFish/dsh-theme-brick.svg)](https://github.com/ShanHaiFish/dsh-theme-brick/issues) [![last commit](https://cdnimage-cache.doubi.ren/?url=https://img.shields.io/github/last-commit/ShanHaiFish/dsh-theme-brick.svg)](https://github.com/ShanHaiFish/dsh-theme-brick) [![license MIT](https://cdnimage-cache.doubi.ren/?url=https://img.shields.io/badge/license-MIT-8B4513.svg)](https://raw.githubusercontent.com/shanhaifish/dsh-theme-brick/main/LICENSE)

Why Brick

The folder name says it: bricks. DSH's architecture is plugs-within-plugs, a wall of bricks —
each unit load-bearing and interchangeable. So the theme follows masonry, not decoration:

  • 面是材料 — surfaces read as limewashed plaster / paper / kiln clay, not glowing glass.
  • 缝是灰缝 — borders are honest, even mortar hairlines with a warm undertone.
  • 一砖一色 — a single fired-clay / ember accent, carried through the exact channels the product itself uses for its brand blue.
  • 克制是纪律 — one theme.overrideTokens() call. No DOM hacking, no global CSS, no animation, no new chrome.

Design rationale: DESIGN.md · phase plans: PLAN-PHASE2-LAYOUT.md

Features

  • 84 live tokens (verified defined + consumed, zero-dead gate) across five phases.
  • Warm palette, both modes — light = plaster & paper, dark = kiln & embers.
  • Settings → General on/off switch for statically installed bundles: toggle the theme off without uninstalling; state persists in localStorage.
  • Composes with any other plugin via token layers; removing restores exactly what was covered.
  • No global CSS — the switch is drawn entirely with theme CSS variables (auto-adapts to light/dark).

Install

As a dsh bundle (recommended)

# From a published release / registry:
dsh plugin --profile web add dsh-theme-brick

# Or from this repository (Windows note: a path with spaces breaks through the
# dsh.ps1 shim — put it on a space-free path first; a junction copies nothing):
#   New-Item -ItemType Junction -Path $HOME\.dsh\plugins-dev\dsh-theme-brick -Target <repo path>
dsh plugin --profile web add "file:C:/Users/<you>/.dsh/plugins-dev/dsh-theme-brick"

dsh --profile web --dump-config   # confirm the `brick` loader entry is composed
dsh web                           # restart to activate (bundle layers compose at boot)

The plugin loads and applies on boot (default on). Open Settings → General → Brick 主题 to toggle it
off (restores the default look) or on; the choice persists across reloads. To fully uninstall:
dsh plugin --profile web remove dsh-theme-brick.

Golden triangle for a dsh bundle: the npm name, the patch layer name, and the client.js
__ModuleLoader__.load({ id }) must all be equal. This package satisfies it (dsh-theme-brick
everywhere). See the dsh plugin install guide.

Developing locally

node scripts/build.mjs          # src/client.js -> lib/client.js (__ModuleLoader__ bundle)
node scripts/verify-plugin.mjs  # materialize + token gate + on/off switch logic tests
node --check lib/client.js

Package layout

lib/client.js         browser half (bundle; served at /plugins/dsh-theme-brick/client.js)
lib/index.js          host half (no-op loader entry)
src/client.js         readable source of truth (token map + switch); build transpiles it
cordis.patch.yml      profile patch — injects the `brick` loader entry
DESIGN.md             design rationale (philosophy, palette, token map, compatibility)
PLAN-PHASE*.md        phase-by-phase plans
scripts/*             build + verification tooling

Contributing

PRs welcome. Design decisions are recorded in DESIGN.md and the phase plans — please read them before
changing tokens. Road rules: override only tokens actually consumed by the product (the
scripts/sweep-tokens.mjs gate enforces it); keep every change composable and reversible; add a regression
check to scripts/verify-plugin.mjs when behavior changes; and respect restraint — no DOM hacking, no
global CSS selectors, no decorative animation.

License

MIT © ShanHaiFish