New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

dsh-opencode-tui-theme

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dsh-opencode-tui-theme

DSH Web 界面 opencode TUI 主题(Client 插件):统一 #0a0a0a 深黑背景、全等宽终端正文、淡紫标题、翠绿内联代码、One Dark 语法高亮、深灰输入框卡片。

latest
npmnpm
Version
1.1.0
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

dsh-opencode-tui-theme

DSH(DeepSeek Harness)Web 界面的 opencode TUI 风格主题(Client 插件)。

让整个对话界面复刻 opencode TUI 的观感:

  • 统一深黑背景 #0a0a0a(像素采样自 opencode TUI 截图)
  • 正文浅灰 #d4d4d4、全等宽终端字体、13px 紧凑字号
  • 标题淡紫 #c084fc、内联代码翠绿 #4ade80(无背景芯片)
  • 代码块柔和亮度分层(#131316 / 横幅 #19191d)+ One Dark 语法高亮
  • 输入框深灰卡片 #1c1c1e,与聊天内容明显分层

v1.1.0 变更

  • 修复 v1.0.0 致命 bug:旧版把卸载清理动作直接写进 ctx.effect(fn) 的函数体, 而 cordis 的语义是「fn 立即执行、返回值才是清理器」——导致样式注入后同一瞬间被 移除,插件显示 active 但界面毫无变化。v1.1.0 已改为正确写法。
  • 新增控制面板:设置 → 插件 → 「Opencode 主题」标签页 —— ● 已启用 / ○ 已停用 状态、启用/停用开关、正文模式(全等宽/无衬线)、 字号(12/13/14px)、代码字体(5 种预设),以及 getComputedStyle 实测 body 背景/字体/字号的生效自检行。

安装(正式 · 开机自启)

npm install dsh-opencode-tui-theme

然后在本机 DSH profile 的 cordis.patch.yml 追加:

- insert:
    - id: opencode-tui-theme
      name: 'dsh-opencode-tui-theme'

刷新浏览器页面即可生效(配置热加载,无需重启 DSH)。之后每次启动自动生效,无需审批。

注意:npm 安装的包要能被 DSH 找到,需装在 DSH profile 的依赖树里 (~/.dsh/profiles 下执行 npm install,或在 profile 的 package.json 中声明)。

启停与验证

  • 开关:设置 → 插件 → 「Opencode 主题」标签页,点「停用风格 / 启用风格」。
  • 验证是否生效:面板底部有一行「实测 body → …」,显示当前 body 的真实 背景色与字体;主题生效时背景应为 rgb(10, 10, 10)、字体以 JetBrains Mono 开头。
  • DevTools 兜底:document.querySelector('style[data-plugin="dsh-opencode-tui-theme"]') 返回 style 元素即已注入。

卸载

删除 cordis.patch.yml 中的 insert 行,然后 npm uninstall dsh-opencode-tui-theme。

工作原理

  • dsh.client: { platform: 'web' } 声明自己是浏览器端插件;
  • DSH 的 dsh-client-modules 扫描组合条目,把 exports["./client"] 指向的 bundle 伺服为 /plugins/<id>/client.js 并注入 window.__DSH_BOOT__;
  • 浏览器内核启动时自动挂载,theme.overrideTokens 覆盖 13 个注册主题 token, 并注入 <style> 覆盖 CSS 层变量(输入框/按钮/代码块/shiki 高亮/字体/字号);
  • 卸载时通过 ctx.effect 的返回值清理 token 层与样式标签。

License

MIT

Keywords

dsh

FAQs

Package last updated on 14 Aug 2026

Related posts