Airsc miễn phí cho tất cả. Nếu nó giúp bạn, hãy ủng hộ $2–$20.

Ủng hộ
PluginAn toànTài liệu & nội dungCần cài đặt chút

sloptrim

seyedehsanhadi · seyedehsanhadi/sloptrim

Phát hiện các kiểu viết do AI tạo ra ("slop") trong các tệp văn xuôi, chấm điểm và gắn cờ các khu vực cần sửa đổi mà không cần truy cập mạng hoặc mô hình.

Một trình phát hiện cục bộ các mẫu văn bản do AI viết. Chấm điểm mọi tệp văn xuôi mà agent của bạn lưu. Chỉ sử dụng thư viện chuẩn Python, không mạng, không mô hình.

212 sao18Giấy phép: Apache-2.0Cập nhật 13 ngày trước0 lượt mở

Xem trước

▍

Bạn có thể làm gì với nó

  • Cải thiện chất lượng tài liệu hoặc nội dung marketing do AI tạo ra.
  • Phát hiện và tinh chỉnh các kiểu viết dài dòng hoặc theo công thức của AI.
  • Đảm bảo văn xuôi giống người trong đầu ra của agent mà không cần dịch vụ bên ngoài.

Kiểm tra an toàn

An toàn

Không thấy dấu hiệu rủi ro trong các file đã quét.

Quét tự động các file trong repo. Luôn xem lại code trước khi chạy.

Trích từ README

A local detector for AI-writing patterns. It scores the first 262,144 characters of extracted prose in files saved through supported file-edit tools, and asks for the flagged spans to be fixed. Plain text is accepted up to 512 KB, supported archives up to 4 MB. Python standard library only, no network, no model. Prose only, never code.

Install · What it does · Measured · Limits · Patterns · Ethics

[!IMPORTANT] This is a command-line tool and an agent plugin. There is no website and no hosted version. Nothing you write is uploaded, there is no account, and no text ever leaves your machine. Any site offering a service under this name is unrelated to this project.

A recorded session, not a mock-up. record/session_capture.py fires the real hooks with the payloads Claude Code sends and writes record/session.json; record/anim.py draws it. The hook lines, the scores and the milliseconds come from that capture; the grey labels beside them are narration. The prose being scored is record/draft.md, a short piece written for the recording.


Install

Paste into Claude Code, Codex, Cursor, or any coding agent:

Install the sloptrim plugin from https://github.com/seyedehsanhadi/sloptrim

Restart, then run /sloptrim doctor. It answers with four [OK] lines. They test the local install, not whether the host delivers hook events, so save a prose file and look for its entry in /sloptrim show.

Explicit commands, and installing without the marketplace

/plugin marketplace add seyedehsanhadi/sloptrim
/plugin install sloptrim@sloptrim
git clone https://github.com/seyedehsanhadi/sloptrim.git ~/.claude/skills/sloptrim
mkdir -p ~/.claude/commands
cp ~/.claude/skills/sloptrim/install/sloptrim-command.md ~/.claude/commands/sloptrim.md

Do not skip the mkdir. On a fresh machine ~/.claude/commands does not exist yet and the copy fails with "No such file or directory". In PowerShell the last two lines are New-Item -ItemType Directory -Force $HOME/.claude/commands and Copy-Item. The copy puts /sloptrim in the / menu, because Claude Code does not scan a skill folder's own commands/. A marketplace install needs no such step. Either way the router also answers to /sloptrim:sloptrim.

What it does

The score is 0-100 against 71 documented patterns. 62 of them have a detector; the other 9 need a reading and are worked during the rewrite. Of the 62, 50 can move the score and 12 are reported as writing advice and count for nothing: most of them because measurement showed they mark formal register rather than machine authorship, the rest because they are typographic habits.

Formats20, including .docx, .pptx, .xlsx, OpenDocument, .epub, .ipynb, LaTeX; the first 262,144 characters of extracted prose is scored
Runs inClaude Code, on save. Other agents via /sloptrim init, which writes the contract to AGENTS.md, and .cursor/rules/
NeedsNode for the hooks, Python 3.9 or newer for the detector, nothing else
Suite197 Python tests and 72 hook checks, with CI configured for Linux, Windows and macOS, against Python 3.9 and 3.13 (macOS on 3.13)
Does not seeA file written by a Bash command, which reaches disk without passing Write or Edit
CommandEffect
/sloptrim fullContract + guard (default)
/sloptrim strictFlags at 20 instead of 40, and asks for a character scrub
/sloptrim lite / offContract only / nothing
/sloptrim check <file>Score a file, name the tells, no rewrite
/sloptrim initWrite the contract to ./AGENTS.md and a Cursor rule to ./.cursor/rules/
/sloptrim doctorDiagnose the install
python scripts/detect.py draft.docx    # JSON: patterns, metrics, 0-100 score

A score lands in one of five bands: clean, light tells, mixed, heavy tells, pervasive tells. The guard nudges above 40, or above 20 in strict mode.

Measured

Sloptrim's public matched benchmark uses five separate 30-human/30-machine arms from the Human Detectors release, pinned at commit afcf03d. Each arm is matched by prompt and scored separately. AUC is a ranking measure, not accuracy at Sloptrim's guard threshold.

machine armROC-AUCbootstrap 95% CIdefault TPR / FPR
GPT-4o0.9460.876–0.99246.7% / 0%
Claude 3.5 Sonnet0.8420.729–0.9363.3% / 0%
o1-pro0.8770.771–0.95723.3% / 6.7%
paraphrased GPT-4o0.8380.735–0.9296.7% / 3.3%
humanized o1-pro0.7620.648–0.8710% / 3.3%

Across these arms, Sloptrim achieved ROC-AUC 0.762–0.946. Confidence intervals use 10,000 paired prompt-cluster bootstrap resamples. The public result record pins the source hash; the harness refuses any other file. The benchmark texts are not redistributed here.

git clone https://github.com/jenna-russell/human_detectors.git
git -C human_detectors checkout afcf03d14d2da4a038d8d0fafa5ec779dd858181
python scripts/benchmark_frontier.py PATH_TO_HUMAN_DETECTORS_JSON

What it cannot do

Format support means reading selected text, not rebuilding every document. DOCX/DOCM read main-body paragraphs and tables, excluding headers, footers and comments. Explicit code styles (Code, SourceCode, CodeBlock, CodeChar, HTMLPreformatted) are excluded; inherited styles and unmarked code are not resolved. Monospace fonts alone do not imply code. PPTX/PPTM read slide text, excluding speaker notes. XLSX/XLSM read cell text; OpenDocument reads content.xml; EPUB reads HTML/XHTML members; notebooks read Markdown cells only. Embedded images/OCR are unsupported. PDF and RTF are r

Xem mã nguồn trên GitHub