⚡ 鉴于近期 DeepSeek 涨价等一系列因素,开发活动将较大放缓——更新节奏会变慢,敬请理解。
Skip to content

功能总览

sip 的功能分为四大块:智能归档辅助阅读AI 友好信息摄入闭环(v1.1),另有规划中的能力(见规划中)。

模块说明详情
📚 智能归档版本追踪、内容 Diff、快照归档、阅读进度记忆、来源身份与健康、内容质量标记本节
📖 辅助阅读TUI 文件夹视图、沉浸阅读、全文抓取、Markdown 渲染、今日哈汤本节
🤖 AI 友好全功能 CLI、统一 JSON 输出、语义搜索、LLM 摘要、结构化退出码本节
🔁 信息摄入闭环(v1.1)跨源去重(--dedup)、Source Policy(--policy)、阅读报告(--insights)、Onboarding(--onboarding本节
🕊️ 隐私与遥测本地遥测苏暖泉(Sumenia),默认关闭、仅本地保存遥测
🔒 安全守护孟思琳(simon):默认开启、无法关闭、只能调节挡位;挡位 3 全数据加密本节 · 安全
⚡ 百万级性能FTS5 全文搜索、TUI 懒加载、批量事务、窗口索引本节

智能归档

  • 版本追踪:自动检测文章的每一次修改,保存 v1、v2、v3……
  • 内容 Diffsip --diff 123 v1 v3 清晰展示变化
  • 快照归档:给整个订阅源打时间戳快照,永久保存某一时刻的完整状态
  • 阅读进度记忆:退出 TUI 后再回来,从上次读到的地方继续
  • 来源身份与健康sip --feed-info <编号> 查看来源的名称/类型/作者/官网/更新时间/最近文章/状态;-l 自动标注「⚠ 长期未更新」「✗ 失败 N 次」
  • 内容质量标记-l <编号> 为仅摘要([摘要])或无正文([无正文])的文章打标,JSON 输出带 quality 字段(full / short / empty

辅助阅读

  • TUI 文件夹视图:订阅源 + 文章树形展开,键盘驱动(Vim 风格快捷键)

  • 沉浸阅读模式:一键隐藏所有侧栏,全屏读正文

  • 全文抓取:RSS 摘要过短时,sip --fulltext <id> 抓取原文到本地缓存(零改表)

  • Markdown 渲染:HTML 自动转 Markdown,代码块/列表/链接完美呈现

  • 今日哈汤sip --today 给出今日 5 篇规则式选文(近 48h 新增 / 近期被作者更新 / 全文质量 / ♥🤖 标记加权,附预估阅读时长与理由),起始页同步展示——先引导每日少量阅读的习惯,个性化排序等苏暖泉(Sumenia)积累足够行为数据后再演进

    一天固定一碗:当日清单有缓存(today_cache),新文章当天不会自动进清单;想重新生成用 sip --today --refresh。要读当天新内容直接 --grep/--show 即可。开启苏暖泉(Sumenia)后可跟踪完成进度。

更多操作细节见 TUI 模式

AI 友好

  • 全功能 CLI:所有操作均可命令行调用
  • 统一 JSON 输出--json 让 AI 稳定解析,无需写正则
  • Embedding 语义搜索:基于向量检索,支持本地 Ollama / OpenAI / DeepSeek
  • LLM 摘要:按需生成,结果缓存复用
  • 结构化退出码0 成功 / 1 通用 / 2 网络错误 / 3 资源未就绪,适合脚本编排

详细命令见 AI 命令

信息摄入闭环

v1.1 起,sip 从「RSS 阅读器」走向「个人信息库」的筛选环:读 → 分析 → 你确认 → 规则生效 → 信息流变好。核心是四个「决定在你」的能力——检测是事实、决定在你、规则持久

  • 跨源去重(--dedup:同一篇文章被多个源转发时,按段落重合度(跨源、零 LLM)检测「可能同文」,--today 顶部 / --dedup scan 会标出。检测输出重复簇(一组同文文章,含代表与成员);hide-cluster <代表Id> 一键隐藏整簇(保留代表、隐藏其余成员),hide <hiddenId> <canonicalId> 单篇隐藏亦可。隐藏即标 Status='dedup'——因所有查询只读 active,它自动从搜索 / 全文 / 摘要 / 计数里消失(数据保留,非删除)。dedup.json 记录规则,--sync 导入时跳过,防止卷土重来;若被忽略那篇被作者改成不同内容,规则自动失效并重新提示。undo <key> 一键撤销恢复。v1.1.4 起为簇检测:再大的重复量也只会输出少量簇,无配对爆炸、无截断。
  • Source Policy(--policy:把「你的决定」存成 source_policy.json应用lower_frequency(直接改更新频率)/ archive / tag(打标签,-l 显示 #tag)/ keep / unsubscribe(记备注)。createdBy 永远是 user,AI 永不自动写——规则都经你确认。
  • 阅读报告(--insightsstatus(仅技术故障:正常 / ⚠ 长期未更新 / ✗ 失败 N 次)+ reasons(事实原因列表),删掉「建议退订 / 可考虑精简」等把行为包装成价值判断的措辞——低阅读 ≠ 低价值,不引入黑盒评分。判断留给你。
  • Onboarding(--onboarding:按领域(AI / 开发 / 科技公司)一键添加推荐源,降低首次使用门槛;templates.json 可编辑自定义清单。

遥测与隐私

本地阅读遥测苏暖泉(Sumenia):默认关闭、仅本地保存、绝不自动上传;可查看 / 关闭 / 删除 / 导出。详见 遥测与隐私

安全守护

孟思琳(simon) 是 sip 的安全守护——与苏暖泉(默认关闭)相反,默认开启、无法关闭、只能调节挡位

挡位名称能力
1(默认)基础数据库完整性自愈、SSRF/URL 校验、终端转义剥离、--init 非 TTY 拒绝、凭据只入系统凭据库
2严格非交互调用(脚本/Agent/管道)禁破坏性命令,返回退出码 3 + 结构化错误
3极致非交互调用禁全部 CLI(只读命令仍可用);数据加密:rss.db(SQLCipher)+ 全文缓存与 dedup 规则(AES-GCM)

挡位对照(CLI 调用时)

命令类型1 基础(默认)2 严格3 极致
写操作(-d 添加 / -r 删除 / -u 更新 / --like / --schedule / --fulltext / --dedup / telemetry enable 等)放行🚫 一律拒绝🚫 拒绝
只读(-l / --grep / --search / --show / --diff / --dedup list·scan / --policy list / --help放行✅ 放行🚫 拒绝
simon status(守护状态查询)✅ 唯一 CLI 出口
TUI(含命令栏)✅ 不受影响
数据加密✅ 开启后不可逆

示例(挡位 3):CLI 的 sip -lsip --grep 关键词sip --help 全部被拒(exit 3),只有 sip simon status 可用;一切操作走 TUI。挡位 2 下:sip -u 1sip -d <url> 被拒,sip -lsip --grep 正常。

bash
sip simon status              # 挡位 + 修复/拦截记录 + 加密状态
sip simon level 2             # 升到严格(CLI 可升不可降;降挡只能在 TUI 命令栏)
sip simon export-key key.txt  # 导出密钥备份(交互式)

加密原理 / SSRF / 终端注入 / 凭据管理 / 命令速查等完整机制见 安全

百万级性能

面向大库(10 万~百万篇文章)的适配,实测(100 万篇基准库):

能力说明
FTS5 全文搜索--grep ≥3 字符走 FTS5 + trigram(中文子串可搜),100 万篇从秒级降到 ~0.5s;短词自动回退 LIKE;索引懒回填(首次搜索一次性建)
TUI 懒加载启动/刷新只加载折叠计数,展开源才拉取文章;单源展开上限 2 万条
批量事务整源更新一次提交(导入从逐条 fsync 变为一次落盘)
窗口索引今日哈汤/去重按 PublishDate 索引;去重窗口超 2 万篇只取最近 N 篇
启动优化正常退出写标记,跳过 2GB 库的 28 秒全量完整性检查(异常退出仍全检)

规划中

白名单/黑名单过滤、TTS 朗读、Sip Today 个性化等能力已在设计里但尚未实现——详见规划中

最近更新

遵循 GNU General Public License v3.0 (GPL-3.0)