mcpField
P
Patina

Patina

本地服务
github.com生产力11 天前更新

关于 Patina

Patina 是一款离线写作检查工具,适合修改 AI 生成或自行撰写的草稿。它会标出可能显得像机器生成的句子并说明原因,但不会改动文件。

主要功能

  1. 01标记机器化短语和句式
  2. 02为可预测句子排序
  3. 03将句子特征与人类写作范围对比
  4. 04检查短标题和标语
  5. 05提供不同写作场景的配置
  6. 06以命令行工具和 MCP 服务运行

适用场景

  1. 01分享前检查 AI 草稿
  2. 02发现个人写作中的风格习惯
  3. 03发布前检查标题
  4. 04在 CI 或提交前加入写作检查

MCP 相关

Patina 可在本机作为 MCP 服务运行,提供 patina_check、patina_explain、patina_rules 和 patina_profiles 四个工具,以及 rewrite_with_patina 提示词。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbpatina-mcp-0.7.5.mcpb0.7.5

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Patina

借助 AI 写作,依然保留你的风格。 Patina 会标出草稿中读起来像机器写的句子,并告诉你原因。

AI 草稿能节省时间,但往往也会留下几句你认识的人都不会说的话。Patina 会找出这些句子,并解释每句露馅的原因。它绝不会动你的文件,因此改写和写作风格都由你掌控。

它也适用于你亲自写的内容。如果人们总说你的作品听起来像 ChatGPT,Patina 会展示他们听到的是哪些习惯,由你决定哪些要保留。

检查内容

  • 露馅点:读者已经学会识别的套话和句式。
  • 可预测性:按优先级列出大模型最可能先写出的句子,让你知道从哪里开始。
  • 句法范本:将每句话与两本已出版小说进行对比,衡量语法、用词、开头方式和逗号位置。超出人类范围的句子会被标出。
  • 短句:为标题和标语提供简报、筛选器和冷读测试,让你在发布前了解陌生人是否能看懂。

前后对比

一篇短篇小说的开头:左侧是初稿 AI 草稿,右侧是用 Patina 改写后的同一场景。

同一篇故事的开头,左侧为初稿 AI 草稿,右侧为 Patina 改写稿

每份草稿都不一样,所以最好的测试对象就是你自己的作品。它是免费的:用你写的内容试试看。

快速开始

你需要 Node 18 或更高版本。无需安装其他东西。

npx github:taxmanhaven/patina-showcase check my-draft.md

每个标记都会附上行和列、严重程度,以及读起来像机器写的原因:

my-draft.md:3:1   warning connector-open  "Moreover,"  Let the ideas join by their own logic.
my-draft.md:3:14  warning style-words     "delve"      Use the plain word a person would say.

不确定某个标记是什么意思?使用 patina explain style-words。

使用 --profile 选择适合读者的配置:fiction、web(默认)、email、pro-email、technical、playful、captions、spoken、headline、testimonial 或 ui。如果你克隆了仓库,运行 node tools/cli.mjs 即可达到相同效果,无需 npx。

在你的 AI 应用中使用

Patina 也可以作为 MCP 服务运行,因此 Claude、Cursor 或任何支持 MCP 的应用都能在把草稿交给你之前自行检查。它在你的设备上离线运行,绝不会更改你的文本。应用可以使用四个工具(patina_check、patina_explain、patina_rules、patina_profiles)和一个提示词 rewrite_with_patina:先检查,只改写标记的句子,再次检查。

Claude Code:

claude mcp add patina -- npx -y github:taxmanhaven/patina-showcase mcp

Claude Desktop、Cursor 和其他应用只需在 MCP 设置中使用相同的命令:

{
  "mcpServers": {
    "patina": { "command": "npx", "args": ["-y", "github:taxmanhaven/patina-showcase", "mcp"] }
  }
}

然后提出请求:“写一封产品发布邮件,并在给我看之前用 Patina 检查一遍。”

在 CI 中或提交前使用

通过时退出代码为 0,草稿不符合其配置要求时为 1,因此拉取请求无法合并读起来像套话的页面。--format github 会在拉取请求中行内显示标记:

- uses: actions/checkout@v4
- uses: actions/setup-node@v4
  with: { node-version: 20 }
- run: npx -y github:taxmanhaven/patina-showcase check docs/*.md --format github

--format json 会将相同的标记提供给你自己的脚本。--fail-on any 会在出现任何标记时失败;--fail-on never 则只报告。

设置

patina init 会创建 .patinarc.json。Patina 会在文件所在文件夹及其所有上级文件夹中查找该文件:

{
  "profile": "web",
  "profiles": { ".md": "web", ".txt": "email" },
  "disable": ["em-dash"],
  "protect": ["A line you wrote on purpose"],
  "failOn": "gate"
}

disable 可以接受一条规则(style-words)、一个类别(triplet)或一项衡量指标(rhythm、specificity)。patina rules 会列出所有规则。

更多工具

处理大量简短的应用文案时,使用 batch:

node tools/patina.mjs batch strings.json --report report.md

对于标题或标语,填写 templates/headline-brief.txt,然后:

node tools/patina.mjs brief brief.txt
node tools/patina.mjs lines --brief brief.txt --candidates candidates.txt

每个候选项按 technique | line / subline 的格式编写。相关技巧见 craft/headlines.md。

可选扩展
  • 可预测性地图和冷读工具会通过兼容 OpenAI 的 API 调用大模型(默认使用 Prima Labs)。请将密钥放入 PRIMALABS_API_KEY 环境变量中。Patina 会在进程中读取该密钥,且绝不会打印出来。 node tools/predict.mjs my-draft.md --out predict.md
  • Copybook 的语法层需要 Python 3.12,以及 spaCy 和 wordfreq;这些需要自行安装:
    pip install "spacy>=3.8,<3.9" wordfreq
    python -m spacy download en_core_web_md
    python tools/intro_commas.py check my-draft.md
    
    如需将整篇草稿与人工写作范围进行对比:运行 node tools/sentences.mjs label my-draft.md --out draft.lab.jsonl(需要密钥),然后运行 python tools/anatomy.py draft.lab.jsonl draft.an.jsonl,再运行 node tools/copybook.mjs --draft draft.an.jsonl --panel。

Copybook 自带 norms/norms.json,其中包含人工写作范围,因此无需图书即可使用。规范中只有数字,不包含任何书籍正文。

此目录包含什么

文件夹内容
tools/命令行工具(cli.mjs)、MCP 服务(mcp.mjs)、检查器、可预测性地图、Copybook 和测试(npm test)
craft/标题写作指南和句子代码手册
norms/根据两部已出版小说测得的人工写作范围,附带来源
templates/标题简报
glossaries/产品设计用语示例列表,用于检查设计用语泄漏
examples/上文的前后对比图
corpus/一章公有领域文本(Willa Cather 的 My Antonia),用作人工写作基准

明确的局限

  • Patina 会指出问题,但不保证你的文本能通过任何检测器。专业读者能看穿换词,因此修正需要你自己重写。
  • 规范来自小说。用于 README 或销售页面时,请将其视为参考指南。
  • 扫描结果只是底线。最终由你自己的语感和你信任的读者来判断。

许可证

MIT。可使用、修改并在此基础上构建。examples/before-after.png 中的故事节选除外:其版权仍归作者所有。详情见 LICENSE 和 NOTICE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。