洞察一切的竞争情报。
以 Coeus(发音 SEE-us)命名——这位拥有一百只眼睛、代表探究精神的希腊泰坦,其名字的字面意思就是"询问"。CI 代表竞争情报(Competitive Intelligence)。
一款商业情报 OSINT 工具,利用免费的公共数据源构建公司档案。给它一个域名,即可获得一份评分报告,涵盖稳定性、成长性、技术成熟度、财务健康、安全态势与透明度。
# Clone and install
git clone https://github.com/Opfour/coeus-ci.git
cd coeus-ci
./setup.sh # creates venv, installs everything
# Activate the environment
source venv/bin/activate
# Run a scan
coeus apple.com
# Compare companies
coeus apple.com microsoft.com
# Export HTML report
coeus apple.com --html
# Launch web dashboard
coeus --web
coeus [OPTIONS] [TARGETS]...
Options:
--json Output as JSON
--html Save HTML report to ./reports/
-m, --modules TEXT Comma-separated module list (e.g., whois,dns,edgar)
-t, --timeout INTEGER Per-module timeout in seconds (default: 30)
--web Launch interactive web dashboard
--port INTEGER Web dashboard port (default: 8147)
--help Show this message and exit
# Single target
coeus acme.com
# JSON output (pipe to jq, save to file, etc.)
coeus acme.com --json
# Run only specific modules
coeus acme.com --modules whois,dns,ssl
# Side-by-side comparison
coeus apple.com microsoft.com
# HTML report saved to ./reports/
coeus apple.com --html
# Web dashboard on default port
coeus --web
# Web dashboard on custom port
coeus --web --port 9090
默认设置集中定义在一处,便于修改:
coeus/__init__.py
DEFAULT_WEB_PORT = 8147 # --port: web dashboard port
DEFAULT_TIMEOUT = 30 # --timeout: per-module timeout (seconds)
DEFAULT_HOST = "127.0.0.1" # bind address for web dashboard
修改这些值即可为你的环境设置新的默认值。CLI 标志(--port、--timeout)可在每次运行时覆盖这些设置。
所有模块均为免费,无需 API 密钥。
每个目标按六个维度(0-10)进行评分:
--json) —— 完整的 Pydantic 模型导出,便于管道处理或集成--html) —— 自包含的深色主题报告,保存到 ./reports/--web) —— 交互式浏览器界面,实时显示扫描进度coeus-ci/
├── coeus/
│ ├── __init__.py # Version + configurable defaults (port, timeout, host)
│ ├── __main__.py # python -m coeus entry
│ ├── cli.py # Click CLI with comparison mode
│ ├── core.py # Two-wave async orchestrator
│ ├── models.py # Pydantic data models
│ ├── scorer.py # Weighted scoring engine
│ ├── report.py # Terminal, JSON, HTML formatters
│ ├── matching.py # Fuzzy company name matching
│ ├── web.py # aiohttp web dashboard server
│ └── modules/
│ ├── base.py # ABC base class for modules
│ ├── whois_mod.py # WHOIS lookup
│ ├── dns_mod.py # DNS analysis
│ ├── headers.py # HTTP header analysis
│ ├── ssl_mod.py # TLS certificate inspection
│ ├── tech.py # Tech stack detection
│ ├── edgar.py # SEC EDGAR filings
│ ├── nonprofit.py # 501(c)(3) / ProPublica
│ └── dba.py # DBA / OpenCorporates
├── templates/
│ ├── dashboard.html # Web dashboard SPA
│ └── report.html # Jinja2 HTML report template
├── setup.sh # One-time setup script
├── pyproject.toml # Python packaging
├── LICENSE # AGPL-3.0
└── README.md
编辑 coeus/__init__.py 并修改 DEFAULT_WEB_PORT,或使用 --port 标志:
coeus --web --port 9090
编辑 coeus/__init__.py 并修改 DEFAULT_TIMEOUT,或使用 --timeout 标志:
coeus apple.com --timeout 60
不需要。v0.1 的所有模块均使用免费的公共数据源,无需 API 密钥。
EDGAR 模块只会找到在 SEC 注册的上市公司的数据。私营公司、非营利组织和外国实体不会有 EDGAR 数据——这是预期情况,并非错误。
常见的公司名称(如 "Apple")可能会匹配到名称相似的小型非营利组织。模糊匹配可以减少误报,但非常通用的名称本身就存在歧义。--modules 标志可让你跳过不相关的模块。
可以:
coeus apple.com --modules whois,dns,ssl
coeus/modules/ 中创建一个新文件,继承 BaseModuleexecute(target, context) 方法coeus/modules/__init__.py 中注册它coeus --file targets.txt)AGPL-3.0 — 详情请参阅 LICENSE。
| 模块 | 数据源 | 提供内容 |
|---|
whois | WHOIS 记录 | 域名注册时长、注册商、组织名称、创建/到期日期 |
dns | DNS 查询 | MX、NS、SPF、DMARC、邮件服务商、CDN 检测 |
headers | HTTP 标头 | 服务器技术、安全标头(HSTS、CSP 等) |
ssl | TLS 证书 | 证书组织、CA、到期时间、SANs |
tech | robots.txt、sitemap、HTML | CMS 检测、框架特征、security.txt |
edgar | SEC EDGAR | 公开申报文件、营收、净利润、资产、员工人数 |
nonprofit | ProPublica API | 501(c)(3) 状态、Form 990 数据、营收、资产 |
dba | OpenCorporates | DBA/商业注册、实体类型、申报状态 |
| 维度 | 衡量内容 | 数据来源 |
|---|
| 稳定性 | 组织的成熟/稳固程度 | whois, ssl, edgar |
| 成长性 | 扩张信号 | edgar, tech |
| 技术成熟度 | 现代化基础设施与技术栈 | dns, headers, tech |
| 财务 | 财务健康指标 | edgar, nonprofit |
| 安全 | 安全态势与安全卫生 | dns, headers, ssl, tech |
| 透明度 | 公开披露与问责 | edgar, nonprofit, whois |