cognis-digital/narrativediff

GitHub: cognis-digital/narrativediff

对比同一新闻事件在 50+ 媒体间的偏见与叙事框架差异的 CLI 分析工具。

Stars: 0 | Forks: 0

NARRATIVEDIFF # NARRATIVEDIFF ### 每个事件在 50+ 媒体上的新闻偏见和框架差异 [![PyPI](https://img.shields.io/pypi/v/cognis-narrativediff.svg?color=6b46c1)](https://pypi.org/project/cognis-narrativediff/) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/4b674d3cbb060557.svg)](https://github.com/cognis-digital/narrativediff/actions) [![License: COCL 1.0](https://img.shields.io/badge/License-COCL%201.0-2b6cb0.svg)](LICENSE) [![Suite](https://img.shields.io/badge/Cognis-Neural%20Suite-6b46c1.svg)](https://github.com/cognis-digital) *信息完整性 —— 来源、合成媒体和叙事分析。*
``` pip install cognis-narrativediff narrativediff scan . # → prioritized findings in seconds ``` ## 用法 — 逐步指南 `narrativediff` 用于对比单一事件在多家媒体上的新闻偏见和框架差异。 控制台脚本:`narrativediff`。 1. 从克隆中**安装**: pip install -e . 2. 对事件语料库 JSON **运行完整的偏见/框架差异分析**: narrativediff diff corpus.json 3. **快速单媒体扫描** —— 每个媒体输出一行偏见信息: narrativediff outlets corpus.json 4. **查看输出** —— 使用 `--format json` 进行下游分析: narrativediff --format json diff corpus.json | jq '.bias_spread, .divergence_ranking' 5. **自动化** —— 在 pipeline 中批量处理多个事件: for f in events/*.json; do narrativediff --format json diff "$f" > "out/$(basename "$f")"; done ## 目录 - [为什么选择 narrativediff?](#why) · [功能](#features) · [快速开始](#quick-start) · [示例](#example) · [架构](#architecture) · [AI 技术栈](#ai-stack) · [对比](#how-it-compares) · [集成](#integrations) · [随处安装](#install-anywhere) · [相关项目](#related) · [贡献](#contributing) ## 为什么选择 narrativediff? 获取每个事件在 50+ 媒体上的新闻偏见与框架差异 —— 无需搭建重量级的基础设施。 `narrativediff` 是单一用途、可脚本化且可自托管的:将其指向目标,以您的工作流已支持的格式(table · JSON · SARIF)获取优先级结果,将其作为 CI 的门控,并让 agent 通过 MCP 驱动它。
↑ 回到顶部
## 功能 - ✅ 分析事件 - ✅ 加载语料库 - ✅ 结果转为字典 - ✅ 支持 Linux/macOS/Windows · Docker · devcontainer 运行 - ✅ 提供 Python、JavaScript、Go 和 Rust 端口 (`ports/`)
↑ 回到顶部
## 快速开始 ``` pip install cognis-narrativediff narrativediff --version narrativediff scan . # scan current project narrativediff scan . --format json # machine-readable narrativediff scan . --fail-on high # CI gate (non-zero exit) ```
↑ 回到顶部
## 示例 ``` $ narrativediff scan . [HIGH ] NAR-001 example finding (./src/app.py) [MEDIUM ] NAR-002 another signal (./config.yaml) 2 findings · risk score 5 · 38ms ```
↑ 回到顶部
## 架构 ``` flowchart LR IN[input] --> P[narrativediff
analyze + score] P --> OUT[report] ```
↑ 回到顶部
## 从任何 AI 技术栈中使用 `narrativediff` 可以与所有流行的 AI 使用方式互操作: - **MCP server** — `narrativediff mcp` (Claude Desktop, Cursor, Cognis.Studio, [uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet)) - **兼容 OpenAI / JSON** — 将 `narrativediff scan . --format json` 管道传输给任何 agent 或 LLM - **LangChain · CrewAI · AutoGen · LlamaIndex** — 一行代码将 CLI/JSON 封装为工具 - **CI / 脚本** — 适用于非 AI pipeline 的退出码 + SARIF
↑ 回到顶部
## 对比 | | **Cognis narrativediff** | Media-Bias-Group | |---|:---:|:---:| | 可自托管,无需账号 | ✅ | 视情况而定 | | 单一命令,零配置 | ✅ | ⚠️ | | 适用于 CI 的 JSON + SARIF | ✅ | 视情况而定 | | MCP 原生 (AI agents) | ✅ | ❌ | | 多语言端口 (JS/Go/Rust) | ✅ | ❌ | | 开源许可 | ✅ COCL | 视情况而定 | *秉承 **Media-Bias-Group/MBIB** 的精神,以 Cognis 的方式重新构建。遗漏了致谢?欢迎提交 PR。*
↑ 回到顶部
## 集成 接入您的技术栈:用于代码扫描的 **SARIF**,用于一切的 **JSON**,用于 AI agent 的 **MCP server** (`narrativediff mcp`),以及用于 SIEM/Slack/Jira 的 webhook 转发器。详见 [`docs/INTEGRATIONS.md`](docs/INTEGRATIONS.md)。
↑ 回到顶部
## 安装 — 各种方式,所有平台 ``` pip install "git+https://github.com/cognis-digital/narrativediff.git" # pip (works today) pipx install "git+https://github.com/cognis-digital/narrativediff.git" # isolated CLI uv tool install "git+https://github.com/cognis-digital/narrativediff.git" # uv pip install cognis-narrativediff # PyPI (when published) docker run --rm ghcr.io/cognis-digital/narrativediff:latest --help # Docker brew install cognis-digital/tap/narrativediff # Homebrew tap curl -fsSL https://raw.githubusercontent.com/cognis-digital/narrativediff/main/install.sh | sh ``` | Linux | macOS | Windows | Docker | Cloud | |---|---|---|---|---| | `scripts/setup-linux.sh` | `scripts/setup-macos.sh` | `scripts/setup-windows.ps1` | `docker run ghcr.io/cognis-digital/narrativediff` | [DEPLOY.md](docs/DEPLOY.md) (AWS/Azure/GCP/k8s) |
↑ 回到顶部
## 相关 Cognis 工具 - [`claimtrace`](https://github.com/cognis-digital/claimtrace) — 虚假信息来源追踪器 — 已知最早出现图谱 - [`deepcheck`](https://github.com/cognis-digital/deepcheck) — 具有 C2PA 验证功能的轻量级合成媒体检测器 - [`electionlens`](https://github.com/cognis-digital/electionlens) — 选举期间的影响力行动模式监控器 **探索套件 →** [🗂️ 全部 170+ 工具](https://github.com/cognis-digital/cognis-neural-suite) · [⭐ awesome-cognis](https://github.com/cognis-digital/awesome-cognis) · [🔗 cognis-sources](https://github.com/cognis-digital/cognis-sources) · [🤖 uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet) · [🧠 engram](https://github.com/cognis-digital/engram)
↑ 回到顶部
## 互操作性 `{}` 与包含 300+ 工具的 Cognis 套件无缝组合 —— JSON 输入/输出,并共享兼容 OpenAI 的 `/v1` 骨干网络。有关套件图谱、组合模式和参考技术栈,请参阅 **[INTEROP.md](INTEROP.md)**。 ## 许可证 在 **Cognis Open Collaboration License (COCL) v1.0** 下开源可见 —— 免费用于个人、内部评估、研究和教育用途;**商业/生产环境使用需要获得许可** (licensing@cognis.digital)。详见 [LICENSE](LICENSE)。
Cognis Digital · Cognis Neural Suite 中的 170+ 工具之一 · Making Tomorrow Better Today
标签:偏见检测, 可视化界面, 数据可视化, 文本分析, 新闻分析, 日志审计, 请求拦截, 逆向工具