DeepSeek Harness plugin

dsh-humanizer

中文文本人味化 bundle 插件:强制深层改写工作流(十维叙事审计 + 功能路径 + 15 层分布)+ 内容忠实守卫。编辑辅助,非 AI 检测器。

Jump to install

Source facts

Repository
DEEP-IOS/dsh-humanizer
Latest update
Aug 15, 2026
Category
Tools & Capabilities
GitHub stars
4
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/DEEP-IOS/dsh-humanizer
Plugin: dsh-humanizer
Author: DEEP-IOS

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-humanizer

![CI](https://github.com/DEEP-IOS/dsh-humanizer/actions) ![npm](https://www.npmjs.com/package/dsh-humanizer)

> 一个让模型在动笔之前先成为作者的 DeepSeek Harness 原生插件。 > 这里没有检测分数,没有改写清单。它做的事情,是在文字落下来之前把作者找回来。

---

先说问题

市面上多数 AI 消痕工具用起来都有同样的毛病:文字越改越有 AI 味,原有排版被拆坏,句子读起来也不自然。

这个插件的第一版就犯过这个错。我们嘴上写着「配额就是新指纹」,手上却把方法做成了一张张工序卡,让用户照着执行。结果工序本身变成了新的可检测特征。所以 v0.3 干脆把方向翻了过来:模型动笔前先把整套理论完整读进脑子,在思考中成为这次要写的人,然后把理论忘掉,一口气写。

这不是换了一种提示词。往下读,你会看到这两种做法对问题的理解完全不同。

---

AI 味不在词上,在决定上

先看三句话。

> 这不是一次简单的失败,而是一次深刻的警醒。 > 它不仅改变了他的选择,更重塑了他的认知。 > 这意味着,他必须重新审视自己的过去。

三个句子用词不同,句式不同,读起来却像同一个人写的。把它们并排放在一起,几乎能听见同一种腔调。为什么?

因为三个句子的底层决定是一样的。作者每次都选择同一条路:先否定一个较浅的解释,再抬到一个更抽象的高度,最后追加一层意义。词只是这条路上穿的衣服,换衣服不改变走路的姿势。

这件事可以解释一个常见的困惑:为什么删掉「此外」「值得注意的是」「综上所述」,换上一批更口语的说法,AI 味还在。因为检测器并不只看这些词。故事视镜研究用六万多个平行故事做过统计,剔除措辞、句法和韵律特征以后,单靠叙事结构特征仍然能把人类故事和生成故事分开,宏平均调和分数大约九成三。也就是说,哪怕你把句子表面的东西全换掉,只要开头的选择、情绪的载体、因果的连法、结尾的收法还是模型默认的那一套,痕迹就还在。

所以真正要动的地方不是词,是词背后的决定。谁在说,他为什么知道这些,他此刻在看什么,他凭什么下这个判断,他愿意为判断付出什么代价。这些决定对了,文字会自己带上人的位置。

---

工序为什么必然失败

「把方法做成工序」这个念头很自然。理论太复杂,模型会偷懒,那就把理论拆成步骤,一步一步执行。听起来没毛病。

问题出在步骤是固定的。

假设你定了一条规矩:每章必须有一次重释、一次命名情绪、一个钩子结尾。你严格执行了二十八章。现在这二十八章有了一个共同点:它们都长着同一张脸。检测器不需要理解你的理论,它只要学会认这张脸。

更麻烦的是,这张脸是全局的。真正的写作规律往往绑在具体的材料上:这个人物受了委屈才会在对话里绕弯子,那个场景有风才值得写声音。这些规律因人而异,因文本而异,分散在成千上万个不同的决定里。而工序制造的规律不绑定任何材料,它绑定的是工序本身,所以在所有文本里长得一模一样。对分类器来说,这就是最好的特征。

第一版的十步状态机、三轮改写、三十项信号清单是这样失败的。第二版的四栏决策单加程序门禁,只是把同样的问题缩小了一号:思考层的东西被暴露成工件,工件的结构又会渗进写作习惯。两版失败指向同一个地方。

也许有人会说:那就让工序随机一点,每章抽签决定用什么手法。随机化能骗过简单的频率统计,但骗不过「这些文本都经过同一道抽签」这个事实。抽签的痕迹会以另一种方式稳定下来。真正能打破这个循环的,不是更聪明的规则,是让规则不再出现在文本层。

---

于是我们换了一个问题

既然不能问「这段文本哪里像 AI,怎么改」,那该问什么?

我们问的是:动笔之前,一个具体作者该知道、该在乎、该付出代价的东西,想清楚了没有。

这个问题里藏着三件事。

材料有没有来源。一段信息进到文本里,总得有个来路:是谁看到的,通过什么渠道,此刻为什么说,他是不是只知其一。没有来源的信息,句式再漂亮也飘着,因为没有人在为它负责。

注意力有没有选择。真人在写东西的时候不会平均用力。他盯着某件东西,是因为他此刻有目的、有牵挂、有怕处。光线、声音、气味不会每场都写,写了就是他觉得有用。AI 味常常来自另一种写法:每样东西都得到同样的照顾,每个场景都从环境起笔,读者看不出作者到底在乎什么。

判断有没有代价。真人下判断是有风险的。他可能猜错,可能得罪人,可能赌上什么东西。所以真人会保留、会反例、会改口,会说「这只是我的推测」。机器味则相反,每个结论都圆满,每段结尾都升华,好像说话不需要负任何责任。

这三件事不能做成清单。它们没有统一的答案:一个医生的注意力跟一个赌徒不一样,一个胆小的叙述者跟一个刻薄的不一样。正因为答案千差万别,要求「想清楚」反而会让文本彼此不同。这跟句长占比、连词密度、每章一个钩子有本质区别。后者规定的是结果长什么样,前者只要求选择真实发生过。

---

插件到底做了什么

v0.3 的全部工作,是一套五个字的流程:读全,成为作者,一口气写,听一遍,停。但每个字后面都有理由,值得展开。

读全

模型动笔前,会先调一次 humanize_study(体裁, 模式)。这个工具把 references 目录里全部二十一章方法论一次返回,按体裁排好顺序,后面附三篇风格完全不同的示范文。四万个字符左右,是全文,不是摘要。

为什么一定要全文?因为理论是互相牵制的。十五层语言分析的价值不在「有十五层」这个数字,在于它同时讲了把字句的合法条件、被动句对责任归属的影响、短句什么时候是假节奏。十维叙事的价值不在十个标签,在于每个维度都标着「什么时候不该改」。禁止与回退这一章,有一半篇幅在讲什么不是禁止:有功能的重复、体裁允许的概述、情境驱动的语域切换、保持原样。这些牵制一旦被摘成十条规则,就全丢了。剩下的规则只能指导表面动作,而表面动作正是我们想避免的东西。

阅读包的示范文也需要说清楚。三篇短文风格差得很远,一篇贴着人物,一篇隔着距离看渡口,一篇在论证里守着证据边界。它们不供模仿。任何「学它怎么开头」的念头都跑偏了;要感受的只有一件事:每篇后面都站着一个具体的人,句子的停顿、注意力的偏斜、结论的不肯多迈一步,都是这个人的形状。

成为作者

读完以后,模型不填表,不产工件。它在思考里成为这次要写的人。想的内容大致是:这次要改变读者的什么;材料是谁给的、通过什么途径、此刻为什么说;谁在看、为了什么看、有意不写什么;哪些判断确定、哪些是推测、哪些错了要付代价;这篇是谁在说,他的句子长什么样,他怕什么,他不肯说什么;哪些人名、术语、口癖、意象和伏笔必须稳定;第一句落在哪里,最后一句让读者停在什么感觉上。

这些问题想完就放下。不写出来,不引用,更不进入正文。

有人会问:不写出来,怎么保证模型真的想了?我们试过写出来。写出来的东西会变成工件,工件要过门禁,门禁逼着模型造假,假的工件又会带坏真的写作。后来我们相信另一件事:如果一个模型读完了全部理论,仍然写不出背后有人的文字,那问题不在表格。成品自己会说话。

一口气写

写作的时候,模型只是作者。它不再检查理论,也不去数字数,更不会琢磨这里要不要换个句式。卡住了,就回到材料、注意力或判断上想办法。

这一步比听起来难。模型有很强的惯性,写着写着就会滑回默认路径:情绪用身体反应,环境映照心理,段尾自动升华。应对的办法不是禁止这些写法,而是回到决定层看:这个人物此刻真的会注意自己的呼吸吗?这阵风真的跟他的心事有关吗?这段非要收在感慨上吗?很多时候答案是「不会」「无关」「不必」,文字于是拐向别处。

听一遍

写完以后,模型把自己当成第一次读到这篇文字的读者。听哪里断了,哪里硬了,哪里凉了,哪里空了,哪里说多了。只改这些真实的不适。

这里要区分两种修改。一种来自读者的耳朵:这句话读着卡,这个转折太陡。另一种来自清单:这里该有个短句,这里该删个连词。前一种可以改,后一种不准改。读者的耳朵是内源的标准,清单是外源的标准。外源标准会把所有文本往同一个方向拉。

没有不适就交付。没有评分,没有检测,没有画像,没有清单复查,更没有「再顺一遍」。改完了还顺,是永远停不下来的开始。

---

两种用法

创作和润色走同一条总原则,细节不同。

写一篇新的

用户说「用 humanizer 写这一章」。拿一章旧友重逢举例。

模型在动笔前想的不是句式,而是这些:

这次重逢要改变读者对两人关系的一个判断。他们当年不是谁背叛了谁,是两个人都不敢先开口。

叙述者只记得对方离开时的雨衣颜色,记不清那天说了什么。人在难堪的时候,记住的往往是没用的细节。

这场戏不写天气,不写街上行人。只写茶凉了两次,和两个人中间空着的那把椅子。

叙述者心里有一个判断:对方回来不是为了叙旧,是有事要开口。这是推测。他不敢先问,因为先问的人就输了。

两个人说话也不一样。一个短,喜欢把话吞一半;一个客气,越客气越疏远。

第一句从门帘响开始。最后一句停在对方终于说出当年那句话的前半截。

想清楚这些,文字会长出来。读者能感到背后有人,但说不出是哪条规则起了作用。这就是我们要的状态。

改一篇旧的

用户说「用 humanizer 润色这段文本」。

润色的第一件事不是找问题,是先把原文当成一位认真作者的草稿。这个预设很关键。一旦先认定「这是 AI 写的」,人就会拿着外源清单去找茬,看见什么改什么。反过来,先假定作者认真写过,模型就会去反推:这个作者知道什么、在乎什么、声音是什么、哪里只是没写到位。只改没写到位的地方:断了、硬了、凉了、空了、说多了。其余一字不动。

改完还要读接缝。改过的句子跟没改过的句子放在一起,语调要还是一家人才行。接缝平了,就停。

润色不追求「更像人」。每篇文本最好的版本只属于它自己。一篇冷硬的文本,它最好的版本可能仍然冷硬,只是冷得更有道理。

---

文笔、温度、碎句、生硬、机械感

这些词听起来玄,拆开看各有各的条件。

文笔。模型预训练里有大量文学语感,缺的不是好词,是动笔前没有确定这篇是谁在说。声音定了,句子的音乐就定了。没有声音的文字,堆多少词都像说明装置。这就是为什么我们把「成为作者」放在一切之前。

碎句。句子该断在哪,只有三个依据:一次感知结束,一个动作完成,一口气说完。碎句的病因不是短句多,是感知和动作被切散了。为了长短交替而切句,为了节奏变化而拆段,才会越改越碎。

温度。温度靠在乎。写作前知道这个人怕什么、想要什么、哪件事不能提,写作时才知道该盯住哪件具体的东西。不知道,就只能写「温暖、感动、心酸」,越写越冷。越具体越有温度,这句话反着说也成立:越急着点破情绪,文字越凉。

生硬。生硬的毛病大多出在连接上。转折先靠材料和语气的邻接,连词只在逻辑会丢的时候才出现。能靠语序、语义和上下文恢复的关系,不必明说。

机械感。机械感的来源只有一个:读者看见了方法。成品里没有章号、栏目、清单、固定句式,机械感就没有附着点。方法全部留在思考层,这一条做到了,前面几条才有意义。

插件不检查这五样东西。它只负责把模型放进能让条件成立的状态里。

---

跟别的工具比,差别在哪

同类工具大多在回答「这段文本哪里像 AI,我帮你改一下」。这个问法默认了两件事:文本已经写完,只能后处理;「像 AI」是一些可以定位的局部特征。两个默认都值得怀疑。

换词工具相信问题在词表。可模型是概率系统,删掉一批词,它会在同一分布里挑下一批。路径不变,味道不变。

正则库相信问题可以写进规则。可规则是固定的,固定规则会在所有文本上留下同一种形状,最终变成新的指纹。

检测器相信分数可以指导修改。可黑盒分数不稳定,围着它优化会过拟合,还会让人为了分数接受更差的文字。

一次性提示词相信一句话就能说清「自然」。可「自然」没有完整理论托底,模型自由发挥,内容跑偏也没人守。

去 AI 味技能卡相信换词、打散、口语化这些动作。它们都是后处理,天然过度,破坏原文,并且因为是共同动作而制造共同指纹。

这个插件做的事情不同。它不在写完以后动手,它在动笔以前把人叫回来。差别说到底:同类产品在教模型怎么把文本改得像人,这里在让模型动笔之前就是一个人。

---

证据与边界

这套体系不是凭感觉搭的,但也不想假装证据比实际更强。下面把几块关键证据和它们的边界一起说。

故事视镜研究(StoryVisor)用一万零二百七十二个写作提示收集人类作品和五类模型作品,一共六万一千六百零八篇短故事,每篇大约五千词,抽取三百零四项可解释特征。剔除四十七项依赖措辞、句法和韵律的文体特征以后,剩下二百五十七项叙事特征仍然拿到约九成三的宏平均调和分数。这个结果说明了什么、没有说明什么,要分清楚。它说明叙事结构本身携带很强的区分信息,换词不是主战场。它没有说明中文长篇、网文、对话密集文本也服从同一套比例,也没有说明改动叙事特征就能改变任意检测器的判断。所以我们的用法是把它当方向证据,不当操作手册。

结构性分布偏移研究给了另一个方向:简单语法扰动在对抗训练后容易失效,整体结构偏移更持久。重写距离和编辑透镜研究则提示,「经过一轮模型润色」这件事本身就可能是可疑信号,因为检测器能学习原文和机器重写之间的距离。这两块合起来,基本堵死了后处理这条路。

最直接的证据来自项目实战。一部第一人称中医悬疑小说,词句层完全达标的时候,检测结果还有 60.55%;重建章节级叙事设计以后降到 31.94%。数字本身不能外推,那是单项目、单检测器、特定题材的结果。但失败形态很有价值:不是词句不够达标,是每章都在复制同一套配方。

还有一层证据来自学科本身。材料有来源对应语言学的示证性和认识情态,注意力有选择对应聚焦和前景背景选择,判断有代价对应图尔敏式的论证结构,声音稳定且随情境变化对应语域研究,重复有功能对应衔接与指称稳定。我们做的不是发明这些概念,是把它们从不同学科里收拢到同一个写作问题下面。

边界也必须说清。这个插件不承诺任何检测器给出接近零的分数,不把检测分数等同于作者身份,不把检测器未公开的机制当作事实,不通过病句、错字、乱码换取结果变化,不把更复杂当成更像人。引用、数据、公式和来源不得由模型补造。这些限制不是姿态,是这套方法还能继续成立的前提。

完整理论展开见 [docs/THEORY.md](docs/THEORY.md),为什么这样设计见 [docs/WHY.md](docs/WHY.md),工程结构见 [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)。

---

工具

humanize_study(体裁, 模式) 动笔前必调一次,按体裁返回全部二十一章理论全文和三篇风格不同的示范文。

humanize_guard(原文, 成品) 只核对内容锚点保留和文字完好性,没有评分、检测和画像。

humanize_reference(章节) 单独查阅某一章时使用。

humanize_profile(文本) 已退役的兼容替身,只返回内容锚点。

---

安装与使用

# npm 源(推荐)
dsh plugin --profile web add dsh-humanizer

# Git 源
dsh plugin --profile web add "github:DEEP-IOS/dsh-humanizer"

装完重启 web。bundle 层栈在 boot 时合成,Node half 的改动需要重启才生效。

「用 humanizer 写这一章」进入创作模式,「用 humanizer 润色这段文本」进入润色模式。模型会先调 humanize_study 完整读一遍理论,然后开始写或改。

---

方法论章节

内容
00写作与润色总协议:读全、成为作者、一口气写、听一遍、停
01五个目标与六条不可承诺
02人类作者感的构成:材料、注意力、判断、声音、重复
03复杂度必须来自真实需求
04十五层语言分析,从语素到篇章的完整语言资源
05功能路径:同一路径会穿不同的衣服
06内部基线与认识来源图
07决策顺序与候选来源
08文章类文本的论证知识
09十维叙事:人物、社会网络、事件、情节、组织、场所、时间、揭示、视角、语言
10三重审核与留出测试
11写作前思考单:只存在思考里,不产出
12执行提示全文
13十二类禁止:所有「为了像人而做」的动作
14七类检测原理及其适用边界
15完成判据
16问题对照库:每类问题的证据、误判与处理
17五级复核尺度
18实战失败证据:配额为什么是新指纹
19后处理禁令与同类工具准入判据
20文笔与温度原理

---

常见疑问

模型不是已经知道这些理论吗,为什么还要完整读一遍?

知道和在场是两回事。完整阅读不是给模型灌输新知识,是把这些知识从背景里提到当前的生成现场,让它们参与接下来每一个选择。摘要和规则做不到这一点,因为降维后的规则只能指导表面动作。

不设门禁,模型偷懒跳读怎么办?

门禁挡得住表格,挡不住心不在焉。与其用程序检查一个可以伪造的工件,不如让阅读包本身足够完整、足够有说服力,让模型读完以后真的进入作者状态。成品里的生硬和机械感,就是最诚实的门禁。

润色模式怎么保证不会破坏原文?

标准在文本自己身上。模型先重建原文作者的声音和在乎,只改没写到位的地方,其余一字不动。真正认真写出来的句子,在这个标准下天然应该保留。

这套方法会不会自己也变成新指纹?

不会。它在文本层不留下任何统一形状,规定的是「选择是否做过」,不是「选择的结果长什么样」。每份材料的来源、注意力和代价天然不同,一千次执行会有一千种文本。

---

边界

本插件不输出概率,也不识别作者;它不会要求你把文本交给任何外部检测,更不会承诺某个检测分数。目标只有一条:文本背后站着一个具体的人。

开发

pnpm test

确定性层零依赖,测试使用 Node 内置的 node:test

License

MIT