把 AI 答案/竞品内容当语料,找出反复出现的说法、被反复引用的信源与答案同质化程度
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Documented (README)
git clone https://github.com/savantcat/pattern-radarTools overview
# 竞品内容 Pattern 雷达 · pattern-radar
把「AI 答案 / 竞品内容」当语料,找出**反复出现的说法**——谁被反复提到、AI 反复引用哪些信源、答案空间是否已经固化。
纯标准库、零依赖、**只读**。clone 下来就能跑。
已托管为公网 MCP 服务,**不用装任何东西就能用**:`https://savantcat.cn/mcp-radar`
[](LICENSE)
[](requirements.txt)
[](https://github.com/savantcat/pattern-radar/actions/workflows/ci.yml)
[](https://m8ven.ai/mcp/savantcat/pattern-radar?s=readme)
---
```
python radar.py --selftest # 必跑:对照组自检
python radar.py --input <记录.json> --brands 我家,竞品A,竞品B --out 报告.md
```
## 它回答的问题
1. **AI 对这个问题已经形成什么固定说法?**(重复 Pattern + 覆盖率)
2. **谁在这类答案里占位?**(主体覆盖率)
3. **AI 实际上把谁当信源?**(被反复引用的域名)
4. **答案空间固化到什么程度?**(同题相似度)
## 口径(重要,别误用)
- **Pattern = 覆盖度**:出现在越多回答里,越像「AI 对这个问题的默认说法」。覆盖率 = 覆盖回答数 / 总回答数。
- **阈值不是拍脑袋的**:先取语料的高覆盖 n-gram 作种子,向左右逐字扩展成完整短语(所以给出的是「百度智能云」而不是碎片「度智能云」)。
- **空阈值用零假设模拟得出**:把每篇答案的字符内部打乱(保留长度与字频、摧毁短语),重算最大覆盖,取 **p95**;真实阈值 = max(空阈值+1, 3)。这是自校准的,不是经验常数。
- **占位符域名会被剔除**:答案正文里的「你的域名」这类模板文字不是信源,报告中标 ⚠️ 且不进结论。
## 对照组标定结果(v1.0.0 实测)
`--selftest` 造两份答案已知的语料:
| 对照组 | 期望 | 实测 |
|---|---|---|
| A 健康组(注入 10/12 条重复短语 + 同一信源 8 次) | 检出 | ✅ 检出,覆盖 100%;信源识别正确 |
| B 病态组(每条只用互不重叠的字,真无重复) | 零误报 | ✅ 检出 0 个 |
| 负对照(A 语料字符打乱) | 恒为 0 | ✅ 0 个(链路不造伪 Pattern) |
| 样本闸门(5 条样本) | 必须拒 | ✅ 拒答并说明原因 |
> 对照组本身也被验证:自检会先断言「B 真的没有跨答案重复」,不满足就报**语料构造错误**而不是改工具。第一版自检就是这么抓出我的语料写错了(12 条答案共用同一模板串)。
## 边界(明说,不含糊)
- **只做字符级 n-gram,不做语义聚类**。同义不同形(「AI 客服」vs「智能客服」)不会合并。
- **不判情绪、不判内容好坏、不预测流量或 ROI**。覆盖率高 ≠ 评价好。
- **样本 < 12 条直接拒绝出分**,不硬凑。低于这个量算出来的是噪声,比没有更误导。
- **换语料形态(英文、长文)需重新标定**:当前阈值是在中文短答案(每篇数百字)上标定的。
- **只读**:不修改任何输入文件(可用 md5 前后比对自证)。
- 引用 URL 只做提取与域名统计,**不做可达性验证**(打不开可能是反爬,不等于幻觉)。
## 输入格式
两种都吃:
- `geo-monitor` 的记录:`{"samples": [{"question","platform","run","answer"}, ...]}`
- 纯数组:`[{"question","answer","platform"?,"run"?}, ...]`
空答案会被丢弃并计数,不当成数据。
## 报告骨架
```
一、AI 答案里的重复 Pattern(含零假设阈值)
二、竞品占位(谁被提到 / 覆盖率 / 是否出现在靠前位置)
三、AI 反复引用的信源(信源池占位,占位符已剔除)
四、答案空间同质化程度(同题两两相似度)
五、最该先修的一件事(只给一条)
附录:口径与边界
```
第五节刻意**只给一条建议**——需要的是下一步动作,不是十条清单。
## 怎么接入
**用远程端点(推荐,零安装)** —— 任何支持 MCP 的客户端填 URL 即可:
```json
{"mcpServers": {"pattern-radar": {"url": "https://savantcat.cn/mcp-radar"}}}
```
三个工具:`analyze_patterns`(主分析)· `self_check`(先验尺子可用)· `explain_method`(口径与边界)。
**本地 stdio**(要改代码或离线用):
```
python server.py # stdio
python server.py --http --port 8768 # streamable-http
```
## 相关
- 🏠 更多作品与实战记录:<https://savantcat.cn>
- 🧩 全部 MCP 端点与接入方式:<https://savantcat.cn/mcp/>
- 📄 这个服务的详情页:<https://savantcat.cn/mcp-radar.html>
## License
MIT — 见 [LICENSE](LICENSE)。
## 作者
**合尘猫** · 一个人 + 一个 AI 分身的 AI 落地实践 —— 知识库 · AI 客服合规 · 内容自动化。
## 版本
- v1.0.0(2026-10-04)首版。阈值口径:零假设 p95 自校准 + 逐字扩展短语 + 碎片剔除 + 占位符识别。
What people ask about pattern-radar
What is savantcat/pattern-radar?
+
savantcat/pattern-radar is tools for the Claude AI ecosystem. 把 AI 答案/竞品内容当语料,找出反复出现的说法、被反复引用的信源与答案同质化程度 It has 0 GitHub stars and its last recorded update is dated 2026-10-06.
How do I install pattern-radar?
+
You can install pattern-radar by cloning the repository (https://github.com/savantcat/pattern-radar) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is savantcat/pattern-radar safe to use?
+
Our security agent has analyzed savantcat/pattern-radar and assigned a Trust Score of 87/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.
Who maintains savantcat/pattern-radar?
+
savantcat/pattern-radar is maintained by savantcat. The last recorded GitHub activity is dated 2026-10-06, with 0 open issues.
Are there alternatives to pattern-radar?
+
Yes. On ClaudeWave you can browse similar tools at /categories/tools, sorted by popularity or recent activity.
Deploy pattern-radar to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/savantcat-pattern-radar)<a href="https://claudewave.com/repo/savantcat-pattern-radar"><img src="https://claudewave.com/api/badge/savantcat-pattern-radar" alt="Featured on ClaudeWave: savantcat/pattern-radar" width="320" height="64" /></a>More Tools
A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.
An AI skill that provides design intelligence for building professional UI/UX across multiple platforms.
🪨 why use many token when few token do trick. Viral skill + proxy for coding agents that cuts 65% of tokens by talking like a caveman.
CLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies
The fastest, litest AI Gateway. Rust core with Python SDK. Call 100+ LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]
Use Claude Code, Codex, VSCode, Pi, and OpenCode (and 6 other harnesses) for free (1.3B+ free tokens) from your terminal, app, IDE, or phone, and now from the browser with native browser sessions (multi-harness + multi-model) like OpenClaw (voice supported + ToS friendly)