Token导航 LogoToken导航TokenDH.com
Slop Guard logo
运维云端stdio官方级别未说明来源级核验

Slop Guard

MCP Server

基于规则的文本检测工具,通过200+启发式方法识别AI生成文本模式并给出0-100评分。

工具数

2

提示词数

0

GitHub Stars

136

资源数

0
PythonClaude云端部署Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

eric-tramel

提供方

eric-tramel

最后核验

2026/5/17 20:19

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uvx --from slop-guard sg README.md

详细介绍

斜坡防护装置

![Docs](https://eric-tramel.github.io/slop-guard/docs/)

一个基于规则的散文连字号,为公式化的人工智能写作模式对文本进行0-100的评分。没有LLM法官,没有API调用。纯粹是程序性的。

默认管道加载23个可配置规则,由200多个文字和结构启发式算法支持。它返回一个数字分数、一个乐队标签、与周围环境的具体违规行为,以及每次点击的具体建议。

添加到您的代理

两个客户端使用相同的MCP命令: uvx slop-guard. 如果你想要一个自定义规则JSONL,请附加 -c /path/to/config.jsonl.

克劳德代码

从命令行添加:

claude mcp add slop-guard -- uvx slop-guard

添加到您的 .mcp.json:

{
  "mcpServers": {
    "slop-guard": {
      "command": "uvx",
      "args": ["slop-guard"]
    }
  }
}

法典

从命令行添加:

codex mcp add slop-guard -- uvx slop-guard

添加到您的 ~/.codex/config.toml:

[mcp_servers.slop-guard]
command = "uvx"
args = ["slop-guard"]

如果你想要一个固定的释放,把它钉上 args例如: ["slop-guard==0.4.1"].

命令行界面

sg 从终端命令lints散文。没有API密钥,没有网络调用。

快速开始

# Run without installing
uvx --from slop-guard sg README.md

# Or install it
uv tool install slop-guard
sg README.md

用法

sg [OPTIONS] INPUT [INPUT ...]

sg 需要至少一个输入。每个输入可以是文件路径, - 对于stdin或引用的内联散文文本:

sg "This is some test text"
echo "Latency dropped from 180 ms to 95 ms." | sg -

一次抓取多个文件(shell级glob扩展):

sg docs/*.md README.md
sg path/**/*.md

选项

标志描述
-j, --json以JSON格式输出结果,包括 source 作为原始内联/stdin文本或完整文件路径
-v, --verbose显示个人违规行为和建议
-q, --quiet仅打印未达到阈值的源
-t SCORE, --threshold SCORE最低及格分数(0-100)。如果任何输入分数低于此值,则退出1
-c JSONL, --config JSONLJSONL规则配置的路径。默认为打包设置
-s, --score-only仅打印数字分数输出
--counts在摘要行中显示每条规则的点击次数

例子

# One-line summary per file
sg draft.md
# => draft.md: 72/100 [light] (1843 words) *

# Score-only output
sg -s draft.md

# Use a custom rule config
sg -c /path/to/config.jsonl draft.md

# Verbose output with violations and advice
sg -v draft.md

# JSON for scripting
sg -j report.md | jq '.score'

# JSON preserves the true CLI input identity
sg -j "The migration finished in 12 seconds." | jq '.source'
# => "The migration finished in 12 seconds."

# CI gate: fail if any file scores below 60
sg -t 60 docs/*.md

# Quiet mode: only show failures
sg -q -t 60 **/*.md

退出代码

代码含义
0成功(所有文件都通过阈值,或未设置阈值)
1一个或多个文件得分低于阈值
2错误(文件路径错误、读取失败等)

适配规则配置(sg-fit)

使用 sg-fit 从语料库数据中拟合JSONL配置规则:

# Legacy shorthand
sg-fit TARGET_CORPUS OUTPUT

# Multi-input mode (for shell-expanded globs or many files)
sg-fit --output OUTPUT TRAIN_INPUT [TRAIN_INPUT ...]

例子:

sg-fit data.jsonl rules.fitted.jsonl
sg-fit --output rules.fitted.jsonl **/*.txt **/*.md

可选参数:

  • --init JSONL:从特定的规则配置JSONL开始,而不是打包的默认值。
  • --negative-dataset INPUT [INPUT ...]:添加负数据集输入。这个标志可以重复;所有负行都被标准化为标签 0.
  • --no-calibration:跳过拟合后对比惩罚校准,以便在大型语料库上更快地拟合。
  • --output JSONL:当您通过多个培训输入时,此项为必填项。

目标语料库行可以是:

{"text": "body of text", "label": 1}

或者:

{"text": "body of text"}

如果 label 在目标语料库中省略, sg-fit 将其视为 1 (积极/目标风格)。

sg-fit 也接受 .txt.md 文件夹。每个文件都被标准化为一个训练样本。

安装

需要 紫外线.

无需安装即可运行(建议用于MCP设置):

uvx slop-guard
# MCP server with custom rule config
uvx slop-guard -c /path/to/config.jsonl

持续安装(为您提供 slop-guard, sg,以及 sg-fit):

uv tool install slop-guard

重复性引脚版本:

uvx slop-guard==0.4.1

升级已安装的工具:

uv tool upgrade slop-guard

来源

从本地结账:

uv run slop-guard               # MCP server
uv run slop-guard -c config.jsonl
uv run sg            # CLI linter
uv run sg-fit data.jsonl rules.fitted.jsonl

核心开发工作流程也通过以下方式公开 make:

make sync
make check
make fix
make build
make verify-wheel

MCP工具

check_slop(text):分析字符串。仅返回JSON诊断;它不会重复输入文本。

check_slop_file(file_path):从磁盘读取文件并对其进行分析。输出相同,不重复有效负载中的文件路径。

它捕获了什么

默认规则包括股票炒作词和样板短语、辅助语气标记、未归因的黄鼠狼短语、人工智能自我披露、占位符文本、项目符号/区块引用/水平规则重的Markdown结构、句子和段落节奏,以及破折号或冒号的过度使用。

他们还标记了对比/设置-解决告诉、简洁的片段、重复的4-8个单词的短语、系词链、超长句子、格言式的结尾和不均匀的段落节奏。

10个单词以下的文本将被跳过,并返回一个干净的 100.

否则,评分使用指数衰减: score = 100 * exp(-lambda * density),其中密度是每1000个单词归一化的加权惩罚和。克劳德特定类别(对比度对、设置分辨率、简洁片段)会得到浓度倍数。重复使用相同的tic比不同的违规行为成本更高。

评分乐队

分数乐队
80-100清洁
60-79光线
40-59中等
20-39重型
0-19饱和

输出

命令行界面 --json 输出和MCP工具响应共享此结构:

source         CLI JSON only; raw inline/stdin text or full file path
score          0-100 integer
band           "clean" / "light" / "moderate" / "heavy" / "saturated"
word_count     integer
violations     array of {type, rule, match, context, penalty, start, end}
counts         per-category violation counts
total_penalty  sum of all penalty values
weighted_sum   after concentration multiplier
density        weighted_sum per 1000 words
advice         array of advice strings, one per distinct issue

MCP工具响应省略 source,因为工具运输工具已经携带 输入参数。

violations[].type 总是 "Violation" 用于打印记录。

基准快照

分数分布示例 benchmark/us_pd_newspapers_histogram.pyPleIAs/US-PD-Newspapers (一个本地分片的前9001行):

slop-guard score histogram

示例分数与长度散点图 benchmark/us_pd_newspapers_scatter.py 在同一个分片上:

slop-guard score vs length scatter

根据规则计算时间曲线的示例 benchmark/compute-time.py + benchmark/chart.py (以最大长度标注最慢的规则):

slop-guard per-rule compute time

许可证

麻省理工学院

致谢

  • @米亚诺特 感谢他们的贡献和许多关于该项目的有益对话。

目录标签

目录标签

PythonClaude云端部署文本分析本地部署AI检测写作辅助自然语言处理质量控制

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP