newsflow
v1.0.1
Published
Personal RSS news hub with web UI and Agent-friendly CLI.
Readme
NewsFlow
NewsFlow 是一个个人 RSS 信息中台:拉取 RSS/RSSHub 资讯,按关键词粗筛,使用大模型精选和润色,并推送到飞书机器人、微信好友/群、飞书知识库。项目同时提供 Web 管理台和 Agent 友好的 CLI。
功能
- RSS / RSSHub 订阅源管理
- 手动拉取、自动拉取、CLI 拉取
- 正向/负面关键词粗筛
- 大模型翻译、精选、推送文案润色
- 精选规则学习:使用粗筛经历资讯重新标注并生成规则
- 精选、粗筛、原始、选题、周报、归档列表
- 飞书机器人、微信好友/群、飞书知识库推送
- 推送消息后缀配置
- 邮箱密码登录、API-Key、管理员账号管理
- 可发布的
newsflowCLI
本地启动
npm install
npm start打开 http://localhost:3000。
默认管理员:
- 邮箱:
[email protected] - 密码:
admin123456
可通过环境变量覆盖:
[email protected]
NEWSFLOW_ADMIN_PASSWORD=change-me
PORT=3000SQLite 数据库位于 data/newsflow.sqlite。
Docker 部署
docker compose up -d --build可选 .env:
PORT=3000
[email protected]
NEWSFLOW_ADMIN_PASSWORD=change-me数据保存在 Docker volume newsflow-data,容器内路径为 /app/data。
CLI
安装本地包:
npm install -g .发布后也可以直接安装:
npm install -g newsflow登录:
newsflow login --api-key <API-Key> --server http://localhost:3000常用命令:
newsflow pull
newsflow pull --agent
newsflow pull --agent --no-wait
newsflow pull-status --agent
newsflow list --status selected
newsflow list --status coarse
newsflow list --status raw
newsflow unpush
newsflow push --id <资讯ID> --channel feishuBot,wechat
newsflow topics
newsflow weekly
newsflow help-agent默认 newsflow pull 面向人工使用,会持续输出当前信源、翻译、精选和完成统计。
Agent 建议使用:
newsflow pull --agent:只输出 NDJSON 的启动事件、失败信源事件和完成摘要,避免持续日志污染上下文。newsflow pull --agent --no-wait:启动拉取作业后立即返回,适合让 Agent 后续再查询。newsflow pull-status --agent:输出当前拉取作业的单行 JSON 状态。
推送配置
配置中心包含:
- 大模型:模型名、Base URL、OpenAI/Anthropic 格式、API Key、追加润色提示词
- 推送渠道:飞书机器人、微信、消息后缀文案
- 知识库与 RSSHub:RSSHub Base URL、飞书知识库 app/space/node 配置
微信推送有三层开关:
- 渠道总开关
- 好友/群单独推送开关
- 好友/群各自的自动推送和 Agent 推送开关
GUI 手动推送会先生成可编辑文案,确认后推送编辑后的内容。自动推送和 CLI/Agent 推送直接使用系统生成文案。
开发检查
npm run check
npm pack --dry-run