/** * 企查查 OpenAPI 客户端(瘦客户端,仅 fetch + HMAC 签名)。 * * 设计原则(按 v0.2 调研报告 takeaway #1): * - 不缓存大量数据 —— 绿火只做"瘦客户端 + 提示词增强",按调用付费让用户的 * 企查查账户承担成本,绿火不持有数据资产。 * - 不引入新 npm 依赖 —— 用 Node 25 内置 fetch + 内置 crypto 做 HMAC。 * - 不引入 child_process(CLAUDE.md §6.2 红线)。 * - graceful fallback —— 未配置 API key / 网络失败时返回 `{ ok: false, reason }`, * 工具层会把失败原因翻译成 hint 让 LLM 引导用户配置或自带数据。 * * 注意:企查查 API 的具体接口路径与签名规则以企查查商务给出的合同 / 文档为准; * 此处实现按公开材料(openapi.qcc.com)合理猜测,用户首次接入需根据实际签名 * 规则微调 `signHeaders` 方法。配置可覆盖 baseUrl / 接口路径。 */ export interface QccConfig { apiKey: string; secretKey: string; /** 默认 https://api.qichacha.net。企查查不同套餐 / 私有部署可配不同 base。 */ baseUrl?: string; /** 默认 8000ms。 */ timeoutMs?: number; /** * 接口路径覆盖。企查查 API 版本变动频繁(V3/V4),实际路径以企查查文档为准。 * 默认值为常见 V4 路径,如不一致用户在 plugin config 里覆盖即可。 */ paths?: { search?: string; detail?: string; }; } export interface QccCompanyBrief { name: string; unique_id?: string; credit_code?: string; legal_person?: string; reg_capital?: string; reg_date?: string; industry?: string; region?: string; status?: string; source_url?: string; } export interface QccCompanyDetail extends QccCompanyBrief { business_scope?: string; employees_estimate?: string; registered_address?: string; contact_phone?: string; contact_email?: string; website?: string; related_companies?: Array<{ name: string; relation?: string; }>; recent_changes?: Array<{ date: string; field: string; before?: string; after?: string; }>; risk_signals?: Array<{ type: string; date?: string; summary?: string; }>; } export type QccResult = { ok: true; data: T; } | { ok: false; reason: string; status?: number; }; export declare class QccClient { private apiKey; private secretKey; private baseUrl; private timeoutMs; private searchPath; private detailPath; constructor(config: QccConfig); private signHeaders; private call; /** 关键词搜索企业(行业 / 区域 / 关键词)。 */ search(params: { keyword?: string; province?: string; city?: string; industry_code?: string; page?: number; page_size?: number; }): Promise>; /** 单企业详情。优先用 unique_id;退化用 name。 */ detail(params: { unique_id?: string; name?: string; credit_code?: string; }): Promise>; } /** 从 PluginConfig 解析企查查配置。未配置返回 null。 */ export declare function resolveQccConfig(raw: unknown): QccConfig | null; //# sourceMappingURL=qichacha.d.ts.map