角色一致性工具包:性格侧写档案、出场权重统计与行为偏离检测。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:MlittleFriend/dsh-character-profiler
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DSH 写作插件:角色性格侧写 + 出场权重统计 + 行为偏离检测。为长篇小说提供人物一致性的量化监控,让每个角色的性格"立得住、可查证、不漂移"。
功能
| 工具 | 作用 | 消耗 |
|---|---|---|
novel_profile |
为角色生成/更新性格侧写档案:五维性格、动机、恐惧、价值观、说话风格(口癖/称谓)、行为习惯、情绪触发点、弱点、当前成长弧、一致性红线;同时收集全名/别称(含"老头子"这类他人称呼) | LLM(深模型可选) |
novel_appearance |
统计每个角色的出场权重与占比:提及次数、段落数、对话段数、章节分布、权重分(提及×1+段落×2+对话×3)、占比排行与主角/配角档位;另提示正文中出现但未建档的疑似角色 | 纯本地,0 API |
novel_deviation |
检测角色在正文中的行为与侧写的偏离程度:偏离指数 0~100、偏离点清单(类型/严重度/原文引用/建议);区分「无铺垫的 OOC 突变」与「有因果铺垫的合理性格发展」(对照 evolution.json) | LLM |
novel_profiler_status |
角色一致性总览:人物卡↔侧写档案对照、出场权重、未建档角色、建议动作 | 纯本地 |
工作方式
- 侧写档案写入项目的
lore/profiles/<角色key>.md。该目录位于lore/下,会被写作引擎自动注入后续写作上下文——写正文时模型持续看到角色的性格红线,从源头降低偏离。 - 出场统计从人物卡标题自动推导简称(「玛丽安娜·霍斯顿」→ 玛丽安娜/玛丽/霍斯顿),生成侧写后还会合并 LLM 提取的别称,越用越准。
- 偏离检测默认对照侧写档案;没有档案时退化为对照人物卡,并建议先跑
novel_profile。
安装
推荐:DSH 插件命令一键安装
dsh plugin --profile web add github:MlittleFriend/dsh-character-profiler,重启dsh web后即可使用(与下方本地脚本等效,免手动复制目录)。
- 把本目录(
dsh-character-profiler/)放到你方便的位置(比如项目旁)。 - 运行
install.ps1(右键 → 使用 PowerShell 运行;或powershell -ExecutionPolicy Bypass -File install.ps1)。 - 重启 dsh web(关闭当前窗口后重新运行启动命令)。重启后控制台应多出
tool:character-profiler的提示词节。 - 新会话中即可调用
novel_profile/novel_appearance/novel_deviation/novel_profiler_status。
安装脚本会自动:安装包到
~/.dsh/profiles/web、把插件加入 bundles、在 profile 的cordis.patch.yml登记插件行。API 配置(apiKey/baseURL/model)由插件在运行时自动继承dsh-tool-writing行的配置——key 只存在一处(tool-writing 的 patch 配置或环境变量),无需复制。
使用建议(流程)
每卷开头: novel_profiler_status → 看谁没侧写、谁占比异常
新角色: novel_profile → 建侧写档案
例行检查: novel_appearance → 出场权重/占比是否失衡
写完几章: novel_deviation → 查行为是否漂移
弧光变化: novel_profile → 更新侧写(旧档案被覆盖)
常见问题
- 角色名匹配不上? 在人物卡里加一行
- 别称:玛丽 / 老头子,或跑一次novel_profile让 LLM 提取别称。 - 偏离检测总说"一致"? 侧写是从正文提炼的,自洽是正常的;新章节行为变化后检测才有意义。也可用
perChapter/maxParagraphs调细粒度。 - 没建人物卡的角色(正文里的"卡尔")不会被统计/检测,
novel_appearance会提示你补卡。
开发与验证
test-local.mjs 可在不重启 GUI 的情况下直接驱动引擎验证(需 DSH_WRITING_API_KEY 或读取 profile patch 中的 key):
node test-local.mjs --stats --root "项目目录"
node test-local.mjs --profile <角色key> --root "项目目录"
node test-local.mjs --deviation <角色key> --root "项目目录"
许可
MIT
链接
同类插件
Tencent/WeKnora#dsh-weknora★ 31680
把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
superdesigndev/treg★ 3995
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1130
把腾讯云 CloudBase 后端接入 DeepSeek Harness——在对话里搭好并部署全栈应用,查询结果渲染为表格卡片(分页、排序、导出 CSV),部署后可预览真实域名,并提供 CloudBase MCP 工具集(`mcp__cloudbase__*`),登录走 device-code 流程。
gitroomhq/postiz-agent#dsh-postiz★ 499
通过 MCP 将 DeepSeek Harness 连接到 Postiz:列出已连接的社交媒体渠道、获取各平台发帖规则,并向 X、LinkedIn、Instagram、Facebook、Threads、TikTok、YouTube、Reddit、Bluesky、Mastodon、Discord、Slack、Telegram 等平台排期、存草稿或发布帖子;附带 postiz 工作流技能。
EthanYoQ/Invoice-Downloader#dsh-invoice-downloader★ 477
面向 DeepSeek Harness 的本地 IMAP 发票下载、OCR 识别、归档与 Excel 报销汇总。
anysearch-team/anysearch-dsh★ 443
基于 AnySearch 的实时网页与垂直搜索插件,为 DeepSeek Harness 提供搜索工具。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。