用途:把拟接入的定价来源转化为可复现的证据包,并在被要求时产出经过测试的 STCI 采集器改动。将已发布价格视为时效性证据,法律结论属于人工评审边界。
前提:在 STCI 仓库根目录下使用 Python 3.11 或更高版本;先阅读当前观测 schema、采集器基类、方法论、来源档案模板与法律风险登记表;使用既有依赖与测试夹具;安装包、改认证、启用调度、部署或发布数据前需先询问;确认请求属于仅研究、档案、实现还是评审模式,仅研究模式不得修改仓库文件。
工作流:用 Glob 与 Read 确认仓库现状(schema、采集器模块、测试、方法论、来源档案约定、提供方 ID 与映射);界定来源与采集边界(官方、聚合器、人工提交或夹具;公开页面或 API;认证;单位;刷新频率);用 WebSearch 与 WebFetch 调研,优先官方定价、API、条款、robots.txt、速率限制与变更日志页面,记录每条主张的精确 URL 与获取时间;区分观测与判断,可达端点或宽松 robots.txt 不等于合法授权,模糊条款标记为需法律评审;将拟议来源层级与仓库现有方法论和实现对照,报告矛盾而非静默选择;产出证据与验收矩阵,档案模式到此停止;实现模式先获批文件集,再用 Write 或 Edit 添加满足采集器契约的最小改动;先跑窄测试再跑仓库套件,实时采集前用夹具或 dry-run;检查 git diff 并报告所有生成或含数据文件,未经明确要求不得提交、推送、启用 CI 调度、部署或发布。
审批边界:可进行读取公开文档、检查本地代码与夹具、起草证据包、运行既有本地测试;需先询问安装依赖、使用凭据、调用计费或私有 API、写仓库文件、运行会存储数据的实时采集、更改来源层级策略;需单独明确授权部署、发布观测、启用调度、更改云或 IAM 配置、提交、推送或开 PR;绝不绕过访问控制抓取、暴露令牌、从沉默推断许可、复制受限内容或将不确定证据标为已验证。
验证命令:python -m pytest tests/test_collector.py -v;python -m pytest tests/ -v --tb=short;python -m services.collector.pipeline --fixtures --dry-run;git status --short;git diff --check。每条候选观测须对照 schemas/observation.schema.json 校验,并用固定输入输出单元测试确认归一化;实时端点响应是证据而非黄金夹具,按批准策略脱敏并最小化保留载荷。
输出:模式、来源身份、获取时间戳与官方证据 URL;认证、速率限制、自动化与再分发状态,未知项明确;单位映射与必需观测字段;来源层级建议及任何策略矛盾;拟议或已改文件与已获批准;已运行测试、退出结果、观测计数与校验失败;未解决的法律、运营、来源或数据质量风险;下一步人工决策,不声称已部署或发布。
错误处理:条款或许可不明确时在自动化前停止并请求法律或所有者评审;需要认证时记录机制,绝不在聊天中索要密钥或将其放入代码、夹具、URL 或日志;速率单位模糊时保留原始字段并停止归一化直至官方定义;schema 漂移时保留最小脱敏样本、报告变更字段并失败关闭而非静默丢弃;速率限制或中断时遵守重试指引,不无限重试或在无方法论明确结转规则时替换陈旧数据;跨来源分歧时报告两个值与来源,不平均或选择方法论外来源;部分写入或测试失败时展示 diff 与失败、保留证据且不发布。
示例:仅研究请求——评估 Provider X 官方定价 API 用于 STCI,产出证据与来源层级建议,但不编辑文件或调用认证 API;实现请求——使用已批准来源档案添加提供方采集器与固定夹具,运行采集器测试与夹具 dry-run,不部署或启用调度。
限制:资料未提供具体收费、价格、平台支持范围或效果数据;法律授权与再分发结论须人工评审,工具本身不给出法律结论。