竞争对手监控智能体
该智能体使用 Python 3.11+ 和 SQLite 本地运行,无需付费服务。默认配置文件位于 config/monitor.toml;数据和历史记录存储在 work/ 目录中。技能包括自动收集器 以及 人工社会验证步骤:最终报告不得将搜索信号提升为已直接阅读的帖子。
首次安装技能后
在 首次调用技能时,运行 python monitor.py preview 获取路径,打开并让用户查看 2026-10-05~11 的示例报告。这是关于格式的历史示例,并非安装者的更新报告或默认数据。然后在一个交互回合中询问:
- 要监控的竞争对手名称;每个竞争对手的 Facebook 主页、TikTok 频道、YouTube 的 URL(可填写“未知”,由智能体协助验证);网站/博客 URL 为 可选。
- 用户的企业信息:公司名称、主要产品/服务、目标客户和市场/行业;公司网站(如有)。根据这些背景选择主题、内容角度和想法;未经许可不得公开敏感信息。
只有在获得回答后,才在 work/ 中根据 配置指南 为用户创建独立配置;不得默认使用 ERP/CRM 示例配置作为其数据。如果缺少社交媒体 URL,标记为未验证,查找公开官方频道,若仍不明确则请求用户确认。在范围敲定之前,不得自行创建计划或开始收集。安装技能不会自动运行/有安装后事件:查看示例和询问信息的步骤发生在用户首次调用技能时。
越南 ERP/CRM 配置
config/erp-crm-vn.toml 专门监控 Base.vn、MISA AMIS、1Office、ECOUNT、FastWork、CloudGO 和 Odoo。不与默认 AI 配置共用 SQLite 数据库。在技能目录中运行:
python .\monitor.py --config .\config\erp-crm-vn.toml --db .\work\erp-crm-vn\monitor-market.db --runs .\work\erp-crm-vn\runs run
获取运行结果的 JSON 路径,然后使用以下命令生成经过审核的 HTML:
python .\market_profile_report.py <duong-dan-json-cua-luot-chay> <thu-muc-dau-ra>
此配置在审查和呈现顺序中优先考虑 Facebook、TikTok 和 YouTube;网站/行业新闻仅用于交叉验证,当社交媒体频道证据不足时补充。优先采用无需更改可信度级别的渠道:索引信号始终与已验证的原始帖子分离,不得用于计算互动或声称已扫描平台。标准 Excel 文件由 monitor.py 自动导出。当需要精简的 HTML 版本时,在得出结论或发布之前请阅读 社交优先流程和报告标准。market_profile_report.py 是数据探索报告,并非经过验证的社交新闻简报。
流程
- 如果尚未初始化,运行
setup.cmd或python monitor.py setup。 - 使用
python monitor.py validate-config检查配置,并使用python monitor.py doctor查看当前拥有的 API 权限。doctor 命令仅指示可用/不可用,不会打印密钥。当更换行业、竞争对手或数据源时,请阅读 配置指南。 - 通过
run.cmd或python monitor.py run手动运行。 - 从命令末尾输出的 JSON 中读取结果路径。每次运行报告包括 Markdown、遵循示例设计系统的 HTML 落地页,以及 Excel 文件;来源状态表包含原因以及未直接抓取时的解决方法。打开 HTML 文件供用户查看。不得修改旧运行的历史记录。自动报告仅展示证据和初步建议;如果需要像示例中那样 内容 丰富的执行简报,请根据 报告标准 单独验证原始帖子并编辑,保持相同的设计系统。
- 如果用户希望实现自动运行,在用户确认计划后,使用
scripts/install-schedule.ps1 -Install。不得自行创建系统计划任务。
强制性原则
- 严格按照用户要求的时间范围进行监控;对于“上周”,根据配置中的时区,将运行日期之前的周一至周日作为监控窗口,而不是滑动 7 天或 30 天窗口。
- 对于 ERP/CRM 配置,优先检查社交媒体频道,然后才使用网站/行业新闻进行验证或数据补充。按以下顺序尝试:有效的免费 API → 平台提供的 RSS → 查找并阅读网页上的公开帖子 → 内置 Codex 浏览器 仅在已使用获授权的辅助账户确认登录会话后 → Chrome/外部浏览器 仅在用户明确同意该次运行时。仅当上一层无法获取足够必要信息时才转移到下一层;不得将搜索结果视为已阅读原始帖子。
- 使用浏览器时,直接进入已验证的官方主页/频道;浏览该期间内的每一篇新帖子/新视频,打开原始帖子/视频以检查日期、内容以及可见的互动指标。不得使用平台内的关键词搜索来代替直接检查频道。对于长视频,如果只阅读了标题/描述,则如实记录该程度,不得声称已完整观看。
- 特别针对 Facebook:如果内置浏览器尚未使用获授权的辅助账户登录,跳过在内置浏览器中查看主页的步骤,但仍查找并分析已被搜索引擎索引的结果,并标记为
SEARCH_INDEX_ONLY。报告应明确说明因未登录而无法使用内置浏览器;建议用户自行登录辅助账户以便在下次运行时验证原始帖子。如果仅未确认登录状态,记录为“未确认登录会话”,不得声称已注销。不得索要密码。 - 如果 TikTok 搜索页面显示临时错误并带有 重试 按钮,点击该按钮后重新检查结果,然后再标记来源受限。不得无限循环;如果仍然出错,记录错误以及实际获取的数据级别。当已验证频道 URL 后,直接进入个人资料页面和每个新视频,而不是仅依赖搜索。
- 网站使用 Feed 发现、Sitemap、JSON-LD、ETag/Last-Modified 和内容哈希;不访问被
robots.txt拒绝的 URL。 - YouTube 使用 Data API 的上传播放列表(如果密钥可用),然后使用 RSS。Facebook 使用 Graph API。TikTok 使用已获批的 Display API、Research API,或已授权的 Feed。
- 当缺少 Facebook/TikTok/YouTube 权限时,可通过 Brave、Google Custom Search 或 Google News RSS 发现 URL,但必须标记为
SEARCH_INDEX_ONLY。 - 在无法访问时记录为
LIMITED、MANUAL_REVIEW或ERROR。SEARCH_INDEX_ONLY不得表述为已直接扫描平台。 - 将带来源的事件与从数据推断出的判断分开保存。每条数据行必须包含 URL、来源提供的发布日期、收集方法和证据状态。
- 使用标准化 URL 和 SQLite 中的内容哈希来避免跨运行重复。更改配置时不得删除历史记录。
- 在所有层面上仅查看和记录:不点赞、不评论、不关注、不发送消息、不发布帖子。如果用户只允许辅助账户,不得使用个人登录会话。
- 每个判断应尽可能提供直接来源、发布日期、收集方式和证据级别。如果平台阻止、频道未验证或该期间内无帖子,说明原因和解决方法;不得将“无法获取”转化为“无活动”。
- 默认 HTML 新闻简报:标题为“竞争对手分析报告”,使用 K2D 字体,单列落地页布局,5 个主题前有简短摘要,接着是竞争对手活动,3 个空白内容角度,5 个下周想法,最后是来源。主题序号直接链接到原始帖子/视频,而非跳转到附录。尽量减少注释,阅读时间约 3 分钟。数字 5/3/5 是该简报的默认值,如果用户要求其他格式则不强制。
- 如果用户需要 Excel/Markdown,使用相同的已验证数据(含来源 URL)导出。仅在用户明确要求时发送电子邮件或设置计划;确认该任务的地址/计划,不得从之前的运行中推断。
PEAS
- P(性能指标): 新消息数量,来源可访问率,完整证据率,去重数量,竞争对手/主题覆盖范围,以及剩余的限制。
- E(环境): 网站,RSS,Google News,Brave/Google 搜索,YouTube Data API/RSS,Facebook Graph API,TikTok Display/Research API,以及授权的社交 Feed。
- A(执行器): 收集 → 标准化 → 去重 → 相关性过滤 → 关联竞争对手/主题 → 趋势分析 → 报告和建议。
- S(传感器):
monitor.toml,来源内容,发布日期,URL,元数据,以及真实的互动指标。
在扩展收集器或模式时,请阅读 架构。当需要了解哪些组件已被继承、哪些已从范围中排除时,请阅读 仓库分析。 在更新三个默认 AI 竞争对手时,请查看 已验证和未验证的频道。对于 ERP/CRM 配置,在直接打开浏览器之前,请查看 已检查的频道列表。