deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:Gan332/dsh-typography
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
DeepSeek Harness Web UI 的字体入口是两个 CSS 变量:--dsw-font-family(界面)与 --ds-font-family-code(代码),全部组件经 var() 消费。dsh-typography 把它们变成两组互相独立的选择:
woff2/ttf/otf 丢进 %DSH_HOME%\typography\,刷新后一键应用 —— TTF 直接可用,无需转 woff2font-weight: 100 900 的 @font-face,粗细真实呈现defineStore 引擎位于 @deepseek-ai/dsh-client-store,但该包不带 dsh.client 声明、不会进入客户端模块表,因此插件内置最小快照 store 引擎(动作签名与官方契约一致:(draft, ...args) => void);dsh.client.inject 只声明各版本都提供的核心服务(slots / locale)本插件为双面插件(host 半边分发本地字体文件,浏览器半边提供注册表与设置行),安装后出现在 设置 → 通用 → 字体(界面 / 代码)。
安装方式:
DeepSeek Harness 有两个入口,各自有独立的 profile —— 在哪边用就装进哪边:
# DSH Desktop 桌面应用(默认端口 43120)
dsh plugin --profile desktop add github:Gan332/dsh-typography
# 命令行 dsh web(默认端口 3080)
dsh plugin --profile web add -w /path/to/dsh-typography
# 本地目录(profile 目录是 pnpm workspace 根,必须加 -w)
然后重启对应入口。桌面端注意:终端安装会记入一个恢复事务,重启应用后自动验证并清理;连续安装多个插件时需逐个重启。
切换字体: 每组点击卡片实时应用;“默认”恢复系统字体栈。
导入自定义字体: 在对应组的编辑区填写三项后点“添加”:
| 字段 | 说明 |
|---|---|
| 字体名 | 任意名称,用于在字体栈中引用(如 MiSans) |
| 字体链接 | 见下方“字体链接写法”,支持 woff2 / ttf / otf |
| 字重 | 400 常规 · 500 中等 · 600 半粗 · 700 粗体 · 可变·全字重。静态字体选与文件实际粗细一致的字重;可变字体(如 MiSans VF)选“可变·全字重”即可获得全部真实粗细 |
点“添加”后立即应用,刷新后仍生效;同一字体名 + 同一字重复加覆盖旧条目,“移除”删除。
本地字体库:
copy C:\Users\fish\Downloads\MiSansVF.ttf $env:USERPROFILE\.dsh\typography\
刷新页面 → 对应组 → 本地字体库 → 点击 MiSansVF。以“可变·全字重”接入,零转换。
字体链接写法 —— 优先推荐同源相对路径(与端口无关):
/plugins/dsh-typography/files/MiSansVF.ttf ✅ 推荐(同源路径)
http://127.0.0.1:43120/plugins/dsh-typography/... ⚠️ 可用,端口变化后失效
https://cdn.example.com/some-font.woff2 ✅ 外部 CDN 直链
浏览器半边在 apply 时把注册表挂到根上下文,其它插件可用 ctx.get("typography") 消费:
const typography = ctx.get("typography")
// 两组独立选择:"ui" | "code"
typography?.select("code", "inter-jetbrains")
typography?.setCustom("ui", [
{ family: "MiSans", weight: "100 900", src: ["/plugins/dsh-typography/files/MiSansVF.ttf"] },
])
const off = typography?.subscribe((snapshot) => {
console.log(snapshot.ui.selected, snapshot.revision)
})
完整类型见 lib/types/client/index.d.ts。
apply 时通过 ctx.provide("typography", registry) 挂出注册表;选择变更时重写注入的 <style id="dsh-typography-style">:@font-face 规则 + 仅覆盖非默认组的 CSS 变量ctx.webServer 注册 /plugins/dsh-typography/files/* 路由,分发 %DSH_HOME%\typography 下的字体文件(按扩展名给出 font/woff2 | font/ttf | font/otf;?list=1 返回索引 JSON)localStorage(dsh-typography:prefs),启动时恢复;恢复时忽略已失效的预设 idctx.slots 注册进 Settings → General 的 item 槽位(id typography),文案走 ctx.locale 双语字典Inter, var(--dsw-font-family) 优先栈(如工作区浏览器),装了 Inter 的系统上这些位置仍显示 Interdsh plugin --profile <name> remove <另一插件>cordis.patch.yml 单条 insert)、dsh.client 双面声明、设置行槽位集成、localStorage 持久化与“预设 + 自定义导入”的产品形态均借鉴自该仓库。dsh-Fonts 证明了 DSH 上可以做字体系统,本插件站在它的肩膀上,补充了界面/代码分组独立选择与本地字体库免转换能力。感谢作者 @zhijun-daidsh.client 双面插件机制dsh-typography · MIT License
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。