HerTa-st/Herta-dsh
把 Herta(黑塔) 作为一个插件装进 DeepSeek Harness: 她的人格、她的记忆、她的声音、她的界面。
catalog descriptioncatalog 简介 / catalog description:dsh插件版herta
Project Overview项目介绍
The repository HerTa-st/Herta-dsh is a native fan-made plugin built specifically for DeepSeek Harness (DSH) 0.1.7-rc.2, packaged under the npm name dsh-herta and submitted to the upstream curated index awesome-dsh-plugin as a bundle-manifest entry (PR #5946, pending merge). It ports the third-party Herta project — a non-official derivative of HoYoverse's "Honkai: Star Rail" character Herta — into DSH across four layers: layer A (identity) ships HertaBio.txt verbatim as an agent preset; layer B (memory) injects a .herta/narrative/ shelf plus four recall/dream tools; layer C (voice) packages 80 .opus clips and a synthesis toolchain; layer D (interface) registers two conversation.view slots, one rendering DSH sessions with Herta-styled components and one mounting the upstream full-client UI inside an iframe. The author explicitly states that all plugin-side code (src/, scripts/, Cordis configuration, bundle patches) is original, with no affiliation to the original Herta project or HoYoverse.
Installation has two paths: from the DSH desktop app's built-in plugin manager run plugin_manager install_bundle file:<absolute path to this repo>, or from a terminal run dsh plugin --profile desktop add dsh-herta (the npm package exists from 0.1.4 onward). Because the marketplace search index only contains entries from awesome-dsh-plugin.com/plugins.json rebuilt daily by upstream CI, a locally file-installed plugin will not appear in dshmarket until the PR is merged. After upgrading DSH, three sanity checks should pass: dsh --profile <p> --dump-config must list - id: preset-herta with a trailing plane: preset plugin entry; the startup log must show plane=host, plane=preset, 叙述层依赖就绪, 设置命名空间已就绪:herta(自带页面,不自动生成), and 整机页面已挂:/herta-ui, and must NOT contain settings.register is not a function, 从整机迁移设置:…, or 设置写回已挂; npm test must report 1059 tests across 20 groups and npm run test:integration must report 28.
The bundle carries a 22 MB local TTS runtime under assets/tts-runtime/ consisting of sherpa-onnx 1.13.6, onnxruntime 1.27.1, and an espeak-ng/piper-phonemize fork — espeak-ng is GPL-3.0-or-later and statically linked, so redistributors must make their own compliance call before shipping (full texts live in LICENSES/). The voice-model archive is pinned by URL, size (76,255,506 bytes), and SHA-256 in src/host/tts-release.js, with a four-stage download → checksum → unpack → recheck → atomic swap flow exposed at /herta-voice-model. Three breaking API changes between DSH 0.1.5 and 0.1.7 were measured and patched: the agent-preset directory mechanism is gone (replaced by an @deepseek-ai/dsh-agent-preset loader line, shipped here as preset/herta.patch.yml), the old ctx.settings.register / settingsScope API is replaced by SettingsForms plus plugin-owned volatile Config with secrets routed through ctx.remote.credentials into $DSH_HOME/.credentials.yaml, and v4 conversation format now rejects kind: "plugin" in favor of kind: "plugin:<package-name>" (a scripts/test-source-kind.mjs invariant test guards this). The repository is MIT-licensed, but all embedded character assets remain © miHoYo and are limited to non-commercial fan use; users must read NOTICE.md and THIRD-PARTY.md before cloning and must not expect verified reply quality without real DeepSeek credentials.
本仓库 HerTa-st/Herta-dsh 是一个面向 DeepSeek Harness(DSH)0.1.7-rc.2 的原生同人插件,名称 dsh-herta、仓库路径以 dsh 收尾,并使用 bundle-manifest 形态提交给上游精选目录 awesome-dsh-plugin(PR #5946,待合并)。它将《崩坏:星穹铁道》角色黑塔的同人项目 Herta 拆成四层接入 DSH:A 层身份由 HertaBio.txt 逐字写入 agent preset;B 层记忆通过 .herta/narrative/ 货架与四个工具注入;C 层语音用 80 条 .opus 加发声工具呈现;D 层界面则注册两个 conversation.view,一个用展示组件渲染 DSH 会话,另一个以 iframe 嵌入整机 UI。
插件侧代码(src/、scripts/、Cordis 配置、bundle patch)均为本次改造新写,作者在 README 中明确声明与 Herta 原作者及 HoYoverse 均无隶属关系,素材仅作非商业同人用途。安装有两种入口:在 DSH 桌面应用内置插件管理器执行 plugin_manager install_bundle file:<本仓库绝对路径>,或在终端运行 dsh plugin --profile desktop add dsh-herta(0.1.4 起在 npm 发布)。验证流程包括:dsh --profile <p> --dump-config 应输出 preset-herta 条目;启动日志需出现 plane=host、plane=preset、叙述层依赖就绪、设置命名空间已就绪:herta、整机页面已挂:/herta-ui;测试侧 npm test 共 1059 项(20 组),npm run test:integration 共 28 项。
依赖方面,插件随包携带 22 MB 的 sherpa-onnx 1.13.6 + onnxruntime 1.27.1 + espeak-ng/piper-phonemize fork 本地 TTS 运行时,其中 espeak-ng 是 GPL-3.0-or-later 并被静态链接,分发前需自行评估;语音模型归档参数钉死为 voice-herta-best-e72(76,255,506 B,附 SHA-256)。三项已实测的 0.1.5→0.1.7 破坏性 API 变更(agent preset 载体改为 loader 行、设置域改用 SettingsForms/configForms、v4 会话格式要求 kind: "plugin:<包名>")均已适配。许可方面仓库采用 MIT,但素材权利归米哈游所有,仅限非商业同人使用,不得以独立素材包再分发;首跑前请先阅读 NOTICE.md 与 THIRD-PARTY.md,并确认未在没有真实 DeepSeek 凭据的环境里预期回复质量。
请帮我安装这个 DSH 插件。安装前先完成【兼容性检查 + 安全性检查】,检查通过再动手。
插件:Herta-dsh(HerTa-st/Herta-dsh)
仓库:https://github.com/HerTa-st/Herta-dsh
本站详情页:https://www.yhbd.top/plugins/herta-st-herta-dsh/
本站登记:类型 plugin · 归类 原生 DSH 插件 · 许可证 MIT · ⭐ 4 · 最近提交 2026-10-03 · 主语言 JavaScript
按下面顺序执行,每步先把结论告诉我,再进入下一步:
【1 兼容性检查】
① 我这边:DSH 版本、Node 版本、操作系统、当前 profile(web / desktop)。
② 读它的 README、package.json、插件 manifest,列出它要求的 DSH 版本 / Node 版本 / 操作系统 / 外部依赖 / 需要另外先装的运行时。
③ 逐条比对,结论只写「满足 / 不满足 / 未知」三种;不满足的给出可行替代方案。
④ 检查是否和我已装的插件冲突:命令名重复、skill / tool 重名、端口占用、重复注册的 MCP server。
【2 安全性检查】
① 仓库可信度:和上面「本站登记」是否一致;star / fork 数、创建时间、最近提交,是否归档或长期停更。
② 安装脚本:逐行看 package.json 的 preinstall / install / postinstall,以及 install.sh、setup.ps1 之类脚本。出现 curl|bash、下载后直接执行、混淆代码、访问与插件功能无关的域名,立刻停下来告诉我,不要继续装。
③ 依赖:列出新增依赖,标出无人维护、或与知名包拼写近似的可疑包(typosquatting)。
④ 权限与副作用:它会读写哪些目录、访问哪些域名、需要哪些 DSH 权限(filesystem / network / shell / clipboard 等),以及怎么卸载和回滚。
⑤ 如果它要求 sudo / 管理员权限,或权限明显超出功能所需,先停下来问我。
【3 安装】
上面两步没有「不满足」和「高危项」时才执行;用官方推荐方式安装,不要自行提权。
【4 汇报】
用表格输出:检查项 / 结论 / 依据 / 是否需要我决策。拿不准的一律写「未知」并说明要我怎么确认——不要猜,也不要替我决定。
Send this message to DSH in your current session: it verifies compatibility and security first (answering met / not met / unknown item by item) and only installs once everything checks out — it will stop and ask you if it finds a high-risk item. The box scrolls; the copy is the full prompt. CLI install commands may not be accurate across systems, so DSH is the safer route.把上面这条消息直接发给当前会话里的 DSH:它会先核对兼容性与安全性(逐条给「满足 / 不满足 / 未知」),确认没问题再安装,有高危项会停下来问你。框内可滚动,复制到的是完整提示词;安装命令不一定准确,发给 DSH 更稳。
- Only 4 stars - very few users, little community feedback星标只有 4,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项
Compatibility兼容性
- DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
- External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
- Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册
Security安全性
- Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
- Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
- curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
- Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
- Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
- Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式
Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile desktop add dsh-herta
把 HerTa-st/Herta-dsh 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-herta
把 Herta(黑塔) 作为一个插件装进 DeepSeek Harness: 她的人格、她的记忆、她的声音、她的界面。
📌 来源声明
本项目是基于原作者项目所做的第三方改造,不是原创作品。
- 原作者项目:Herta —— THE SELF THAT USES THE AGENT
- 原作者官网:https://www.herta-ai.com/#research
- 本项目把 Herta 作为一个插件接进 DeepSeek Harness —— 人格、记忆、语音、界面四层 都来自 Herta 原作;插件侧的代码(
src/、scripts/、Cordis 配置)为本次改造新写。本项目由第三方独立开发,与 Herta 原作者无任何隶属、合作或背书关系。 如原作者认为本改造有不妥之处,请联系我,我会立即调整或撤下。
另:「Herta / 黑塔」是 HoYoverse《崩坏:星穹铁道》中的角色。Herta 原作者项目本身 即为非官方同人作品,本项目同样是非官方同人作品,与 HoYoverse / miHoYo / Cognosphere 无关联、未获其背书或赞助。
素材授权细节见
THIRD-PARTY.md。
🎨 相关仓库:主题
界面配色、开机 ASCII 开场、可换背景与「外观」设置页,是另一个包:
dsh-theme-herta —— 也可以单独安装
(没装本插件的人,照样能只下主题)。
0.1.7 起本插件自带它。 接线三件事都已落地:主题已发到 npm (
dsh-theme-herta@0.1.0)、本包把它列成依赖、cordis.patch.yml里多了一行 并列的ui-theme-herta。所以装了本插件就一起拿到主题,不用再单独装; 装完照例要关窗重开(bundle 是启动期挂载的)。主题包自己的
cordis.patch.yml不会被自动应用 —— loader 只读 profile 的dsh.profile.bundles里那些包的 patch,所以挂载点必须由本包给出。本仓库里也放了同一份源码(
theme/dsh-theme-herta/)。⚠️ 主题的NOTICE.md记着一条未决的授权边界:lib/opening/那 10 个文件移植自PersonaCLI/Herta,而那个上游未标注标准许可证(GitHub 读作NOASSERTION)—— 用之前请自己与上游确认。
四层,各自独立可验:
| 层 | 内容 | 落在哪 |
|---|---|---|
| A 身份 | HertaBio.txt 逐字作人格前缀 + 为 DSH 改写的处境/纪律 |
agent preset |
| B 记忆 | 记忆货架(.herta/narrative/)作动态提示词段;四个记忆/做梦工具 |
preset 行 |
| C 语音 | 80 条她本人的 .opus(开场白 / 语气词 / 自我收回 / 彩蛋)+ 发声工具 |
静态路由 + client |
| D 界面 | 乙:用她的展示组件渲染 DSH 会话;甲:iframe 装下她的整机 | conversation.view ×2 |
⚙️ 兼容性(先看这一节)
面向 DSH 0.1.7-rc.2。 本版本修的正是 0.1.5 → 0.1.7 之间三处破坏性 API 变更
(都是实测出来的,不是猜的):
| 变了什么 | 0.1.5 时的写法 | 0.1.7 的现状 | 本仓库怎么办 |
|---|---|---|---|
| agent preset 的载体 | $DSH_HOME/.agent-presets/<name>/agent.cordis.yml(一整棵 cordis 树)+ preset.yml |
该目录机制整个移除(运行时里已无任何代码引用 .agent-presets);preset 变成一条 @deepseek-ai/dsh-agent-preset loader 行,官方写成 dsh-web-app/presets/*.patch.yml |
生成 preset/herta.patch.yml,作为第二条 bundle patch 随插件一起装(dsh.bundle.patch 现在可以是数组) |
| 用户偏好的存放(设置域) | 宿主 ctx.settings.register(ns, schema) + 客户端 settingsScope.bind({namespace}) |
两者一起消失:SettingsProvider/SettingsScope/SettingsRegisterOptions 不再导出,客户端 settingsScope 服务不存在,事件 settings/updated、settings/document-updated 也没了;换成基于插件 Config 的 SettingsForms/configForms,没有第三方命名空间入口 |
用后者:插件自己的 volatile Config(落 profile 的 cordis.patch.yml),客户端挂 settings.section 一页。密钥另走凭据缝 ctx.remote.credentials(值进 $DSH_HOME/.credentials.yaml,不进明文配置)。2026-09-26 起黑塔的设置只有这一处 |
| 消息来源的 kind(会话格式 v4) | { kind: "plugin", plugin: "dsh-herta" } |
v4 只认「生产者自有 kind」,kind: "plugin" 在写入会话时就被 assertV4SourceRowAdmission 拒绝(format v4 message requires a producer-owned source kind);第三方插件的合法形状是 { kind: "plugin:<包名>" } —— 这正是 DSH 自己的 v3→v4 迁移为旧行推导出的形状,两代读回同一个 kind |
全部改成 { kind: "plugin:dsh-herta" }(agent.steer 两处 + 两个 PLUGIN_SOURCE);新增 scripts/test-source-kind.mjs 钉住这条不变量 |
Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →
titanwings/distilly
YuJunZhiXue/dsh-purge
Clearailhc/clearai-dsh
yejiming/MuseAI
superdesigndev/superdesign-skill