公网pi日推助手如何实现与限制权限
日推助手采用“定时任务+受限 pi Agent+推送服务”,程序负责采集、状态、校验和发送,Agent 只做筛选与总结。
要点
- 最小实现采用 TypeScript+pi SDK+SQLite+systemd timer;采集时区分发布与抓取时间,按规范化 URL 和内容哈希去重;定时明确时区并加任务锁。
- 每日资讯:OpenAI、Simon Willison、InfoQ;工程实践:Anthropic、Cloudflare;经典阅读:Brendan Gregg,标注旧文;接入时优先官方 RSS/Atom,不猜路径。
- 每天独立会话,只开放 list_candidates、get_article,以 articleId 读取本次任务文章;模型输出结构化日报,程序校验数量、字段和来源编号,再补原文链接。
- 按来源所查 pi main 分支,customTools 提供工具,tools 是各类工具的名称白名单,tools: [] 表示空白名单;resourceLoader 控制资源加载,需固定版本并核对文档。
- 执行层依据服务端身份检查工具与任务数据权限;不开放 Shell、任意文件读写或发送能力,不暴露密钥,限制进程权限、网络、调用次数与超时;白名单不等于系统沙箱。
- 接收人和发送状态由程序管理,以“订阅 ID+日报日期”防重;失败重试复用已生成内容,超时不明时结合幂等键、回执核对;采集失败、模型失败与无新内容分开处理,不将旧闻冒充新闻。