关于 being-human
being-human 是本地运行的 Python 工具,可从提示历史或指定文件学习个人写作模式,并生成量化的风格规则和个性化避用词。它还可检查草稿中的通用 AI 写作特征,并判断文本是否符合用户风格。
主要功能
- 01从提示或文件学习写作风格
- 02对比用户与模型的用词
- 03检查通用 AI 写作特征
- 04用统计距离验证写作归属
- 05导出规则并生成风格卡片
适用场景
- 01根据对话历史生成写作指引
- 02检查草稿中的通用 AI 写作模式
- 03判断文本是否接近个人写作风格
- 04向支持的目标导出风格档案
MCP 相关
MCP 服务提供七种工具、两个资源和两个提示词。工具会在返回结果时附带风格规则;README 还列出客户端配置和 `being-human-mcp` 命令。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
7收录的工具列表 · 更新于 3 周前
此工具无需参数。
详细介绍
being-human
你的助手写起东西来像新闻稿,因为它不了解你是谁。这个工具会告诉它。
being-human 会读取你已经输入过的提示词,衡量你实际的写作方式,并向模型提供足够具体、可供遵循的风格描述。它还会通过与模型自身的输出进行对比,生成一份应避免使用的词语列表,因此这份列表只针对你,而不是借自某篇介绍 ChatGPT 特征的博客文章。
本地运行,使用标准库 Python 3,无依赖,无网络请求。
我的写作,由这个工具衡量。每条横线都代表一个真实句子。使用 being-human card 创建你自己的图谱。
快速入门
pip install being-human
being-human learn --name "Your Name" # harvest your writing, measure it
being-human check draft.md # AI tells
being-human verify draft.md # is it statistically you?
being-human export --target chatgpt # or agents, cursor, system, json
being-human card # draw your voiceprint as a shareable svg
没有 Claude Code 历史记录?可以指定 ChatGPT 导出文件或你自己的文件:
being-human harvest --source chatgpt --path conversations.json --out .being-human/ --contrast
being-human harvest --source files --path ~/Documents/writing --out .being-human/
输出内容
带有具体数字的写作指引,因为“简洁一点”并不可操作,而“你的消息中位数是 12 个词”则可以:
- Write "i" lowercase. They do, 83% of the time.
- Vary sentence length hard. Theirs average 9 words but deviate 8, up to 81.
- No exclamation marks. Rate is 0.28 per 1k.
- Don't hedge. Hedge rate is 1.1 per 1k -- they assert.
对比技巧
你的对话记录包含每段对话的双方内容。因此,可以通过对数几率为每个词评分:在相同主题、相同对话中,你使用该词的可能性比模型高多少。列表顶部是你的写作风格,底部则是模型的。
我的结果是 actually, clean, rather, genuinely, exactly, roughly。这些词都没有出现在任何已发布的 AI 常用词列表中。它们是这个模型和我交流时特有的习惯用词。你的结果会有所不同,因为对比对象是你的写作。
两项检查,而非一项
它们能发现不同的问题,通过其中一项并不代表通过另一项:
check | 这是不是泛泛的 AI 写作?特征词、节奏、结构 |
verify | 这像不像你?作者风格差异、Burrows's Delta,并与从你自己的语料中重新采样、长度匹配的空模型进行对比 |
在我自己的语料上测得的结果:
| 作者风格 | AI 腔 | |
|---|---|---|
| 我的写作 | 第 6 百分位,是我 | 99/100 |
| 泛泛的 LinkedIn AI 腔 | 第 19 百分位,像我? | 0/100 |
| 别人写的 README | 第 94 百分位,不是我 | 97/100 |
第二行的问题就在这里:AI 腔的语法平平无奇,因此作者风格差异检查会放过它。第三行则是干净利落、没有明显特征,却显然出自不同的人手笔。其他人都不会检查第二种情况,而它恰恰最容易造成问题。
留出的真实写作片段位于第 49 至 60 百分位,高于 p97 的误报率为 1–6%。阈值因人而异。破折号会根据你实际使用的频率来判断,而不是套用通用规则,因此不会惩罚那些确实经常使用破折号的人。
MCP 服务
claude mcp add being-human -- being-human-mcp
包含七个工具、两个资源、两个提示词。Claude Desktop、Cursor、Codex 和 Zed 的配置见 mcp/README.md。
MCP 工具由模型调用,但没有任何机制能强制模型调用某个工具;当载荷本身具有指导作用时,这会很棘手。因此,每个工具都会在返回自身结果的同时附上写作风格规则。服务中不存在只返回分数、不附带目标文本的路径。
此外还有 Claude Code 插件,可通过
/plugin marketplace add Syedomershah99/being-human 安装。它提供
/being-human:learn、:check、:write、:verify、:export,以及一个会在你输入时扩充语料的钩子。
隐私
所有操作都在本地进行。搜索 urllib、requests 或 socket,什么也找不到。机密信息会在采集时进行脱敏,然后才会写入磁盘;.being-human/ 也已加入 gitignore。写作风格图谱可以安全分享,但用于生成它的语料不行。
现有方案
2026 年,这个领域已经相当拥挤。 inside-lago 提出了核心观点, slop-guard 是成熟的 slop 检查工具,idiolect 在架构上最为接近,而 writer-persona 提出了其中最好的想法:通过回测验证画像,而不是盲目信任它。
这里有两点是我在其他地方没找到的。用户与模型的对比分析,会从你自己的对话记录双方推导出避免用语清单,而不是依赖人工整理的列表。还有确定性冒名测试。writer-persona 会在 8 个维度上使用 LLM 评判;这只是算术运算,因此无需成本,而且每次都会返回相同的结果。
Burrows 的 Delta 和采用狄利克雷先验的对数几率都是成熟的方法。这里的主张在于应用方式和校准,而非统计学本身。
许可证
MIT。提示词清单位于 data/slop-lexicon.json。如果你反复看到某些不在其中的内容,请提交 PR。
mcp-name: io.github.Syedomershah99/being-human
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。