moov-io/watchman

GitHub: moov-io/watchman

Moov Watchman 是一款开源的高性能全球制裁名单筛查引擎,整合多国监控数据源,通过 HTTP API 和 Go 库帮助企业快速完成 AML/KYC/OFAC 合规检查。

Stars: 449 | Forks: 121

[![Moov Banner Logo](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/2e1f82ff54055608.png)](https://github.com/moov-io)

项目文档 · API 端点 · API 指南 · 社区 · 博客

[![GoDoc](https://pkg.go.dev/badge/github.com/moov-io/watchman?utm_source=godoc)](https://pkg.go.dev/github.com/moov-io/watchman/pkg/search#Client) [![Build Status](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/61ac47c22c055609.svg)](https://github.com/moov-io/watchman/actions) [![Go Report Card](https://goreportcard.com/badge/github.com/moov-io/watchman)](https://goreportcard.com/report/github.com/moov-io/watchman) [![Apache 2 License](https://img.shields.io/badge/license-Apache2-blue.svg)](https://raw.githubusercontent.com/moov-io/ach/master/LICENSE) [![Slack Channel](https://slack.moov.io/badge.svg?bg=e01563&fgColor=fffff)](https://slack.moov.io/) [![Docker Pulls](https://img.shields.io/docker/pulls/moov/watchman)](https://hub.docker.com/r/moov/watchman) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/moov-io/watchman) # moov-io/watchman Moov 的使命是为开发者提供一种简单的方式,以在其自身的软件产品中创建和集成银行业务处理。我们的开源项目分别专注于解决金融服务中的单一职责,并以性能、可扩展性和易用性为设计核心。 ## Watchman 是什么? Moov Watchman 是一款高性能的制裁筛查与合规工具,旨在帮助企业履行其监管义务。它提供了 HTTP 服务器、[Go 库](https://pkg.go.dev/github.com/moov-io/watchman/pkg/search#Client)以及实验性的 [Model Context Protocol (MCP)](https://moov-io.github.io/watchman/mcp/) 服务器,用于针对多个全球制裁和筛查名单进行搜索。 ## 主要特性 - **地理编码**:使用支持的提供商之一。 - **Senzing 支持**:导入 [senzing 格式](https://www.senzing.com/docs/entity_specification/)的数据文件,并以 senzing 实体的形式获取搜索响应。 - **全面覆盖**:在一个统一的系统中整合多个全球监控名单。 - **高性能搜索**:使用高级匹配算法,针对速度和准确性进行了优化。 - **灵活集成**:提供 HTTP API 和 Go 库,便于集成到您的系统中。 - **自动更新**:定期刷新监控名单数据以确保合规。 ## 包含的名单 Watchman 整合了以下名单,以帮助您维持全球合规性: | 来源 | 名单 | |----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | OpenSanctions | [任何来自 OpenSanctions 的 senzing 数据集](https://www.opensanctions.org/datasets/) | | 联合国 | [综合制裁名单](https://www.un.org/sc/resources/sc-sanctions) | | 美国财政部 | [海外资产控制办公室 (OFAC)](https://ofac.treasury.gov/sanctions-list-service) 及非 SDN 名单 | | 美国政府 | [综合筛查名单 (CSL)](https://www.trade.gov/consolidated-screening-list),[FinCEN 311](https://home.treasury.gov/policy-issues/terrorism-and-illicit-finance/311-actions) | ### 未来的名单 Watchman 的 v0.50+ 系列重构了其搜索引擎。以下名单正在被重新添加到 Watchman 中。 | 来源 | 名单 | |--------|------| | 欧盟 | [综合制裁名单](https://data.europa.eu/data/datasets/consolidated-list-of-persons-groups-and-entities-subject-to-eu-financial-sanctions?locale=en) | | 英国 | [OFSI 制裁名单](https://www.gov.uk/government/publications/financial-sanctions-consolidated-list-of-targets/consolidated-list-of-targets#contents) | | 英国 | [制裁名单](https://www.gov.uk/government/publications/the-uk-sanctions-list) (默认禁用) | ## v2 端点 (v0.50+ 系列及更高版本) Watchman 的 v0.50+ 系列引入了全新的 v2 搜索端点并移除了旧版端点。此举旨在提供统一的响应模型,提升整体性能,并努力迈向稳定的 v1.0 版本。 我们鼓励您试用全新的 Watchman,并[在 slack 中报告任何问题或需求](https://slack.moov.io)(`#watchman` 频道)。 ## 项目状态 Moov Watchman 已在多个生产环境中被积极使用。如果您关注其进展,请为该项目加星。如果您在 Watchman 之上构建了用于简化任务或执行业务操作的层,或者发现了错误,我们非常欢迎您提交 issue 或 pull request。谢谢! ## 使用方法 Watchman 项目实现了一个 HTTP 服务器、[Go 库](https://pkg.go.dev/github.com/moov-io/watchman/pkg/search#Client)以及实验性的 [Model Context Protocol (MCP)](https://moov-io.github.io/watchman/mcp/) 服务器,用于针对 Watchman 进行搜索。 政府名单会被下载(并定期刷新)、解析、准备、规范化并在内存中建立索引。搜索操作并发执行,无需外部数据库或连接。 ### Docker 我们从 Docker Hub 发布了[公共 Docker 镜像 `moov/watchman`](https://hub.docker.com/r/moov/watchman/),或者您也可以使用此代码库。服务于 `:8084` 端口无需任何配置。我们还提供了适用于 [OpenShift](https://quay.io/repository/moov/watchman?tab=tags) 的 Docker 镜像,发布为 `quay.io/moov/watchman`。最后,我们提供了一个包含 2019 年文件的 `moov/watchman:v2-static` Docker 镜像。此镜像对于更快的本地测试或获得一致的结果非常有用。 [使用标签](https://hub.docker.com/r/moov/watchman/tags)启动 Docker 镜像: ``` docker run -p 8084:8084 moov/watchman ``` 搜索个人或企业: ``` curl -s "http://localhost:8084/v2/search?name=Nicolas+Maduro&type=person&limit=1&minMatch=0.75" | jq . ```
``` { "entities": [ { "name": "Nicolas MADURO MOROS", "entityType": "person", "sourceList": "us_ofac", "sourceID": "22790", "person": { "name": "Nicolas MADURO MOROS", "altNames": null, "gender": "male", "birthDate": "1962-11-23T00:00:00Z", "deathDate": null, "titles": [ "President of the Bolivarian Republic of Venezuela" ], "governmentIDs": [ { "type": "cedula", "country": "Venezuela", "identifier": "5892464" } ] }, "business": null, "organization": null, "aircraft": null, "vessel": null, "contact": { "emailAddresses": null, "phoneNumbers": null, "faxNumbers": null, "websites": null }, "addresses": null, "cryptoAddresses": null, "affiliations": null, "sanctionsInfo": null, "historicalInfo": null, "sourceData": { "entityID": "22790", "sdnName": "MADURO MOROS, Nicolas", "sdnType": "individual", "program": [ "VENEZUELA", "IRAN-CON-ARMS-EO" ], "title": "President of the Bolivarian Republic of Venezuela", "callSign": "", "vesselType": "", "tonnage": "", "grossRegisteredTonnage": "", "vesselFlag": "", "vesselOwner": "", "remarks": "DOB 23 Nov 1962; POB Caracas, Venezuela; citizen Venezuela; Gender Male; Cedula No. 5892464 (Venezuela); President of the Bolivarian Republic of Venezuela." }, "match": 0.7784062500000001 } ] } ```
### 数据持久化 根据设计,Watchman **不会持久化**(保存)任何有关搜索查询或从外部来源拉取的名单的数据。Watchman 可以将摄入的文件(单条记录)存储在 MySQL 或 PostgreSQL 数据库中,以实现并发访问。启动时下载(并定期刷新)的外部名单仅保存在内存中。未对内存中的数据执行加密。 ## 配置 Watchman 推荐[基于文件的配置](https://moov-io.github.io/watchman/config/),但也支持环境变量选项。 ### 常见问题 #### 向 OFAC 报告命中结果 OFAC 要求[报告正面命中结果](https://ofac.treasury.gov/ofac-reporting-system),并设有一个[自愿自我披露](https://disclosure.ofac.treas.gov/)门户。请与您的金融机构合作以获取完整详细信息。 #### 有用的资源 - [OFAC 制裁搜索页面](https://sanctionssearch.ofac.treas.gov/) - [订阅 OFAC 邮件更新](https://service.govdelivery.com/accounts/USTREAS/subscriber/new) - [我什么时候应该拨打 OFAC 热线?](https://home.treasury.gov/policy-issues/financial-sanctions/contact-ofac/when-should-i-call-the-ofac-hotline#:~:text=If%20it's%20hitting%20against%20OFAC's,the%20match%20is%20hitting%20against.) - [BIS 拒绝人员名单及被拒绝的美国出口特权 (DPL)](https://bis.data.commerce.gov/dataset/Denied-Persons-List-with-Denied-US-Export-Privileg/xwtd-wd7a/data) - [BIS 实体名单](https://www.bis.doc.gov/index.php/policy-guidance/lists-of-parties-of-concern/entity-list) - [行业制裁识别 (SSI)](https://home.treasury.gov/policy-issues/financial-sanctions/consolidated-sanctions-list/sectoral-sanctions-identifications-ssi-list) - [美国制裁搜索常见问题](https://home.treasury.gov/policy-issues/financial-sanctions/faqs#basic) ## 获取帮助 渠道 | 信息 ------- | ------- [项目文档](https://moov-io.github.io/watchman/) | 我们提供在线项目文档。 Twitter [@moov](https://twitter.com/moov) | 您可以关注 Moov.io 的 Twitter 以获取我们项目的最新动态。您也可以在 Twitter 上向我们提问,或分享博客与故事。 [GitHub Issue](https://github.com/moov-io/watchman/issues) | 如果您能够重现某个问题,请在导致该错误的特定项目下创建一个 GitHub Issue。 [moov-io slack](https://slack.moov.io/) | 加入我们的 slack 频道(`#watchman`),就项目的开发进行互动讨论。 如果您发现安全问题,请通过 [`security@moov.io`](mailto:security@moov.io) 联系我们。 ## 支持和测试的平台 - 64位 Linux (Ubuntu, Debian),macOS 和 Windows ## 贡献 非常欢迎!请查看我们的[首次贡献者 issues](https://github.com/moov-io/watchman/contribute),寻找可以提供帮助的内容。 构建 Watchman 的源代码遵循标准的 Go 命令。您可以使用 `make build` 编译代码,使用 `make check` 运行 linter 和测试。 运行 `make install` 以安装 [gopostal](https://github.com/openvenues/gopostal) / [libpostal](https://github.com/openvenues/libpostal) 供 Watchman 使用。 ## 相关项目 作为 Moov 提供开源金融科技基础设施倡议的一部分,我们拥有大量您可能会觉得实用的活跃项目: - [Moov Fed](https://github.com/moov-io/fed) 实现了用于搜索美国联邦储备系统实用服务的工具,如 ABA 路由号码、金融机构名称查询以及 FedACH 和 Fedwire 路由信息。 - [Moov Image Cash Letter](https://github.com/moov-io/imagecashletter) 实现了用于 Check21、X.9 或支票截留文件的 Image Cash Letter (ICL) 文件,用于美国的交换和远程存款。 - [Moov Wire](https://github.com/moov-io/wire) 实现了一个接口,用于为 Fedwire 资金服务写入文件,这是由美国联邦储备银行运营的实时全额结算资金转账系统。 - [Moov ACH](https://github.com/moov-io/ach) 提供 ACH 文件的生成和解析,支持美国境内资金流动主要方式的所有标准条目代码。 - [Moov Metro 2](https://github.com/moov-io/metro2) 提供了一种简便的方法来读取、创建和验证 Metro 2 格式,该格式由美国信用机构用于消费者信用历史报告。 ## 许可证 Apache License 2.0 - 详见 [LICENSE](LICENSE)。
标签:AML, API, DNS解析, Docker, EVTX分析, Fintech, Golang, Go语言, HTTP服务器, KYC, OFAC, Python脚本, RESTful API, 全球监控名单, 制裁名单, 制裁筛查, 反恐融资, 反洗钱, 合规工具, 合规科技, 安全编程, 安全防御评估, 客户身份识别, 开源项目, 提示词优化, 日志审计, 测试用例, 程序破解, 请求拦截, 金融合规, 金融监管, 金融科技, 银行处理, 风险控制