dsh-plugin
DayuanJiang/next-ai-draw-iodsh 的 draw.io 绘图插件:通过 next-ai-drawio MCP 服务器作图,点回复里的链接在右侧栏打开实时预览,可以手动修改图,AI 的每次修改都是可以恢复的版本。需 Node.js 18+,首次使用由 npx 下载 MCP 服务器。
角色一致性工具包:性格侧写档案、出场权重统计与行为偏离检测。
DSH writing plugin: character personality profiling + appearance-weight statistics + behavioral-drift detection. Quantified consistency monitoring for long-form fiction — every character's personality stays grounded, verifiable, and drift-free.
| Tool | What it does | Cost |
|---|---|---|
novel_profile | Generate/refresh a personality profile card per character: five-dimension personality, motivations, fears, values, speech style (catchphrases/forms of address), behavioral habits, emotional triggers, weaknesses, current growth arc, and consistency red lines; also collects full names/aliases (including third-party forms of address like "old man") | LLM (deep model optional) |
novel_appearance | Appearance weight and share per character: mention count, paragraph count, dialogue count, per-chapter distribution, weight score (mentions×1 + paragraphs×2 + dialogue×3), share ranking, and protagonist/supporting tier; also flags unregistered suspected characters found in the text | Local only, 0 API |
novel_deviation | Detect how much in-text behavior deviates from the profile: deviation index 0–100, a list of deviation points (type/severity/quote/suggestion); distinguishes "unforeshadowed OOC flip" from "justified character growth with causal setup" (compared against evolution.json) | LLM |
novel_profiler_status | Character consistency overview: character card ↔ profile card comparison, appearance weights, unregistered characters, suggested actions | Local only |
lore/profiles/<character-key>.md under the project. That directory lives under lore/, which the writing engine auto-injects into later drafting context — while drafting, the model keeps seeing each character's consistency red lines, reducing drift at the source.novel_profile first.Recommended: one-line install via the DSH plugin command
dsh plugin --profile web add github:MlittleFriend/dsh-character-profiler, then restartdsh web(equivalent to the local script below, without manually copying the directory).
dsh-character-profiler/) somewhere convenient (e.g. next to your project).install.ps1 (right-click → Run with PowerShell; or powershell -ExecutionPolicy Bypass -File install.ps1).tool:character-profiler prompt section should appear in the console.novel_profile / novel_appearance / novel_deviation / novel_profiler_status.The install script automatically: installs the package into
~/.dsh/profiles/web, adds the plugin to bundles, and registers the plugin row in the profile'scordis.patch.yml. API config (apiKey/baseURL/model) is inherited at runtime from thedsh-tool-writingrow — the key lives in one place only (the tool-writing patch config or an environment variable), no duplication.
Start of each volume: novel_profiler_status → see who lacks a profile, whose share looks off
New character: novel_profile → create a profile card
Routine check: novel_appearance → is any character's weight/share imbalanced?
After a few chapters: novel_deviation → check for behavioral drift
Arc shift: novel_profile → update the profile (old card is overwritten)
- 别称:玛丽 / 老头子 to the character card, or run novel_profile once to have the LLM extract aliases.perChapter/maxParagraphs to tune granularity.novel_appearance will prompt you to add a card.test-local.mjs drives the engine directly without restarting the GUI (needs DSH_WRITING_API_KEY or reads the key from the profile patch):
node test-local.mjs --stats --root "project-directory"
node test-local.mjs --profile <character-key> --root "project-directory"
node test-local.mjs --deviation <character-key> --root "project-directory"
MIT