mattiaborsoi/companieshouse.watch
GitHub: mattiaborsoi/companieshouse.watch
开源的英国公司注册处实时监控平台,具备自动异常检测和AI驱动的自然语言模式分析能力。
Stars: 0 | Forks: 0
# companieshouse.watch
**在线演示 → [ch.borsoi.co.uk](https://ch.borsoi.co.uk)**
一个免费、开源的英国 Companies House(公司注册处)登记册实时视图——具备自动异常检测功能和由 AI 生成的、简明英语的异常模式解释。
**目标受众:** 记者、OSINT 研究员、欺诈/合规分析师、好奇的公民。
## 功能
- **实时动态** — 随着 Companies House 的数据流式传输,展示每一次文件提交、高管任命和 PSC(重要控制人)变更,支持分类过滤和暂停
- **公司档案** — 注册地址、带有可读描述的 SIC 代码、完整的提交历史(链接至 CH 查看器)、高管、PSC 以及异常警告
- **高管/个人档案** — 任命历史、国籍、送达地址和出生日期
- **搜索** — 公司名称、公司编号、高管/董事姓名或英国邮编;当本地数据库中尚未收录时,回退调用 CH REST API
- **异常检测** — 四个检测器每 10 分钟运行一次,评分为 0–100:
- 地址集群(同一地址下存在大量公司)
- 董事活跃度(同一人担任众多活跃公司的董事)
- 高管流动率(某公司出现高频率的任命/辞职)
- 批量注册(同一地址在同一天发生大量注册)
- **AI 解释** — 按需生成被标记异常的简明英语摘要,由 Anthropic Claude Haiku 提供支持,并设有硬性支出上限
## 快速开始
### 前置条件
- Docker + Docker Compose
- Companies House API 密钥([在此注册](https://developer-specs.company-information.service.gov.uk))
### 设置
```
# 1. Clone 并配置
git clone https://github.com/mattiaborsoi/companieshouse.watch.git
cd companieshouse.watch
cp .env.example .env
# 使用你的 CH_REST_KEY 和 CH_STREAM_KEY 编辑 .env
# 2. 创建本地数据目录
make setup
# 3. 启动数据库并运行 migrations
make infra
make db-migrate
# 4. 启动所有内容
make up
# 5. 查看运行情况
make logs
```
几秒钟后,您应该会看到流处理器(streamer)正在连接到 Companies House 数据流,且工作器(worker)正在处理事件。使用以下命令进行验证:
```
make db-shell
# 然后在 psql 中:
SELECT count(*) FROM public.filings;
SELECT count(*) FROM public.companies;
```
## 架构
```
CH Streaming API ──▶ streamer ──▶ Redis (arq queue) ──▶ worker(s) ──▶ Postgres
CH REST API ──────────────────────────────────────▶ worker(s) (hydration)
```
五个服务,全部在 Docker 中运行:
| 服务 | 描述 |
|---|---|
| `postgres` | 主数据存储 (Postgres 16) |
| `redis` | 任务队列、流时间点、速率限制计数器 (Redis 7) |
| `streamer` | 持续运行以消费 4 个 CH 数据流的长生存期进程 |
| `worker` | 将事件处理并写入 Postgres 的 arq worker |
| `llm-gateway` | *(阶段 3)* 拥有 Anthropic API 密钥的 FastAPI 服务 |
## 常用命令
```
make setup # First-time: create local data directories
make up # Start full stack
make down # Stop (data preserved on disk)
make logs # Tail all logs
make db-migrate # Apply pending schema migrations
make db-shell # psql shell
make test # Run test suite in Docker
make build # Rebuild application images
make ps # Container health status
```
## 数据
所有数据均来自 [Companies House](https://www.companieshouse.gov.uk/),并遵循 [Open Government Licence v3.0](https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/)。我们对我们重新分发的所有数据进行归属声明并保留该许可证。
本地数据存储在 `data/`(已添加到 .gitignore)中,并绑定挂载到容器内。此目录在容器重建后依然保留。
## AI 功能
AI 生成的内容使用 Anthropic Claude(批量操作使用 Haiku)。所有 AI 功能均遵守 [AI 政策](docs/AI_POLICY.md):
- 仅使用固定的提示词模板;绝不接受用户提供的提示词
- 严格的每日(£5)和每月(£100)支出上限
- 所有输出均标注“AI generated, [date]”(AI 生成,[日期])
- 24 小时内下架的 SLA 承诺
## 自行托管
本项目设计为可自行托管。Docker Compose 涵盖了完整的技术栈。有关所有必需的环境变量,请参阅 `.env.example`。
## 许可证
MIT — 详见 [LICENSE](LICENSE)。
Companies House 数据:Open Government Licence v3.0。
AI 生成的摘要:MIT(与代码库相同)。
标签:AI分析, Anthropic Claude, API集成, BSD, Claude Haiku, Companies House, Docker, ESC4, OSINT, PSC监控, SIC代码, 人工智能, 企业信息, 企业尽职调查, 公司高管变更, 反欺诈, 可观测性, 合规分析, 安全防御评估, 实时数据流, 实时追踪, 尽职调查, 异常检测, 数据挖掘, 数据流处理, 模式识别, 欺诈合规, 用户模式Hook绕过, 自动化攻击, 英国公司, 请求拦截, 逆向工具, 重大控制人, 金融犯罪