Claude Harness:在 macOS 上把 DeepSeek Harness 打包成 Claude 风格

前言

DeepSeek Harness(DSH)是一款本地桌面客户端,专注于智能体开发。在使用过程中,有时希望界面和启动体验更贴近 Claude 的设计语言。这款插件正是为此设计:它把 Claude Code 的 UI 风格、Claude 的应用图标,以及 macOS 上“Claude Harness”的名称,统一打包到 DSH 中。

插件定位

  • 名称:dsh-claude-harness
  • 维护者:Yesyugao
  • 平台:macOS(仅 darwin)
  • 依赖:Node.js ≥ 22.6,以及 dsh-claude-style(通过 npm 安装)
  • 许可证:MIT

核心功能

1. Claude Code 风格 UI

插件依赖 dsh-claude-style,提供 Claude Code 的界面风格。当你在 DSH 中启用该插件后,应用主窗口会呈现相应的配色与布局。

2. Claude 应用图标

插件自带 assets/Claude.icns,覆盖 Contents/Resources/icon.icns。图标为 1024×1024 的圆角矩形,色值为 #D97757,Claude 标志居中。

3. macOS 应用名称

通过修改 CFBundleName / CFBundleDisplayName,将应用显示名称改为“Claude Harness”,并将 .app 文件重命名为 Claude Harness.app。

4. 可选的品牌化流程

插件不会在加载时自动修改应用,而是通过命令行或 HTTP 接口进行“品牌化”,这是 opt-in 的。这避免了因签名不完整导致 macOS 杀掉应用。

5. 中文衬线体补丁

dsh-claude-style 的衬线字体栈以 "Anthropic Serif Web Text","Claude Style Noto Serif" 开头,但这两个族名不含汉字字形。插件在 lib/client.js 中为栈首族名补了一个只覆盖汉字的 @font-face,汉字使用系统宋体(Songti SC / Noto Serif SC / Source Han Serif SC),拉丁字母仍由 Anthropic Serif 出图。不安装 Anthropic 字体也能生效。

安装与启用

步骤 1:进入 DSH 配置目录

cd ~/.dsh/profiles/desktop          # 或你的 profile 目录

步骤 2:安装插件与 UI 依赖

从 GitHub 安装:

npm install "github:Yesyugao/dsh-claude-harness" dsh-claude-style

或从本地检出安装:

npm install "link:/path/to/dsh-claude-harness" dsh-claude-style

步骤 3:在 profile 的 package.json 中声明 bundles

在 ~/.dsh/profiles/desktop/package.json 的 dsh.profile.bundles 中添加两个包名:

{ "dsh": { "profile": { "bundles": ["...", "dsh-claude-style", "dsh-claude-harness"] } } }

步骤 4:重启 DSH

插件列表在启动时读取,修改配置后重启应用即可生效。

典型用法

命令行操作

dsh-claude-harness status            # 查看当前 bundle 状态
dsh-claude-harness apply             # 应用 Claude 风格(图标、名称、签名、重命名,幂等)
dsh-claude-harness restore           # 恢复为原始图标与名称
dsh-claude-harness apply --app /Applications/DeepSeek\ Harness.app --json

apply 会按顺序执行:

  1. 检查 CFBundleIdentifier 是否为 com.deepseek.dsh,否则拒绝
  2. 备份 Info.plist 与 icon.icns 到 ~/.dsh/dsh-claude-harness/backup/
  3. 安装 assets/Claude.icns
  4. 设置 CFBundleName / CFBundleDisplayName 为 Claude Harness
  5. 重新签名(仅顶层 ad-hoc,使用 codesign --force --sign -,--deep 在运行中的 helper 组件上会报“Operation not permitted”)
  6. 最后将 bundle 重命名为 Claude Harness.app,刷新 LaunchServices,并验证 codesign --verify

若 3–5 步的值已匹配,则跳过,因此重复执行开销很小。

HTTP 接口

插件提供本地 HTTP 服务,DSH 应用可调用:

GET  /dsh-claude-harness/status
POST /dsh-claude-harness/apply
POST /dsh-claude-harness/restore

版本更新后重置

每次 DSH 更新会替换 bundle,品牌化会丢失。建议在更新后再次运行 dsh-claude-harness apply 以恢复 Claude 风格。

适用场景与注意

适用场景

  • 希望在 macOS 上使用 Claude Code 风格 UI 的 DSH 用户
  • 需要将 DeepSeek Harness 的启动体验与 Claude 对齐的开发者

注意事项

  • 仅支持 macOS,Node.js ≥ 22.6
  • 品牌化通过 ad-hoc 重新签名,会重置 TCC 权限;macOS 可能再次询问文件夹访问权限
  • restore 从备份恢复,不是从不同应用版本恢复
  • 安装前建议检查源码与许可证
  • 若在 DSH 中将字体设置选为“跟随宿主”,字体栈只有 --dsw-font-family(无衬线),中文衬线体补丁不会介入

小结

这款插件将 Claude Code 的 UI 风格、应用图标与 macOS 名称统一到 DSH 上,并提供命令行与 HTTP 接口进行品牌化。安装后重启应用,运行 dsh-claude-harness apply 即可启用。

  • 目录页:https://www.skillhub.cn/plugins/Yesyugao/dsh-claude-harness
  • GitHub:https://github.com/Yesyugao/dsh-claude-harness
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜