lynote-ai/dsh-humanizer

插件Plugin 原生Native ⭐ 4 BSD-3-Clause 其他Other

A writing skill for DeepSeek Harness (dsh). The core idea is not "write like a human", but "write like me": strip generic AI-sounding patterns on one side, learn your own writing fingerprint on the other, and turn any draft into something you wrote.

catalog 简介 / catalog descriptioncatalog description:—

项目介绍Project Overview

dsh-humanizer 是面向 DeepSeek Harness 的写作插件。它不调模型,只产出规则、指纹、打分和改写 brief,由 Agent 自行改写。提供 8 个确定性工具:humanize_scan/humanize_rules/humanize_rewrite 用于去除 AI 腔;voice_import/voice_profile/voice_remove/voice_score/voice_rewrite 用于学习个人文风并打相似度分。规则中英双语,可通过 dsh plugin add github:lynote-ai/dsh-humanizer 安装。适用场景:需要把通用 AI 草稿改写成个人风格的中英文文本。注意:插件本身不直接生成改写结果,最终输出取决于 Agent 自身能力。

dsh-humanizer is a writing skill for DeepSeek Harness that turns generic AI drafts into text written in your voice. It exposes 8 deterministic tools that produce rules, style fingerprints, similarity scores, and rewrite briefs — the agent performs the actual rewriting. De-AI tools detect patterns and export rule sets; voice-clone tools import samples, build fingerprints, score similarity on a 0–100 scale, and generate briefs. Use it when you need consistent, personal tone across drafts or want to strip AI-sounding phrasing. Install via dsh plugin add github:lynote-ai/dsh-humanizer. Caveat: output quality depends on the host agent — the plugin supplies briefs, not finished rewrites.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin add github:lynote-ai/dsh-humanizer

lynote-ai/dsh-humanizer 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-humanizer

A writing skill for DeepSeek Harness (dsh). The core idea is not "write like a human", but "write like me": strip generic AI-sounding patterns on one side, learn your own writing fingerprint on the other, and turn any draft into something you wrote.

This is a skill for the agent, not an LLM wrapper: it performs no model calls. It only produces rules, fingerprints, scores, and rewrite briefs — the agent does the actual rewriting itself.

Install

# from GitHub (ships prebuilt lib/)
dsh plugin add github:lynote-ai/dsh-humanizer

# or, once published to npm:
# dsh plugin add dsh-humanizer

Optional config (all fields have defaults):

- insert:
    - id: dsh-humanizer
      name: 'dsh-humanizer'
      config:
        strength: standard                          # light | standard | aggressive
        storagePath: ~/.dsh/voice-profiles.json
        maxExcerpts: 3

Tools (8 — all deterministic, no model calls)

De-AI:

Tool Purpose
humanize_scan Detect AI patterns and return an AI-ness score plus the matched rules
humanize_rules Export the full rule catalogue (transparent, editable)
humanize_rewrite Return a rewrite brief (rules + issues found in this text); the agent applies it

Personal voice clone:

Tool Purpose
voice_import Import samples → extract a style fingerprint → persist a profile
voice_profile Read one profile, or list all
voice_remove Delete a profile
voice_score Similarity between text and a profile (0–100 + per-feature breakdown)
voice_rewrite Return a rewrite brief (fingerprint + few-shot samples + issues found)

How it works

src/core/ is a pure, dependency-free, unit-tested library:

  • rules.ts — AI-writing pattern catalogue (English + Chinese, modeled on stop-slop / Humanizer-zh)
  • analyze.ts — de-AI scan: empty openers, clichés, hedging, template transitions, mechanical parallelism, summary endings
  • fingerprint.ts — style fingerprint: sentence length / burstiness, punctuation habits, stance (person, adverbs, contractions), preferred vocabulary, lexical richness
  • score.ts — similarity scoring (0–100 + per-feature breakdown)
  • render.ts — rewrite-brief construction

humanize_rewrite / voice_rewrite never call a model — they return a brief, and the agent rewrites in its own turn. voice_score's per-feature output is the hook for future "learn from feedback" iteration.

Example (agent's point of view)

User: I have a dozen tweets I wrote. Build me a "my voice" profile.

Agent:
  1. voice_import(name="me-x", samples=[...])   → extract & store fingerprint

User: Rewrite this AI-written release post in my voice.

Agent:
  1. voice_score(text=draft, name="me-x")        → 41/100
  2. voice_rewrite(text=draft, name="me-x")      → get brief (fingerprint + samples + issues)
  3. agent rewrites following the brief
  4. voice_score(rewritten, name="me-x")         → 83/100

Development

npm install
npm run check       # typecheck + build
npm test            # unit tests (node --experimental-strip-types)
npm run build       # tsc → lib/

Design decisions

  • No LLM calls — rules, fingerprints, and scores are deterministic and reproducible.
  • Single self-contained bundle — no unpublished shared dependency, so dsh plugin add just works.
  • File-based persistence~/.dsh/*.json, no storage backend required.

License

BSD-3-Clause


中文说明

面向 DeepSeek Harnessdsh)的写作插件。核心理念是——不是「像人写」,而是「像我写」:一边去掉通用 AI 腔,一边学习你本人的写作指纹,把任意草稿改成「你写的」。

这是一个给 Agent 用的 skill不调模型:只产出规则、指纹、打分和「改写 brief」,真正的改写由 Agent 自己完成。

  • 去 AI 味humanize_scan(检测)/ humanize_rules(规则库)/ humanize_rewrite(改写 brief)
  • 文风克隆voice_import / voice_profile / voice_remove / voice_score(0–100 相似度)/ voice_rewrite(改写 brief)

规则库中英双语覆盖(参考 stop-slop / Humanizer-zh)。指纹提取与打分均为确定性计算,可复现、可单测;Profile 默认持久化到 ~/.dsh/voice-profiles.json

安装:dsh plugin add github:lynote-ai/dsh-humanizer

上一个 Prev dsh-llm-as-a-verifier 下一个 Next dsh-agent-bus