前言¶
在 DeepSeek Harness(DSH)里做角色扮演,常见做法是把整份人设写进 SKILL.md 或长 system 段,每轮全量进上下文;记日记、改卡又往往交给模型自己读写文件,确定性差。同维护者的 ai-with-u skill 走的就是这条路——功能齐,但模型同时要「演角色」和「当文件系统」。
下面介绍 npm 包 dsh-ai-with-u(GitHub:Treasure-hub-agent/dsh-ai-with-u),维护者 Treasure-hub-agent,当前版本 v0.5.3,许可证 MIT。它是 DSH 桌面版插件:把角色卡注入、日记记忆和可视化面板收进代码,聊天仍走 DSH 自带会话,不劫持消息流。
这是什么¶
一句话:选一张角色卡即可启用人设,退出后相关提示词段清空;日记与卡数据由插件落盘,面板里管理。
插件只做三件事(README 原文口径):
- 把 CCv3 角色卡分层写进系统提示词(L0 底线、L0.5 纪律包、L1 角色、世界书命中、日记与时间差等)。
- 维护角色日记记忆(时间线、搜索、导出 markdown)。
- 提供「角色管理」可视化面板(左侧栏底部入口,与用量统计同席位)。
自带蒸馏流程,可指引模型联网整理任意 IP 的角色卡;开箱预置三张范例卡(丰川祥子、阿米娅、昔涟)。支持导入 SillyTavern 常见形态(.png 带卡、.charx、裸 .json)。社区目录分类为「趣味换装」,见 SkillHub 目录页。
核心功能¶
分层注入与插拔¶
启用前,会话与普通 DSH 无异;启用后模型按角色声线说话,工程任务仍可照常进行;点「退出」后,角色相关的 L0 / L0.5 / L1 / 世界书 / 时间差五段返回空串,宿主过滤掉——预设段(文风层)不随角色退出,属于宿主侧独立配置。
纪律包三档:off / lite(默认)/ full,左栏胶囊或 POST /_dsh/ai-with-u/discipline 切换。对话模式「纯文本 / 文本 + 动作」同理,走 POST /mode。
两种启用作用域¶
| 作用域 | 含义 |
|---|---|
| 全局启用 | 对所有未单独绑定的会话生效,POST /activate |
| 绑定到本会话 | 仅当前会话,POST /bind {name, sessionId} |
决议优先级写死:会话绑定 > 全局启用 > 未启用。一个会话同时只能扮演一个角色;插件不做多角色同场群聊。
面板与工具¶
右栏分段:角色簿 / 日记 / 统计 / 指南。角色簿支持导入、注入预览(GET /preview,与宿主真实渲染一致)、就地编辑 34 个字段;日记支持关键词搜索、按月折叠、导出;窄屏(<900px)单栏导航栈。
模型侧提供 awu_* 等工具(全局启用或任一会话仍绑定时挂载,用于记日记等);awu_card_save 在蒸馏武装期可用。
明确边界(装前心里有数)¶
插件控制的是 DSH agent 人格,不是酒馆模拟器:无立绘表情层、无 display 侧 regex 输出替换、无 PNG/CHARX 导出、不执行 EJS/MVU/TavernHelper 运行期语义。需要完整 ST 生态时,应使用 SillyTavern 本体。完整清单见仓库 README「明确不做」一节。
安装与启用¶
DSH desktop profile 由 Electron 管理,不能用 dsh plugin CLI 安装(会报 managed exclusively by the Electron application)。官方步骤如下。
前提¶
- DeepSeek Harness 桌面版(desktop profile)
- Node ^22.19.0 或 >=24.0.0
- 无 C++ 编译依赖
步骤¶
- 安装 npm 包(可跳过克隆源码):
npm install dsh-ai-with-u
GitHub Packages 同名 scoped 包需带 read:packages 的 token:
npm install @treasure-hub-agent/dsh-ai-with-u --registry=https://npm.pkg.github.com
- 在
~/.dsh/profiles/desktop/package.json中把插件加入dsh.profile.bundles,并保证依赖指向已安装的包(源码开发时用link:指向本地路径)。示例:
{
"dependencies": {
"dsh-ai-with-u": "link:<你的克隆路径>"
},
"dsh": {
"profile": {
"bundles": [
"dsh-ai-with-u"
]
}
}
}
- 重启 DSH。宿主不会热加载
lib/index.js。
不要在 profile 的 cordis.patch.yml 里重复手写插件行;包内 cordis.patch.yml 的 bundle.patch 会自动挂载。
典型用法¶
经过上面的步骤重启后:
- 点击左侧栏底部 「角色管理」(展开显示当前角色名,收起为圆徽)。
- 在角色簿选一张卡,用 「绑定到本会话」 或 「全局启用」(详情页四枚动作之一)。
- 新开或继续 DSH 会话,按角色设定对话。
- 结束扮演时点 「退出」,提示词段干净拔出。
换「纯文本 / 文本 + 动作」可在左栏胶囊切换,或在对话里让模型调用 awu_mode。要新建卡:点 「蒸馏角色卡」 或 「自创角色卡」(三格骨架 + 可选「让 AI 补全人设」)。导入卡时先预览 warnings,同名冲突需二次确认;单文件上限 11 MB(README 说明与宿主 16 MB 收包线对齐)。
角色与日记默认落在 ~/.dsh/ai-with-u/ 下(统计页会显示路径);备份可直接拷贝 characters/ 目录。
适用场景与注意¶
适合谁: 已在 DSH 桌面版写代码、跑 agent,又希望在同一进程里临时切换 IP 人设、保留跨会话日记,且接受「单会话单角色 + 不替代 ST 全功能」边界的人。
安装前请自行核对:
- 插件以 当前 DSH 进程权限 读写
~/.dsh/ai-with-u/并提供本地 REST;安装前应阅读源码与 MIT 许可证,确认可接受的数据与网络行为(蒸馏流程可能引导模型联网搜资料)。 - 社区目录 skillhub.cn 与 GitHub 仓库由社区维护,与 DeepSeek / 幻方无官方从属;DSH 生态是「一切皆插件」,目录站是独立索引。
- 仓库自述含 1107 项自检通过(badge 与开发节口径);版本与 Node 要求以 package.json 为准。
结尾¶
dsh-ai-with-u 把原 ai-with-u skill 里交给模型的确定性工作收进插件:更短的启用态提示词体积(README 对比 lite 档约 2.8–3.3 KB)、原子写与锁、可插拔人格与可视化管卡。若你要在 DSH 里「选卡即用、日记可追、退出即还原」,可从目录页与仓库 README 的安装节动手。