tanzi
跨平台采集公开信息,交付可供研究或写作继续使用的报告与 Markdown 语料。
能力边界
- 只承担需要正式采集包的多来源任务;简单查找、单网址读取、深度分析、成稿写作和发布应交给相应下游能力。
- 中文内容平台和 X 等主要渠道通常需要
opencli、Node.js、浏览器扩展及对应平台登录态;GitHub 或视频渠道可能需要gh、yt-dlp。 - 免费指不调用按次付费 API,不代表无需安装、无需账号或所有平台都能匿名访问。
- 只读取公开或当前账号有权查看的内容;不提取 Cookie,不修改代理或证书,不执行平台写操作。
- 遵守来源许可、平台条款和合理引用边界;无权复制或再分发时只保存必要摘录、元数据和原链接。
- 平台能力会变化。状态记录超过 30 天、命令报错或帮助信息与文档不一致时,以当前帮助和一次最小只读测试为准。
输入
- 必需:明确话题或研究问题。
- 可选:指定平台、时间范围、语言、地区、候选条数、输出目录。
- 范围会显著改变结果时,先确认一个关键问题;否则说明假设后执行。
首次使用与安装引导
首次调用先读取 references/setup.md 并检查本次渠道需要的依赖,不要等命令失败后才说明环境要求。
- 先检查 Node.js、OpenCLI,以及本次渠道需要的
gh、yt-dlp或浏览器扩展。 - 缺少依赖时,向用户说明“缺少什么、影响哪些渠道、准备执行什么安装命令、是否需要登录”。
- 安装程序、浏览器扩展或打开登录流程前,取得用户同意;同意后可以直接协助安装,不只给一份说明就停止。
- 安装后重新检查版本,运行
opencli doctor,并对本次需要的平台做一次小结果上限的只读测试。 - 用户暂不安装时,继续执行仍可用的渠道,并在报告中标明覆盖缺口。
执行流程
- 将问题拆成 2–5 组中英文关键词,并确定时间和平台边界。
- 读取
references/channels.md,按问题选择最小覆盖组合;用户未指定平台时,不默认遍历全部渠道。 - 按“首次使用与安装引导”完成依赖检查;命令异常时重新读取
references/setup.md。 - 对依赖浏览器的平台运行
opencli doctor;只把单个平台的成功或失败归因于该平台和本次环境。 - 每个渠道的原始响应立即写入
_raw/,再用解析器读取所需字段。YAML 使用安全解析器,不用正则拼接折叠 URL。 - 单渠道失败时按文档中的已知降级路径继续;未记录的替代方案可以做一次低风险验证,但必须记录命令、结果和新增假设。
- 先按相关性筛选,再在同一平台内参考互动量;不得跨平台直接比较互动数。
- 按
references/corpus.md生成清单、正文和报告,并执行验收检查。
默认渠道组合
| 研究问题 | 默认组合 | |---|---| | 中文讨论与使用场景 | 2 个相关中文内容平台 + 1 个通用检索源 | | 海外开发者讨论 | Reddit 或 Hacker News + GitHub;需要 X 时再加 OpenCLI X | | 当前热点 | 相关热榜 + 1 个正文来源 + 1 个交叉检索源 | | 学术与技术 | arXiv/OpenAlex/OpenReview + GitHub + 通用检索 | | 产品与市场反馈 | 1–2 个用户社区 + 产品/媒体源 + 必要的官方来源 |
用户明确点名平台时优先满足点名范围;为核验事实增加其他来源时,要在报告中说明其用途。
X / Twitter
X 不是“免费版必然不可采集”。在当前 OpenCLI 提供 twitter search 且浏览器已有可用登录态时,使用:
opencli twitter search "关键词" --limit 10 -f yaml
它依赖浏览器扩展、X 登录态、网络环境和 X 页面接口,可能临时失败。先看 opencli twitter search --help,再做一次 3 条上限的只读测试。失败时记录错误类型并声明本轮未覆盖,不把一次超时写成永久能力结论,也不用普通网页搜索结果冒充推文正文。
配置与凭证
凭证文件由 TANZI_ENV_FILE 指定;未设置时才使用用户目录下的 .tanzi-env。可选变量见 references/setup.md。
- 只检查变量是否存在,不回显值。
- 不把密钥、Cookie、会话令牌写入报告、日志或
_raw/。 - 缺少某项凭证时只跳过对应渠道,并写明覆盖缺口。
交付物
用户指定目录时使用该目录;否则在当前工作目录新建 YYYYMMDD-信息搜索-主题/。交付内容:
| 路径 | 内容 |
|---|---|
| 00_采集报告.md | 研究问题、实际渠道、证据边界、主要发现、推荐材料、失败与降级 |
| 01_清单.md | 全部候选条目的来源、时间、链接、互动数据和正文状态 |
| 正文/ | 在许可范围内保存的正文或必要摘录,一条一个 Markdown 文件 |
| _raw/ | 原始响应和错误,仅用于复核 |
报告先交付已完成结果。只有用户明确要求分阶段确认时,才在第一阶段后暂停;普通采集任务无需强制再等一轮。
证据规则
- 公开帖子和评论属于定性样本,可支持观点、关注点、使用场景和传播信号,不代表总体比例、人均值、技术成功率或商业结果。
- 作者自述数字不相加计算平均值;营销内容中的成功率、价格和效果不能直接当作已验证事实。
- “零结果”只表示本次接口未返回结果,不等于平台没有相关内容。
- 正文没取到时明确标记“仅有标题/摘要/互动数据”,不得伪装成全文阅读结论。
- 每条事实保留原始链接、来源平台、发布时间和采集时间;缺失字段写
—,不得猜测。
验收
- [ ] 研究问题、关键词、时间与实际渠道可追溯。
- [ ] 每个推荐条目标明正文状态,链接可定位原帖。
- [ ] 失败、零结果、登录缺失和平台不可用被分别描述。
- [ ] 报告明确说明样本能支持和不能支持的结论。
- [ ] 未泄露凭证,未执行任何平台写操作。
- [ ] Claude Code 与 Codex 均可按当前 shell 改写示例命令,不依赖作者机器路径。
微信扫一扫