ferdousbhai/no-ai-slop
GitHub: ferdousbhai/no-ai-slop
一款隐私优先的 Chrome 扩展,通过本地规则引擎和微调 Gemma 分类器对社交媒体帖子中的 AI 写作模式进行评分与过滤。
Stars: 0 | Forks: 0
# No AI Slop
No AI Slop 是一款隐私优先的 Chrome 扩展,用于对可观察的写作模式进行评分。
它将一个可检查的规则引擎与可选的本地分类器结合在一起。它并不声称能够确定某篇帖子是否由 AI 撰写。
该扩展目前支持 X 信息流中的英文帖子。检测、模型推理和隐私修正均在本地设备上进行。
该项目采用公开开发方式。原始代码和文档遵循 Apache-2.0 协议;抽样文本保留其上游的行级许可协议;最终派生自 Gemma 的权重将在生产环境闸门通过后,根据 Gemma 条款发布。
## 现有功能
- 确定性的词汇、结构、重复和标点符号检测结果,并提供确凿的证据和修复建议
- 保守的混合策略,将规则判断与模型判断区分开
- 注释、淡化以及可逆的隐藏处理
- X 信息流发现功能,不会读取私信(DM)、撰写字段或搜索输入框
- 首次使用时的模型下载,带有字节数统计和 SHA-256 验证
- 通过 WebGPU 运行的 q4 和 q8 ONNX 分类器,并备有 WASm 回退机制
- 本地修正、阈值自适应、清理以及无文本导出
- 可重现的数据验证、去重、分组拆分、训练、评估、校准、量化及发布清单工具
- 包含 2,406 行混合来源的试点语料库,具有固定来源、盲注任务、许可证清单以及严格的无占位符训练闸门
- 可重现且易读的双代理(two-agent)标注 pipeline:高投入提案、对每个标签的极高投入审查、10% 的提案隐藏一致性检查,以及仅针对触发风险例外情况的人工审查
- 具备分层抽样、来源、审计决策以及无文本审查导出功能的离线数据集阅览室
- 公开的抽样、标注、发布、可重现性以及模型权重政策
## 快速开始
环境要求:Node 22+、pnpm 10+、Python 3.11–3.13、uv 以及 Chrome 124+。
```
pnpm install
uv sync --project ml --extra training --extra export --extra dev
pnpm data:candidates:bundle
pnpm data:review:build
pnpm data:build
pnpm check
pnpm build
```
在 `chrome://extensions` 中使用 **加载已解压的扩展程序** 加载
`/Users/x/Code/no-ai-slop/apps/extension/dist`。
已提交的默认配置会立即运行确定性引擎。在模型下载控件激活之前,
必须在 `apps/extension/src/settings.ts` 中配置一个发布模型的代码库。
在训练之前,运行 `pnpm data:review` 并打开输出的 localhost URL。
阅览室会公开语料库审计所需的来源和许可证元数据,将决策存储在本地,
并且导出的审查记录中不包含候选文本。
## 仓库结构图
| 路径 | 用途 |
| --- | --- |
| `apps/dataset-review` | 离线人类可读的语料库审计工具 |
| `apps/extension` | Manifest V3 扩展程序及浏览器推理 |
| `packages/rules` | 确定性检测器和 JSONL CLI |
| `packages/detector` | 混合处理策略 |
| `packages/shared` | 共享 schema |
| `ml` | 数据、训练、评估、导出和发布工具 |
| `data/seeds` | 小型 pipeline 固定组件,非生产训练数据 |
| `data/candidates` | 混合许可的未标记试点分片、来源注册表和构建报告 |
| `data/annotation` | 响应 schema 和本地生成的来源盲审任务 |
| `docs` | 架构、隐私、训练、模型、数据集和发布说明 |
| `licenses` | 非 Apache 发布产物的条款和声明 |
## 公开发布边界
| 产物 | 当前状态 |
| --- | --- |
| 代码、规则、扩展、数据 pipeline 和文档 | 在 Apache-2.0 协议下公开 |
| 试点抽样策略、修订、种子、清单和哈希值 | 已记录且可重现 |
| 试点源文本 | 混合许可;公开重新分发需要署名和法律审查 |
| 盲测任务映射和审查者记录 | 在标注期间保持私密 |
| 生产标签和冻结的评估集 | 尚未收集;必须先通过最新的校准迭代 |
| 最终 Gemma checkpoint、FP32、q4 和 q8 权重 | 将在模型和许可证闸门通过后公开 |
| Bootstrap Gemma checkpoint | 仅用于本地诊断;绝不会作为发布检测器 |
| 公共产品网站和隐私政策 | 计划在 Cloudflare Workers Static Assets 上实现 |
请从 [SPEC.md](./SPEC.md) 开始阅读,然后阅读
[docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md) 和
[docs/RATIONALE.md](./docs/RATIONALE.md)。发布契约位于
[OPEN_SOURCE.md](./OPEN_SOURCE.md) 中,并包含针对
[data](./docs/DATA_RELEASE.md)、[weights](./docs/WEIGHTS_RELEASE.md) 和
[reproducibility](./docs/REPRODUCIBILITY.md) 的单独指南。源码可见的预训练
审计在 [docs/DATASET_REVIEW.md](./docs/DATASET_REVIEW.md) 中,来源盲测的
提案/审查契约在
[docs/ANNOTATION_GUIDE.md](./docs/ANNOTATION_GUIDE.md) 中,校准
历史记录和当前闸门记录在
[docs/ANNOTATION_CALIBRATION.md](./docs/ANNOTATION_CALIBRATION.md) 中。
规范化仓库:
- [Source](https://github.com/ferdousbhai/no-ai-slop)
- [Dataset staging](https://huggingface.co/datasets/ferdous/no-ai-slop-data)
- [Model staging](https://huggingface.co/ferdous/no-ai-slop-gemma-3-270m)
[bootstrap candidate record](./docs/BOOTSTRAP_CANDIDATE.md) 展示了完整的
Gemma-to-WebGPU 路径,而不会将种子数据的指标视为产品证据。
运行 `pnpm release:audit` 以生成一份机器可读的完成报告,该报告会将冒烟测试证据与生产就绪状态区分开来。
贡献请遵循 [CONTRIBUTING.md](./CONTRIBUTING.md) 中的流程。
漏洞应按照 [SECURITY.md](./SECURITY.md) 中的说明进行私密报告。
标签:AI内容检测, CNCF毕业项目, MITM代理, 数据可视化, 本地推理, 机器学习工程, 浏览器扩展, 网络安全, 逆向工具, 隐私保护