七个葫芦/Scraplet

Scraplet数字碎片路由与卡片策展

Digital · 置信度分拣、间隔重审与单向归档

解决「随手收藏却从不回看」的信息淤积:通过系统分享接收零散文字,由置信度感知的 AI 路由自动分入五大学科域或留在收集箱,再用四向手势回顾卡与卡片级提示词逐张审视、提炼,筛选出真正值得留存的内容单向写入 Obsidian。

ANDROIDKOTLIN · ROOM · SAF本机v1.0
Scraplet 界面截图
模拟器截图 · 主页

01系统分享采集与哈希去重

仅通过 Android 系统分享显式入库,落盘与后台 AI 路由异步解耦。

  • 唯一入口是系统分享(ACTION_SEND 单条 / SEND_MULTIPLE 多条),没有悬浮球、常驻通知,也不监听剪贴板。
  • 多条按空行拼接;与上一条相同的内容按哈希去重并提示,不会重复入库。
  • 保存只写本地 Room,AI 归类在后台继续,不阻塞分享返回。

02置信度感知的 AI 主题路由

支持决策模型 Jev 与对话模型三级回退,低置信度条目留存收集箱。

  • 六个去处:科技、商业、社会、生活、人文,加一个收集箱。
  • 三档引擎:AUTO(Jev → chat → 备用链)、JEV(只用决策模型)、CHAT(只用对话模型)。
  • Jev 返回 choice + confidence;置信度低于 0.5 一律留在收集箱,不硬塞。
  • 发给模型的只有待分类文本(最多 4000 字)和主题名,不带历史;失败时按顺序换备用端点,最多 6 个。
  • 整块 AI 可以关掉,六个盒子照样手动整理。

03四向手势回顾卡与滚动防误触

以单卡流替代列表浏览,滚到底部才解锁删除手势并支持即时撤销。

  • 左滑下一张、右滑上一张、上滑标星(可取消)、下滑删除(可撤销)。
  • 正文优先滚动:滚到底才触发删除,滚到顶才触发标星,横纵轴锁定避免误触。
  • 标星有确认动画与触觉反馈;删除先进撤销条,右滑不会退回已删除的条目。
  • 每轮 24 张,顶部有本轮进度;首次进入演示一次四向手势,看过即记住。
模拟器截图 · 回顾卡
模拟器截图 · 回顾卡

04三源合流:本地、Obsidian 与 GitHub

除本地摘录外,可混入 Obsidian 划线与按 blob SHA 缓存的远端文库。

  • 本地笔记里的摘录;
  • Obsidian 里勾选的划线文件(只读,不写入);
  • 一个私有 GitHub 仓库的作者目录:按 blob SHA 缓存,未改动不重复下载,断网读缓存。

05卡片级自定义提示词动作

针对单张卡片执行解释、翻译或自定义模板,确认后才落库为摘要。

  • 内置「解释」「翻译」两个动作;可自定义最多 8 个,每个动作就是一段带 {{content}} 的提示词。
  • 点按跑默认动作,长按换一个;结果先显示在卡片上,不自动入库。
  • 另一步「保存」才把它写成该笔记的一条 AI 摘要,避免丢弃的答案变成噪声。

06跨笔记聚合总结与生命周期

排除已有摘要后生成主题清单与待办,支持 1/7/30 天到期归档。

  • 入口:主页顶部的「AI 总结」按钮,点一次发一次;运行中转圈并忽略重复点击,不会排队。
  • 范围:主页对全部笔记,笔记内只对该笔记;已有 AI 总结会被排除,避免把摘要再总结成二手话。
  • 提示词:只有一条,可自行改写;默认要求 Markdown 列表——一句总述、按主题分组、待办与延伸阅读单列。
  • 写回:作为一条 aiSummary 写回收集箱或原笔记;可设 1 / 7 / 30 天或永不删除,到期移入「已导出存档」。

07Obsidian 单向追加与 7 天可恢复

筛选后的条目追加至对应 Markdown 文件,已导出条目保留 7 天恢复期。

  • 每个笔记对应一个 Markdown 文件,追加未转出的条目;写入成功才标记,失败下次重试。
  • 可选「导出后清空」:成功写入的条目移入「已导出存档」,7 天内可恢复。
  • AI 总结永不写入 Obsidian——它是临时概览,不是收藏。

08数据表结构与安全边界

Room 三表非破坏迁移,Markdown 渲染仅放行标准 HTTP/HTTPS 链接。

  • Room v6:notes / entries / archive 三表,逐级非破坏迁移。
  • 自研 Markdown 子集解析器,链接只放行 http/https。
  • 每个 AI 调用都有超时与可读错误(HTTP 码、超时秒数),失败不写库。
TopicRouter.kt · SystemOneClient.kt · ReviewDeck.kt · AiSummarizer.kt · ObsidianTransfer.kt