新闻详情

新闻详情

首页 / 资讯中心 / 详情

小贝开源项目 info-record 技能实战指南:基于 SQLite 的商业情报采集记录与去重方案

发布时间:2026/9/26 15:42:56来源:尧图网络
小贝开源项目 info-record 技能实战指南:基于 SQLite 的商业情报采集记录与去重方案
人工智能AI Agent大模型AI 应用媒体生成【免费下载链接】xiaobei为OPC/中小微企业量身打造的自媒体获客智能体项目地址https://gitcode.com/gh_mirrors/wi/xiaobei点击查看免费下载导读info-record 是小贝xiaobei开源仓库中为商务拓展BD工作流提供数据支撑的持久化技能专门服务于「模式三商业情报采集Intel Gathering」。它以单文件 SQLite 数据库db/info_record.db为存储核心通过四个幂等、可独立调用的 Shell 脚本完成初始化、去重检查、采集记录与当日汇总查询。读完本文你将掌握该技能的表结构设计、每个脚本的参数与返回值约定、与 intel-gathering 主流程的协作方式以及从源码层面理解其去重与防重复采集的实现细节。一、技能定位BD 工作流的情报数据层在 crews/main/AGENTS.md 中小贝被定义为 OPC / 中小微企业老板的自媒体获客智能体商务拓展BD是其三大工作条块之一细分为三种可识别的工作模式模式一Lead Hunting潜在客户探索——数据层由bd-record支撑模式二Comment Engagement评论区拓展——数据层同样由bd-record支撑模式三Intel Gathering商业情报采集——数据层由info-record支撑。info-record 的技能元信息frontmatter将其定位描述为当执行 BD商务拓展任务时维护 SQLite 情报采集数据库记录已采集的信息内容避免重复采集支持按日查询已采集情报。 核心职责可归纳为三件事去重在执行采集动作之前判断某条内容是否已经被记录避免对同一信源内容反复打开、反复采集既省时间也降低平台访问频率带来的风险落库采集完成后立即将结果持久化保证数据不丢失、可追溯按日交付按本地时区的今日窗口查询所有采集记录支撑情报简报、报告或监控表格的生成。其定义文件位于 crews/main/skills/info-record/SKILL.md全部实现代码位于同目录的scripts/下共四个脚本。二、数据库位置与初始化2.1 数据库文件数据库固定存放于 workspace 根目录下的./db/info_record.db所有脚本都通过相对路径解析自动定位 workspace 根目录见下文源码分析因此只要在 workspace 根目录执行脚本即可无需手动指定数据库路径。2.2 初始化脚本幂等可重复执行./skills/info-record/scripts/init-db.sh初始化是幂等的CREATE TABLE IF NOT EXISTS可放心重复执行不会破坏已有数据。成功时输出{ok: true, message: info_record.db initialized}源码实现init-db.sh中有两个值得注意的细节set -euo pipefail严格模式变量未赋值即报错、管道中任一命令失败即整体失败保证初始化过程的确定性workspace 根目录解析SCRIPT_DIR$(cd $(dirname $0) pwd)取脚本所在目录再向上两级../../..定位 workspace 根随后mkdir -p创建db/目录。这意味着脚本不依赖当前执行目录从任何位置调用都能正确定位数据库文件。三、表结构intel_itemsinfo-record 只维护一张表intel_items完整字段定义如下字段类型说明idINTEGER PRIMARY KEY AUTOINCREMENT自增主键sourceTEXT NOT NULL信源URL 或 平台-账号source_typeTEXT NOT NULL信源类型xhs/dy/ks/bilibili/fb/x/wb/wx-mp/webtitleTEXT内容标题如有authorTEXT作者/发布者如有publish_dateTEXT发布日期如有contentTEXT NOT NULL采集内容按用户要求的采集信息created_atTEXT DEFAULT (strftime(%Y-%m-%d %H:%M:%S,now,localtime))采集时间对应 init-db.sh 中的建表 SQL。设计要点source_type预置枚举覆盖了主流自媒体平台xhs小红书、dy抖音、ks快手、bilibili、fbFacebook、xTwitter/X、wb微博、wx-mp微信公众号、web普通网页信源source语义灵活既可以是内容详情页的 URL也可以是平台-账号形式的信源标识实际使用时在check-content.sh/record-content.sh中保持一致即可完成去重匹配created_at使用本地时区默认值表达式为strftime(%Y-%m-%d %H:%M:%S,now,localtime)这也决定了query-today.sh的今日判断口径见第五节。四、核心脚本命令与参数详解所有脚本均需在 workspace 根目录下执行路径前缀统一为./skills/info-record/scripts/。4.1 检查内容是否已采集check-content.sh./skills/info-record/scripts/check-content.sh --source 信源URL或标识返回 JSON{exists: true/false}参数仅需--source必填传入信源 URL 或平台-账号标识。源码行为细节check-content.sh若未传--source输出{exists: false, error: --source is required}并以退出码 1 结束若传入未知参数输出{exists: false, error: Unknown argument: ...}并以退出码 1 结束数据库文件不存在时不做任何报错直接输出{exists: false}并以退出码 0 结束——这保证了首次采集、尚未初始化数据库时去重逻辑也能正常运行查询实现SELECT COUNT(*) FROM intel_items WHERE source$SOURCE_ESC并对source中的单引号做了转义SOURCE_ESC${SOURCE//\/\\}以规避 SQL 注入与语句拼接错误SQLite 查询失败时兜底返回0|| echo 0按不存在处理。4.2 记录采集内容record-content.sh./skills/info-record/scripts/record-content.sh \ --source 信源URL或标识 \ --source-type 信源类型 \ --title 标题 \ --author 作者 \ --publish-date 发布日期 \ --content 采集内容返回 JSON{ok: true, id: 记录ID}或{ok: false, error: ...}参数说明参数必填说明--source是信源 URL 或平台-账号标识--source-type是信源类型取值见source_type枚举--title否内容标题缺省为空字符串--author否作者/发布者缺省为空字符串--publish-date否发布日期缺省为空字符串--content是采集到的关键信息正文源码行为细节record-content.sh三个必填参数缺一不可--source、--source-type、--content任一缺失即输出错误 JSON 并以退出码 1 结束自动初始化兜底写入前先静默调用一次bash $SCRIPT_DIR/init-db.sh /dev/null保证即使未显式初始化也能成功写入与 check-content 一样对source、title、author、content均做单引号转义写入后通过SELECT last_insert_rowid()取回新记录的id返回给调用方用于后续引用publish_date未做转义处理按原样写入因此传入该参数时应避免单引号等特殊字符。4.3 查询今日采集query-today.sh./skills/info-record/scripts/query-today.sh返回今日采集的所有记录JSON 数组格式。源码行为细节query-today.sh数据库不存在时输出[]空数组并以退出码 0 结束行为与 check-content 一致——对未初始化的状态完全兼容查询使用 SQLite 的 JSON 输出模式sqlite3 -json直接产出合法 JSON 数组过滤条件为date(created_at)date(now,localtime)今日以本地时区为准与created_at默认值使用的时区表达式一致保证按日窗口匹配结果按created_at DESC倒序排列最新采集的排在最前字段完整输出id, source, source_type, title, author, publish_date, content, created_at。五、使用规则与 intel-gathering 协作流程SKILL.md 定义的三条使用规则构成了整个采集流水线的骨架先查后采打开帖子/视频详情页前先执行check-content.sh判断该内容是否已记录已记录exists: true则跳过采完即记每个内容采集完成后立即用record-content.sh将采集结果入库执行完汇总全部采集完毕后用query-today.sh读取当日所有采集信息按与用户约定的交付形式生成交付物。这三条规则被上层编排技能 crews/main/skills/intel-gathering/SKILL.md 直接引用。intel-gathering 是模式三的编排者负责定时监控特定信源自媒体账号或网页按预设提取标准采集商业情报生成简报/报告交付用户其中info-record被明确列为依赖技能之一依赖链还包括smart-search、browser-guide、rss-reader。其执行流程中与 info-record 的交互节点为Step 1 准备工作读取 HEARTBEAT.md 获取信源列表、提取标准、交付形式确保浏览器可用幂等初始化数据库./skills/info-record/scripts/init-db.sh。Step 2 逐信源采集自媒体平台账号场景对每条内容先提取标识source平台-账号, title, author, publish_date去重检查./skills/info-record/scripts/check-content.sh --source 内容URLexists: true则跳过打开详情页按预设标准采集信息视频只分析简介/描述文字不下载视频立即记录./skills/info-record/scripts/record-content.sh --source 内容URL --source-type 平台标识 --title 标题 --author 作者 --publish-date 发布日期 --content 提取的关键信息每条内容之间保持 10–30 秒间隔降低平台访问压力。网页信源场景中RSS 支持的站点用 rss-reader 拉取最新文章列表后同样进入去重检查 → 打开详情 → 采集 → 记录循环不支持 RSS 的站点则用浏览器导航、收集列表后走相同循环。Step 3 生成交付物执行./skills/info-record/scripts/query-today.sh取出当日全部采集数据再按 HEARTBEAT.md 预设的交付形式组织输出简报模式每条信息 一句话摘要 原文链接按信源分组报告模式概述 按信源分章节 每节含关键发现与分析标注信息来源链接监控表格模式Markdown 表格日期 | 信源 | 标题 | 关键信息 | 原文链接。由此可见info-record 承担的是 intel-gathering 的记忆层角色没有它同一批信源会被反复采集、当日成果也无法可靠汇总。其先查后采、采完即记的规则在 AGENTS.md 的 BD 数据层说明info-record情报条目记录中得到印证并与模式一的bd-record创作者/帖子互动记录、IR 条块的ir-record形成仓库内三套并列的 SQLite 数据层方案。六、错误处理与边界情况intel-gathering 对采集过程中的异常做了明确约定其中涉及去重与记录环节的要点如下情况处理账号/页面无法访问记录并跳过该信源下次执行时重试内容详情页打不开记录 URL标注无法访问后跳过RSS feed 不可用降级为 browser 直接访问网页网页结构变化导致提取失败记录信源和错误不阻塞其他信源浏览器异常等待 30 秒在原页面继续操作仍失败再等 30 秒再不行关闭重开关闭重开后仍报错才停止并反馈用户持续错误spawn IT Engineer 协助排查info-record 自身的脚本设计也天然覆盖了若干边界数据库未初始化check-content.sh与query-today.sh返回空结果而非报错record-content.sh自动触发初始化因此整个流程对首次运行完全友好参数缺失/未知参数一律返回带error字段的 JSON 并以非零退出码结束调用方可以据此判断失败原因单引号转义source、title、author、content中的单引号会被转义后再拼入 SQL避免内容含引号时破坏语句。另外值得一提的是SKILL.md 的注意事项同时提示视频内容只分析简介/描述文字不下载视频微信公众号内容可能需要通过搜狗微信搜索或其他渠道访问部分平台可能需要登录才能查看完整内容遵循 browser-guide。这些约定约束的是采集动作本身而 info-record 作为数据层不受影响——它只关心记录什么而非怎么采到。七、扩展阅读技能定义文档crews/main/skills/info-record/SKILL.md脚本实现init-db.sh建表与目录创建check-content.sh去重查询record-content.sh写入记录query-today.sh按日汇总上游编排者crews/main/skills/intel-gathering/SKILL.md数据层定位与 BD 工作模式说明crews/main/AGENTS.md如需对照同类数据层技能可参考模式一/模式二使用的 crews/main/skills/bd-record/SKILL.mddb/bd_record.db维护 lead_creators 与 comment_posts 两张表两者在脚本命名init/check/record/query与幂等设计上保持一致的风格便于在仓库中按同一模式理解与扩展。赞分享人工智能AI Agent大模型AI 应用媒体生成【免费下载链接】xiaobei为OPC/中小微企业量身打造的自媒体获客智能体项目地址https://gitcode.com/gh_mirrors/wi/xiaobei点击查看免费下载相关推荐小贝智能体商业情报采集实战intel-gathering 技能定时监控信源与生成简报全解析小贝智能体商业情报采集实战intel gathering 技能定时监控信源与生成简报全解析 本文是面向 OPC / 中小微企业自媒体获客智能体「小贝」Git人工智能AI Agent大模型AI 应用媒体生成eCapture 开发者如何运行 e2e 端到端测试验证各模块捕获功能并排查失败eCapture 开发者如何运行 e2e 端到端测试验证各模块捕获功能并排查失败 如果你在修改 eCapture 的探针、事件处理或构建流程改动之后最直接的人工智能AI Agent大模型AI 应用媒体生成deepdarkCTI 商业威胁情报服务全解析深网与暗网商业情报源目录及其实战定位deepdarkCTI 商业威胁情报服务全解析深网与暗网商业情报源目录及其实战定位 本篇指南以 deepdarkCTI 仓库中的 commercial_ser上一篇50行代码实现魔兽级属性系统ET数值组件设计解密下一篇极致优化pytorch-image-models中模型剪枝的精度与效率平衡艺术创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

AI领域技术进展速览:从模型更新到硬件竞争,TaoToken统一Key接入配置实战 2026/9/26 16:23:51

AI领域技术进展速览:从模型更新到硬件竞争,TaoToken统一Key接入配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
不用写代码!OpenClaw 配 TaoToken 一键自动盯盘、抓热点、筛牛股 2026/9/26 16:23:51

不用写代码!OpenClaw 配 TaoToken 一键自动盯盘、抓热点、筛牛股

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
手写前端Ax调度器:解决请求竞态与并发控制的完整实践 2026/9/26 16:23:39

手写前端Ax调度器:解决请求竞态与并发控制的完整实践

做前端这几年,我踩过一个特别典型的坑:用户在一个页面上快速切换筛选条件,A条件下拉的数据还没回来,B条件的请求先到了,等A的结果返回来,直接覆盖了页面,界面上一片错乱。接口全部正常&#xff…

阅读更多 →
2小时用Trae搭建全功能CMS系统:TaoToken统一Key接入与config.toml配置实战 2026/9/26 16:23:33

2小时用Trae搭建全功能CMS系统:TaoToken统一Key接入与config.toml配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
DeepSeek涨价后,我用TaoToken统一Key把API账单压回原点 2026/9/26 16:23:33

DeepSeek涨价后,我用TaoToken统一Key把API账单压回原点

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Substrate不是框架,而是可组合的区块链操作系统 2026/9/26 16:23:20

Substrate不是框架,而是可组合的区块链操作系统

1. 项目概述:Substrate不是“框架”,而是一套可组合的区块链构建系统你搜“substrate”,十有八九会看到“Substrate是Polkadot的底层技术”“Substrate是Rust写的区块链框架”这类说法。但干了八年区块链基础设施开发、亲手用Substrate搭过17…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉