SDCofA/border-neighbor-threat-index
GitHub: SDCofA/border-neighbor-threat-index
BNTI 是一个基于多语言开源新闻和大语言模型分类的自动化地缘政治威胁指数系统,为土耳其七个边境邻国提供每两小时刷新的标准化、可溯源的定量安全态势评估。
Stars: 0 | Forks: 0

# 边境邻国威胁指数
### 关于土耳其边境邻国的常态化地缘政治评估






**[实时评估](https://sdcofa.github.io/border-neighbor-threat-index/)** · **[方法论文白皮书](methodology.pdf)** · **[复现指南](DEPLOYMENT_GUIDE.md)**
## 执行摘要
边境邻国威胁指数 (BNTI) 是对土耳其陆地边界威胁环境的常态化、持续刷新的评估。它将来自该国七个边境邻国的多语言开源报告转化为标准化、可重复的信号:为每个邻国提供一个校准的 1–10 指数,以及一个综合的全国性指标。
该指数接收公开且合法可访问的 RSS/Atom 报告;通过大型语言模型将每条标题归因于特定的边境国家和标准的威胁类别;并将这些类别映射到固定且已发布的权重上,以生成可审计的分数。模型负责分类;算术过程是确定性的。公司将结果发布为公共仪表板,供需要对该地区局势做出有理有据的判断,而非无结构新闻流的分析师、情报专员和决策者使用。
## 评估说明
该指数对与土耳其共和国共享陆地边界的七个国家的普遍威胁态势进行评估,并根据开源报告进行持续评价。
- **评估对象** — 亚美尼亚、格鲁吉亚、希腊、伊朗、伊拉克、叙利亚和保加利亚。
- **评估工具** — 采用校准的 1–10 分制对每个国家进行指数评估,并得出按战略重要性加权的综合性国家指标。
- **标准分类法** — 每个信号都被归入一组固定类别之一:军事冲突、恐怖主义、边境安全、政治动荡、人道主义危机、外交紧张局势、贸易协定或中立。
- **运作级别** — 每个国家及综合指标均划分为三个常设级别,以便快速解读。
| 级别 | 范围 |
|---|---|
| `STABLE` | 1.0 – 4.0 |
| `ELEVATED` | 4.0 – 7.0 |
| `CRITICAL` | 7.0 – 10.0 |
评估在发布时故意保持保守。如果一个采集周期在信号量、活跃国家数量和覆盖率方面未能达到最低阈值,则会被直接拒绝;先前已验证的快照将继续生效。与发布薄弱的数据相比,该指数更倾向于提供虽然陈旧但可信的指标。
## 方法论与溯源
公司秉持一条高于一切的原则:**先有证据,再做断言**。发布的每一个数据都能追溯到生成该数据的原始报告。
**数据采集。** 分析器从精心挑选的公共 RSS/Atom 订阅源中抓取标题,这些源涵盖了每一个邻国——混合了英语媒体、国际通讯社,以及亚美尼亚语、格鲁吉亚语、希腊语、波斯语、阿拉伯语和保加利亚语的母语信息源。信息条目会根据时间过滤到最近的窗口,并按来源链接进行去重。母语材料会被规范化并翻译,用于简要汇报。
**归因与分类。** 候选标题被分批提交至 OpenRouter 的 `openrouter/free` 路由。对于每条信息,模型执行两项功能:选择最终的**边境国家归因**,并从上述固定分类法中分配一个**标准威胁类别**。主 API key 和备用 API key 提供故障转移功能,确保单次凭证中断不会影响评估进程。
**评分。** 每个类别都有一个固定且已发布的权重——例如 `military_conflict = 8.0`、`terrorism = 7.0`、`trade_agreement = -2.0`。各国指标通过饱和变换在 1–10 的分制下计算;国家综合指数是各国指标的加权战略平均值。由于分类是唯一非确定性的步骤,且所有的权重、分制和阈值都是固定的并包含在已发布的数据文件中,因此从源标题到最终评分的整个过程都是端到端可审计的。
**每个信号附带的溯源信息。** 每一个经过归因的事件都会保留其原始标题、翻译后的标题、**来源 URL**、**发布时间戳**、归属国家以及所选择的威胁类别——因此任何评分都可以还原为其背后的新闻标题。用公司常设惯例的术语来说,每条数据都包含其 `source`、`source_url`、`collected_at` 和 `method`。
**仅限合法采集。** 本指数完全基于公开且合法可访问的来源构建。不进行任何绕过身份验证的抓取操作,也不收集公司未被授权阅读的材料。
## 覆盖范围
七个边境国家正在接受持续评估,每个国家都通过专门的一组国内和国际信息源进行监控:
| 国家 | 母语数据采集 |
|---|---|
| 亚美尼亚 | 亚美尼亚语 |
| 格鲁吉亚 | 格鲁吉亚语 |
| 希腊 | 希腊语 |
| 伊朗 | 波斯语 |
| 伊拉克 | 阿拉伯语 |
| 叙利亚 | 阿拉伯语 |
| 保加利亚 | 保加利亚语 |
采集周期每两小时刷新一次完整的情报全景,并无需人工干预即可重新部署公共评估。
## 数据与来源
- **来源** — 为七个边境国家分别精心挑选的公共新闻订阅源,包含母语媒体和国际通讯社。仅限开源信息。
- **输出** — `bnti_data.json` 和 `bnti_data.js` 包含当前的仪表板数据集,包括方法说明块、权重、分制和阈值;`bnti_history.csv` 保留了支撑趋势和预测视图的各国及综合时间序列。
- **可审计性** — 由于权重是固定的并发布在数据文件内部,外部审查人员可以在没有特权访问权限的情况下,根据保留的信号重现任何分数。
## 复现
该常态化评估是公开的,对读者没有任何要求:
**查看实时评估** — [https://sdcofa.github.io/border-neighbor-threat-index/](https://sdcofa.github.io/border-neighbor-threat-index/)
**在本地运行分析器:**
```
git clone https://github.com/SDCofA/border-neighbor-threat-index.git
cd border-neighbor-threat-index
pip install -r requirements.txt
# 提供一个 OpenRouter API key(默认使用免费 model route)
export OPENROUTER_API_KEY="sk-or-..."
export OPENROUTER_MODEL="openrouter/free" # optional, this is the default
python borderneighboursthreatindex.py
```
该运行过程会就地重新生成 `bnti_data.json`、`bnti_data.js` 和 `bnti_history.csv`。打开 `index.html` 即可基于新生成的数据查看仪表板。
**自动化操作。** `BNTI Intelligence Update` 工作流 (`.github/workflows/bnti_update.yml`) 每两小时执行一次。它将作为 repository secrets 提供的 `OPENROUTER_API_KEY` 和 `OPENROUTER_API_KEY_BACKUP` 运行分析器,提交所有更新的数据文件,并重新部署至 GitHub Pages。该工作流也可以手动调用,包括仅部署模式。完整的零成本设置文档记录在 **[`DEPLOYMENT_GUIDE.md`](DEPLOYMENT_GUIDE.md)** 中。
### 工具与 repository
- **情报引擎 (Python 3.11)** — `feedparser`、`pandas`、`numpy`、`python-dateutil`、`requests`、`googletrans`。
- **分类层** — OpenRouter (`openrouter/free`) 用于国家重新归因和标准威胁标签标注,具备主备密钥故障转移功能。
- **表现层** — HTML、CSS 和原生 JavaScript (`js/core.js`、`js/map.js`、`js/stream.js`、`js/charts.js`) 结合 Chart.js。
- **自动化** — GitHub Actions,通过 cron 设定每两小时运行一次,并支持手动触发 `workflow_dispatch`。
- **托管** — GitHub Pages(静态部署)。
- **方法论** — LaTeX 源代码 (`methodology.tex`) 编译为 `methodology.pdf`。
| 路径 | 用途 |
|---|---|
| `borderneighboursthreatindex.py` | 分析器 — 负责采集、归因、评分、门控和数据生成 |
| `index.html` | 仪表板入口 |
| `js/` | 仪表板逻辑(核心引擎、地图、威胁流、图表) |
| `css/` | 视觉系统和组件样式 |
| `bnti_data.json` / `bnti_data.js` | 仪表板使用的当前数据集 |
| `bnti_history.csv` | 各国及综合评分历史 |
| `.github/workflows/bnti_update.yml`` | 2小时更新及 GitHub Pages 部署 |
| `methodology.tex` / `methodology.pdf` | 白皮书 — 方法论与评分设计 |
| `BNTIndex.pdf` | 评估报告产物 |
| `DEPLOYMENT_GUIDE.md` | 分步零成本部署指南 |
| `requirements.txt` | Python 依赖项 |
## 标准
该指数遵循公司的常设准则:
- **先有证据,再做断言** — 每个评分都附有来源和采集时间戳;仪表板上不会出现任何无来源的数据。
- **仅限合法采集** — 公开、可公开访问的来源;尊重访问控制;优先使用官方信息源,而非规避手段。
- **可重复性** — 可以从干净的 checkout 中重新运行评估,且已发布的数据文件包含审计任何数据所需的权重、分制和阈值。
- **保守发布** — 未达到覆盖阈值的周期将被拒绝,而不是以质量下降的形式发布。
### 引用
```
@software{bnti2026,
author = {Akgul, Arda},
title = {Border Neighbor Threat Index: Multilingual Geopolitical Risk Assessment},
year = {2026},
url = {https://github.com/SDCofA/border-neighbor-threat-index}
}
```
采用 Apache License 2.0 授权。详情请参阅 [`LICENSE`](LICENSE)。© 2026 Monarch Castle Holdings · 土耳其安卡拉。
由 **安卡拉战略数据公司** 提供的常设指数 —— 该公司是 [Monarch Castle Holdings](https://github.com/MonarchCastleHoldings) 旗下的组成机构。兄弟公司:[Monarch Castle Technologies](https://github.com/monarchcastletech)。
STRATEGIC DATA COMPANY OF ANKARA · ANKARA · TÜRKİYE · MMXXVI
标签:DLL 劫持, GitHub Actions, GitHub Pages, 代码示例, 后端开发, 地缘政治, 大语言模型, 威胁指数, 数据分析, 自动笔记, 逆向工具