Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Goverment Insider(政务内参)

面向省级、市级政府部门场景的中文内参生成与推送 Skill。项目围绕“可落地、可追溯、可诊断”设计:可按地区和领域生成内参,支持邮件与微信适配器通道,运行异常会给出明确诊断信息而不是静默失败。

作者:Sunky

1. 项目定位

Goverment Insider(政务内参)用于将政务信息采集、结构化整理、发送推送串成一条完整链路:

  • 采集:按地区和领域检索实时信息。
  • 生成:输出完整内参与简版摘要。
  • 推送:支持 SMTP 邮件,保留 OpenClaw 微信适配器接入点。
  • 运维:内置自检命令,可快速定位依赖与配置问题。

2. 核心能力

  • 支持 8 个省份:湖南、广东、浙江、江苏、四川、湖北、河南、山东。
  • 支持 8 个领域:水利、应急、发改、住建、交通、生态环境、农业农村、财政。
  • 支持完整初始化流程:省份、地区、领域、邮箱四步可跨进程落盘。
  • 支持命令:
    • 开通内参服务
    • 生成内参
    • 发送邮件版
    • 舆情预警
    • 状态
    • 帮助
    • 切换地域
    • 修改邮箱 user@example.com
    • 暂停推送
    • 恢复推送
    • 自检
  • 自动推送规则:默认工作日推送,周末跳过;节假日由 holiday_dates 控制。

3. 目录结构

GovInsider/
├── config/
│   ├── user_config.json      # 主配置
│   └── init_state.json       # 初始化状态
├── scripts/
│   ├── insider.py            # 主入口
│   ├── init.py               # 初始化状态机
│   ├── collector.py          # 采集与搜索适配
│   ├── generator.py          # 内容生成
│   ├── sender.py             # 发送通道
│   ├── runtime.py            # 路径/兼容/日志底座
│   └── regions.py            # 地区与领域配置
├── output/insider/           # 生成内容输出目录
├── logs/                     # 运行日志目录
├── SKILL.md
└── README.md

4. 快速开始

4.1 环境要求

  • Python 3.10+
  • Node.js(用于调用 online-search
  • 可选:SMTP 邮件账户
  • 可选:OpenClaw 微信适配命令

4.2 初始化

python scripts/insider.py 开通内参服务

按提示完成省份、地区、领域、邮箱配置。

4.3 常用命令

python scripts/insider.py 帮助
python scripts/insider.py 状态
python scripts/insider.py 自检
python scripts/insider.py 生成内参
python scripts/insider.py 发送邮件版

5. 配置说明

主配置文件:config/user_config.json

标准字段如下:

{
  "province": "湖南省",
  "cities": ["长沙市"],
  "domains": ["水利", "应急"],
  "email": "user@example.com",
  "smtp": {
    "server": "smtp.example.com",
    "port": 465,
    "user": "user@example.com",
    "password": "授权码"
  },
  "push_time": "07:30",
  "push_enabled": true,
  "holiday_dates": ["2026-10-01"],
  "created_at": "2026-04-15T09:00:00",
  "updated_at": "2026-04-15T09:00:00"
}

可选高级字段:

{
  "search_script": "C:/your/path/to/prosearch.cjs"
}

说明:

  • cities 可为 ["全省"] 或若干具体地市。
  • domains 为空时视为“全部领域”。
  • holiday_dates 使用 YYYY-MM-DD
  • push_enabled=false 仅影响自动推送,不影响手动 生成内参

6. 依赖解析策略

6.1 搜索脚本解析顺序

  1. 主配置字段 search_script
  2. Windows 已知 OpenClaw 路径
  3. macOS 已知 OpenClaw 路径
  4. 若都不存在,返回结构化错误

6.2 微信通道

需设置环境变量:

OPENCLAW_WECHAT_COMMAND

程序会把消息写入该命令标准输入。未配置时会明确提示“未接入适配器”。

6.3 邮件通道

需配置 smtp.serversmtp.usersmtp.passwordsmtp.port 可选,默认 465)。

7. 自动推送与调度

  • 自动模式入口:python scripts/insider.py --auto
  • 默认周末(NO_PUSH_DAYS)跳过自动推送
  • 命中 holiday_dates 跳过自动推送
  • 手动命令不受上述限制

8. 兼容策略

  • 主配置优先读取仓库路径:config/user_config.json
  • 若不存在,回退读取旧路径:
    • ~/.qclaw/workspace/skills/GovInsider/config/user_config.json
  • 回退读取后会标准化并写回仓库主配置
  • 历史领域值支持别名映射,自动归一化到当前 8 个领域

9. 自检项

自检 命令会检查:

  • Node.js 是否可用
  • 搜索脚本是否可解析
  • 主配置与初始化状态文件
  • 输出目录与日志目录
  • SMTP 配置完整性
  • 微信适配器接入状态

10. 故障排查

10.1 找不到搜索脚本

  • 确认已安装 Node.js
  • 确认 prosearch.cjs 存在
  • 在主配置中指定 search_script

10.2 邮件发送失败

  • 确认已设置收件邮箱 email
  • 确认 smtp.serversmtp.usersmtp.password
  • 对邮箱服务开启 SMTP 并使用授权码

10.3 微信发送失败

  • 若未设置 OPENCLAW_WECHAT_COMMAND,这是预期行为
  • 配置适配器命令后再验证

11. 示例流程

> 开通内参服务
请选择您关注的省份:

> 1
请选择您关注的地区(当前省份:湖南省):

> 0
请选择您关注的领域:

> 1,2
请输入邮件接收地址:

> 跳过
政务内参服务已完成配置。
> 生成内参
内参已生成。
区域:湖南省 全省
关注领域:水利、应急
保存位置:D:\AICode\GovInsider\output\insider\内参_湖南省_2026-04-15.md

12. 后续规划

  • 增加可配置的频道路由与多接收人策略
  • 增加更细粒度的来源评分规则
  • 增加自动化测试脚本与示例数据集
  • 增加 Docker 化运行支持

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages