Skip to content

732642856/some-

Repository files navigation

some

一个 SwiftUI 写的本地优先 iOS 个人素材库。目标是让用户随时捕捉文字、图片、录音、视频、链接、截图、衣橱单品、饰品和包包,并把这些素材按场景整理成电子手帐、工作日志、网页摘录卡片、图片排版作品和穿搭衣橱记录。

当前 master 已经是可本地跑起来的个人自用版本:已经完成文字记录、首页工作台 v8、禅定专注记录、桌面小组件快速入口、标签、搜索、附件、拍照/拍视频/连续扫描/相册/文件导入、录音 v1、本地语音转写 v2、媒体缩略图缓存与媒体元数据摘要 v11、网页摘录 v5、网页/OCR 摘录片段索引 v3、图片/截图/扫描 OCR v17、素材索引、素材库视图、手帐页面与画布编辑 v10、工作日志 v17、图片编辑 v11、电子衣橱与穿着洞察 v12、分享扩展、引用、备份 v2、隐私锁和本地/可选联网 AI 工作台;复杂对象修复等仍在路线图中。首次运行、真机签名和验收路径见 docs/local-install-and-first-use.md

项目仍避免使用 flomo、极简衣橱等应用的名称、Logo、素材与品牌表达。后续只复用许可证清晰的开源代码或系统能力;无许可证、GPL/AGPL/MPL 代码默认只做产品与架构参考。

产品目标

输入素材

  • 随时记录想法、摘录、待办、工作记录
  • 拍摄或导入图片、视频、截图、文件;拍摄/导入图片时会尝试本地 OCR 提取文字
  • 后续补真实长列表性能验证和更细的复杂表格结构校对
  • 导入网址和链接,提炼标题、摘要、正文重点和可摘录片段
  • 建立电子衣橱:衣服、饰品、包包、鞋履、穿搭组合、使用记录

输出场景

  • 电子手帐:把选中的记录、图片、截图、贴纸、字体、花边、边框、背景和装饰排版成可编辑页面
  • 工作日志:勾选输入内容,按日期、项目、任务、进展、问题、下一步生成工作记录和汇总
  • 网页摘录:从链接、网页、截图中提炼关键信息,形成摘要、引用、摘录卡和待办
  • 图片编辑:滤镜、边框、裁剪、抠图、拼贴、贴纸、文字、排版;图片清理只面向用户拥有或获授权的图片,不把“移除第三方版权/平台水印”作为产品目标
  • 穿搭衣橱:像极简衣橱类应用一样管理单品、搭配、场景、季节、颜色、材质、穿着频率、旅行打包和灵感板

已实现底座

  • 快速输入卡片
  • 首页工作台 v8:首屏按“记录入口 / 创作整理 / 回看管理”分组展示记录、专注、素材、手帐、日志、衣橱、AI、回顾、统计和归档入口,顶部会随当前模式显示用途说明和小清新色块;模式卡片会根据动态字体大小调整最小宽度和说明行数,小屏或无障碍大字下自动从双列退为更舒展的单列;新增“首用路线”卡片,引导依次跑通第一条记录、素材导入、手帐、工作日志、衣橱和设置里的备份导出;系统搜索栏会按当前模式显示记录、素材、手帐、日志、衣橱等不同提示,快速输入卡也有清晰标题;快速输入的清空、相册、拍照、视频、扫描、录音、文件和网页摘录按钮会按动态字体自适应换行;素材、手帐、日志和衣橱工作区进入后会显示统一的轻量标题条,统计指标会用自适应网格换行,衣橱输入区把单品、穿搭、穿着、洗护和打包收拢为分段切换,避免高频工作区首屏横向滚动过多或连续表单过长
  • 禅定专注记录 v3:首页新增“专注”模式,提供大文本输入、舒适/大字/紧凑文字偏好、字数目标、进度条、自动聚焦、本地草稿保留、实时字数/行数/标签统计和一键保存,适合只想先写下想法时使用
  • 桌面小组件 v1:新增 Widget Extension,读取 App Group 内的轻量快照,显示今日/总记录数和最近记录;小组件可打开记录页、专注页、搜索页或深链到单条记录,视觉沿用浅粉、雾蓝、淡紫、柔白的小清新头像色系
  • 快速导入入口 v3:可从输入卡片拍照、拍视频、连续扫描,或导入相册图片/视频和文件,保存为本地附件素材;底部快捷操作会自适应换行,小屏或大字号下不再挤成单行
  • 录音入口 v1:快速输入卡片可录制本地 m4a 音频,保存为音频附件素材
  • 本地语音转写 v2:详情页对音频附件提供“语音转写”,可选择自动、普通话、英语、粤语、日语或韩语,通过系统 Speech 本机识别后追加到原记录正文
  • 媒体缩略图与摘要 v11:详情附件区、Markdown 附件卡、素材库图片/视频条目、图片编辑器预览、OCR 框选预览、手帐列表图片图层和手帐编辑器图片图层会在本机生成并缓存小尺寸预览;图片预览使用 ImageIO 下采样写入 ImageThumbnailCache,视频预览使用 AVFoundation 写入 ThumbnailCache,附件行先显示缓存摘要或文件大小,再后台预热时长/分辨率摘要;素材库进入或素材变化时会批量预热图片缩略图、图片/音频/视频元数据摘要和视频缩略图,并按全量图片与视频引用集清理不再被当前素材引用的图片/视频缩略图缓存;素材库长列表行、详情附件区、Markdown 附件卡、图片编辑器预览、OCR 框选预览、手帐列表预览与手帐编辑预览只读取小图缓存、已预热摘要或文件大小,避免滚动、打开详情、编辑、框选和拖拽排版时同步解码原图和音视频元数据,失败时回退为类型图标
  • 网页摘录入口 v5:输入卡片识别到链接后可提取标题、摘要、来源、摘录卡和正文重点候选;摘要/重点里出现数字日期、中文年月日日期、电话、邮箱、链接、128元¥128.50 这类金额时会额外写入“网页关键信息候选”,可用 has:web-key-info / has:网页关键信息候选 集中筛选,也可作为工作日志来源类型勾选;单链接可合并草稿里的 OCR 文本并勾选摘录片段后保存,多链接会批量抓取并分别保存为多条网页摘录记录;链接检测和系统分享文本合成会按去除 utm_*fbclidgclid 等跟踪参数后的地址去重,保存时仍保留用户输入的第一条原始链接;保存后的网页摘录和摘录片段会进入素材库与搜索,但网页摘录和摘录片段索引都只读取 some 生成的结构化块,避免 OCR 原文里出现 [网页摘录: ...] 或“摘录片段:”时误触发
  • 图片/截图/扫描 OCR v17:拍摄、连续扫描或导入图片后用 Apple Vision 在本机识别文字,识别结果随附件保存为“图片文字/扫描文字”记录,并记录平均/最低识别置信度;有 Vision 行框位置时会按顶部优先、同一行从左到右整理识别文字,并写入“版面分区”摘要,提示左/右栏和顶部/中部/底部行数;识别到明确分隔符型表格或行框横纵对齐的简单表格时会生成“表格候选”摘要,提示列数、数据行数和表头;无分隔符小票/餐饮截图里出现两行以上“项目 + 末尾金额”时会生成“票据行候选”摘要;识别到两行以上 字段:值 / 字段: 值 形式内容时会生成“字段候选”摘要,并把名字/手机号/电子邮箱/总计等常见字段名归一为姓名、电话、邮箱、金额等稳定字段;还会从 OCR 文本里提炼数字日期、中文年月日日期、电话、邮箱、链接、128元¥128.50 这类金额生成“关键信息候选”,方便表单、票据和截图先扫读再校对;版面分区、字段、关键信息、表格、票据行候选均可用 has:* 搜索集中筛出,也可作为工作日志来源类型勾选;详情页可对图片附件框选局部区域并追加识别文字,框选页异步读取最长边 1600px 的 ImageIO 缩略图用于选区预览,区域坐标保持归一化并由原附件执行 OCR;也可把多段 OCR 文本生成去重的“待校对”清单,低置信度记录只读取 some 生成的置信度 metadata,可用 has:ocr-review / has:待校对 筛出继续校对,多张图片、多页扫描或多段局部 OCR 会分别进入“图片文字”素材和 has:ocr 搜索
  • 图片编辑 v11:素材库图片可打开编辑器,支持预设比例裁剪、拖拽定位/捏合缩放裁剪、裁剪前旋转/水平翻转/垂直翻转、背景柔化/纯色画布、人物抠图、iOS 17+ 智能主体抠图、点选单个智能主体、用户拥有或获授权图片的柔和修补和对象清理贴片、滤镜、边框、文字、贴纸和版式模板/导出预设;编辑器预览异步读取最长边 1600px 的 ImageIO 缩略图,避免打开大图时同步解码原图,保存时仍由 MemoStore.addImageEdit 从附件原图重新渲染,保存为新的本地 PNG 附件与“图片编辑”素材,并记录所用模板、方向、主体选择点和清理类型便于复现;图片编辑配方只读取 some 生成的 JSON marker,避免 OCR 原文里的 图片编辑JSON: 被误当结构化配方
  • 电子手帐 v10:首页新增“手帐”模式,可保存手帐页面结构化记录、生成可迁移图层 JSON,在手帐列表显示页面预览,列表和编辑器图片图层复用本地缩略图缓存异步加载,编辑时仍保留取景、照片滤镜和相框预览,导出继续使用原图渲染,可在编辑器拖拽、缩放、旋转图层,追加已有图片素材,调整图片图层的取景位置、取景放大、照片滤镜、相框颜色和相框线宽,调整画布底色、字体、文字色、贴纸、底色、花边颜色、字号、圆角和线宽,把当前画布导出为 PNG 或 PDF 附件并立即调起系统分享表,也可选择多张图片快速生成图片拼贴和 PNG 导出附件;手帐图层 JSON 只读取 some 生成的 marker,OCR 原文里的 手帐图层JSON: 不会污染图层解析或素材摘要
  • 工作日志 v17:首页“日志”模式可按标签、素材类型、时间和关键词筛选可汇总记录,勾选已有记录,提取已完成/未完成任务,填写项目与日期范围,套用日报、周报、项目汇报或复盘模板,生成带来源引用的结构化工作记录;勾选 OCR 字段候选来源时会把去重后的 姓名=... · 电话=... · 金额=... 等字段候选自动带入工作日志正文,勾选网页/OCR 关键信息来源时也会把日期、电话、邮箱、链接、金额等候选带入日志,保存前会显示“候选信息”检查区,可逐项勾选、取消或直接编辑后再写入,避免手动复制截图或网页字段也避免误带入;工作日志列表可按项目/模板/日期继续筛选,并把当前结果导出为带本地汇报摘要的 Markdown、结构化 CSV、通用汇报稿、站会稿、项目简报、团队周报、行动复盘、会议纪要、可编辑自定义模板或可选 AI 润色汇报;汇报稿会把 OCR/网页候选按日期、联系人、电话、邮箱、金额、链接、地址等分组为“候选信息”,方便直接复核摘录来源;自定义模板支持 {{项目}}{{日期}}{{日期范围}}{{日志数}}{{项目数}}{{风险数}}{{下一步数}}{{来源列表}}{{创建时间列表}}{{进展列表}}{{风险列表}}{{下一步列表}}{{候选信息列表}}{{联系人候选列表}}{{金额候选}} 等占位符;如果日志正文含 OCR 字段候选 或网页/OCR 关键信息候选,也可直接使用 {{姓名}}{{电话}}{{邮箱}}{{链接}}{{金额}} 等子字段,并保存在本机
  • 电子衣橱 v12:首页新增“衣橱”模式,可在单品、穿搭、穿着、洗护和打包五个分段入口之间切换,快速保存单品、材质、厚薄、价格、穿搭组合、穿着记录、洗护状态和旅行打包清单,打包清单可记录行程天数、目的地和天气,也可按目的地从 Open-Meteo 获取当天温度、天气码和降雨概率填入草稿;单品可绑定已有图片附件,并进入衣橱/穿搭/穿着/洗护/打包素材索引;衣橱洞察会统计分类、颜色、季节、场景、未搭配单品、常用单品、最近穿着和成本/次,根据最近穿着或打包清单天气生成天气穿搭,普通场景/季节/低频单品搭配会优先补齐上装、下装、鞋履、包包和饰品,炎热天气优先轻薄、透气材质,按行程天数扩展打包建议数量,高温长途多带可替换上装,阵雨天气补雨具、防水鞋或轻外套,并生成优先基础色、跨场景、低重复穿着的胶囊打包建议,优先带出最近打包清单的目的地和天气,避开待清洗/送洗/待熨烫/待修补单品,提醒洗护状态,可把穿搭建议或自动打包建议填入对应草稿,并可为待处理洗护单品安排本地系统通知
  • #标签 自动识别
  • 支持 #项目/子类 多级标签
  • 标签筛选
  • SQLite FTS 全文搜索
  • 搜索语法:#标签tag:标签is:pinnedis:archivedis:activehas:linkhas:webhas:web-key-infohas:cliphas:ocrhas:ocr-layouthas:ocr-fieldhas:ocr-key-infohas:ocr-tablehas:receipt-lineshas:ocr-reviewhas:image-edithas:audiohas:videohas:scrapbookhas:workloghas:wardrobehas:outfithas:wear-loghas:laundry-loghas:packing-listcreated:2026-06
  • 搜索增强:最近搜索、保存搜索、结果数量、命中摘录、链接/附件/任务/引用/日期结构化筛选
  • 置顶
  • 编辑和删除
  • 本地 SQLite 持久化
  • Markdown 导出
  • App 内隐私说明
  • AppIcon 全尺寸资源
  • PrivacyInfo.xcprivacy 隐私清单
  • 旧 JSON 数据自动迁移,主文件损坏时可从 .bak.json 兜底迁移
  • 记录 / 专注 / 素材 / 手帐 / 日志 / 衣橱 / AI / 回顾 / 统计 / 归档十视图
  • 草稿自动保存
  • 每日回顾摘要:显示今日记录数、连续记录天数、可回顾旧记录数量,并把 7 天前旧记录列为可点击回看入口,同时保留随机回顾与历史今天
  • 记录热力图与高频标签
  • 完整备份导出与导入 v2:包含记录、历史版本和本地附件;导入反馈会显示记录数、历史版本数、附件数和附件大小摘要
  • URL Scheme:some://home 打开记录页,some://zen 打开专注页,some://add?text=... 快速保存,some://search?q=... 快速打开搜索,some://open?id=<记录UUID> 深链打开单条记录
  • 可选 OpenAI API Key,保存在 iOS Keychain
  • AI 洞察:周期复盘、困惑破局、自我觉察、主题研究、写作灵感
  • 本地 AI 记忆档案:不需要 API Key,可从设备内记录提炼主题、任务和工作线索,并保存为普通记录
  • AI 自然语言语义搜索:未配置 Key 时走本地带权相关搜索,支持英文/数字关键词单字符拼写容错并显示命中词;配置 Key 后走 OpenAI embedding,并在本机 App Group 缓存最近使用的记录 embedding 以减少重复请求,设置里可查看并清除语义缓存
  • AI 相关记录查找:未配置 Key 时可用本地带权相关度、英文/数字关键词单字符拼写容错和命中词解释,配置 Key 后走 OpenAI embedding,并跨启动复用最近使用的记录 embedding
  • 隐私锁:支持 Face ID / Touch ID / 设备密码解锁
  • 每日回顾提醒:本地通知,可设置提醒时间
  • 链接识别:卡片显示链接,详情页可直接打开
  • Share Extension:可从其他 App 分享文本或链接到 some
  • Share Extension 附件:支持从其他 App 分享图片或文件到 some
  • 共享 App Group 存储:主 App 与 Share Extension 共用 SQLite 数据库
  • 快速输入增强:打开自动聚焦、保存并继续、首次记录模板、标签建议、链接预览
  • Markdown 阅读渲染 v6:列表和详情页支持加粗、链接、标题、引用块、表格、分隔线和脚注定义等常见 Markdown 样式,fenced code block 会以等宽代码块显示并保留代码内任务文本;独立附件引用行会渲染为本地附件卡片
  • Markdown 任务项:识别 - [ ] / - [x],详情页可直接勾选并写回
  • App Intents / Shortcuts:支持通过快捷指令保存新随记,并可直接打开专注、工作日志、衣橱和 AI 整理页
  • 卡片引用:详情页可添加 some-memo:// 内部引用,并显示正向引用与反向引用
  • 统一素材索引 v1:现有记录会同步索引为文本、链接、网页摘录、摘录片段、图片文字、图片编辑、附件、音频、视频、任务、内部引用、手帐页面、工作日志、衣橱单品、穿搭、穿着记录、洗护记录和打包清单素材,为后续真实天气推荐和衣橱统计打底
  • 素材库 v2:首页可按文本、链接、网页、摘录、图片文字、图片编辑、附件、音频、视频、任务、引用、手帐、日志、衣橱、穿搭等类型筛选素材,图片与视频附件支持本地预览,媒体摘要和视频缩略图会在素材变化时后台预热,网页素材可直接打开原链接,图片素材可进入编辑器

搜索语法

  • 普通文字:搜索正文和标签,例如 读书 摘录
  • #标签tag:标签:按标签过滤,支持匹配子标签,例如 #产品
  • is:pinned / is:unpinned:只看置顶或未置顶
  • is:archived / is:active:只看归档或当前记录
  • has:link:只看包含普通网页链接的记录
  • has:web / has:webclip / has:网页摘录:只看已经保存为网页摘录的记录;OCR 原始识别文字里的 [网页摘录: ...] 不会被当成网页素材
  • has:web-key-info / has:网页关键信息候选:只看网页摘录保存时生成了“网页关键信息候选”的记录
  • has:clip / has:摘录片段 / has:片段:只看网页/OCR 勾选后合并保存的摘录片段;OCR 原始识别文字里出现“摘录片段:”不会被当成 some 生成的摘录素材
  • has:ocr / has:screenshot / has:图片文字:只看导入图片后识别出文字的记录
  • has:ocr-layout / has:版面分区:只看 OCR 保存时生成了“版面分区”的记录
  • has:ocr-field / has:字段候选:只看 OCR 保存时生成了“字段候选”的记录
  • has:ocr-key-info / has:关键信息候选:只看 OCR 保存时生成了“关键信息候选”的记录
  • has:ocr-table / has:表格候选:只看 OCR 保存时生成了“表格候选”的记录
  • has:receipt-lines / has:票据行:只看 OCR 保存时生成了“票据行候选”的记录
  • has:ocr-review / has:待校对 / has:低置信度:只看最低 OCR 置信度低于 70% 的图片文字记录,方便继续校对
  • has:image-edit / has:图片编辑 / has:滤镜:只看图片编辑作品
  • has:audio / has:录音 / has:音频:只看音频附件记录
  • has:video / has:视频 / has:录像:只看视频附件记录
  • has:scrapbook / has:手帐 / has:拼贴:只看手帐页面记录
  • has:worklog / has:工作日志 / has:日报 / has:周报:只看工作日志记录
  • has:wardrobe / has:衣橱 / has:单品:只看衣橱单品记录
  • has:outfit / has:穿搭 / has:搭配:只看穿搭组合记录
  • has:wear-log / has:穿着 / has:穿着记录:只看穿着记录
  • has:laundry-log / has:洗护 / has:护理:只看洗护记录
  • has:packing-list / has:打包清单 / has:旅行打包:只看旅行打包清单
  • has:attachment:只看包含本地附件引用的记录;OCR 原始识别文字里的 some-attachment:// 附件文本不会被当成真实附件
  • has:task / has:open-task / has:completed-task:只看包含任务、未完成任务或已完成任务的记录;OCR 原始识别文字里的 Markdown checklist 不会被当成可勾选任务
  • has:reference / has:backlink:只看引用了其他记录或被其他记录引用的记录;OCR 原始识别文字里的 some-memo:// 引用文本不会被当成真实关系
  • created:2026 / created:2026-06 / created:2026-06-22:按创建年、月或日过滤
  • updated:>=2026-06-22 / created:<2026-06:按更新时间或创建时间做边界过滤,支持 >>=<<=
  • -has:link / no:task / without:attachment:排除对应类型,能和普通文字、标签、置顶、归档筛选组合使用
  • 双引号:把空格内容作为一个搜索词,例如 "输入体验"
  • 提交搜索后会进入“最近”,也可以把常用组合保存成快捷筛选。
  • #标签 只从用户正文/生成摘要区提取;OCR 原始识别文字里的 hashtag 话题不会进入标签侧栏或标签筛选。

打开工程

最快先看 docs/local-install-and-first-use.md,再按下面步骤跑:

  1. 安装 Xcode 16 或更新版本。
  2. 在仓库根目录执行 bash scripts/check-local-readiness.sh,确认项目结构完整,并看清本机是否缺 Xcode/Simulator SDK/签名配置。
  3. 打开 some.xcodeproj
  4. 选择 shared scheme some
  5. 先选择 iPhone Simulator 运行。
  6. 真机自用时,在 target some 的 Signing & Capabilities 中选择你的 Apple Developer Team。
  7. 把 Bundle Identifier 从 com.732642856.some 改成你账号下可用的唯一 ID。
  8. 在 target someSomeShareExtensionSomeWidget 中启用同一个 App Group,默认占位为 group.com.732642856.some,需要按你的 Bundle ID 改成账号下可用的 group。工程通过 build setting APP_GROUP_IDENTIFIER 同步写入 entitlements 和运行时配置。

如以后上架要替换的信息

  • App 名称:默认 some
  • Bundle ID:默认 com.732642856.some
  • Share Extension Bundle ID:默认 com.732642856.some.share
  • Widget Extension Bundle ID:默认 com.732642856.some.widget
  • App Group:默认 group.com.732642856.some
  • Copyright:在 App Store Connect 中填你的个人或公司主体
  • 支持 URL:需要一个公开网页
  • 隐私政策 URL:需要一个公开网页,可先用 AppStore/privacy-policy.md 的内容发布

技术说明

当前版本不接入账号、云同步、广告或第三方分析。笔记内容默认以 SQLite 保存在用户设备本地;启用 App Group 后,主 App 与 Share Extension 会共用同一个本地 SQLite 数据库,小组件只读取主 App 写入 App Group 的轻量快照 JSON。Markdown 导出和完整备份导出由用户主动触发系统分享表。图片缩略图通过 Apple ImageIO 在本机下采样并缓存到 App Group 本地 ImageThumbnailCache 目录,视频缩略图通过 Apple AVFoundation 在本机生成并缓存到 App Group 本地 ThumbnailCache 目录;素材库维护周期会按当前素材引用清理不再需要的图片/视频缩略图缓存。媒体元数据摘要也在本机读取,不上传原视频、音频或图片。衣橱打包页的“获取天气”由用户主动触发,会把填写的目的地发送给 Open-Meteo 地理编码/天气接口,并把返回的当天温度、天气码和降雨概率写入本地草稿。配置 OpenAI Key 后,AI 语义搜索会把最近使用的记录 embedding 缓存到 App Group 本地 AICache 目录,缓存 key 使用模型名和文本 SHA-256 指纹,最多保留 1000 条,不额外保存笔记明文;用户可在设置页清除 AI 语义缓存。

附件当前保存在 App Group 的本地 Attachments 目录,memo 正文只保存轻量引用。附件关系只读取 some 生成的附件引用行,避免 OCR 原文里的同形 Markdown 误进入素材索引、搜索或附件清理引用集。删除或编辑 memo 时,只会删除已不再被任何 memo 引用的本地附件文件,避免多个 memo 共用同一附件时误删。

签名和发布相关 ID 已抽成 build settings:APP_BUNDLE_IDSHARE_EXTENSION_BUNDLE_IDWIDGET_EXTENSION_BUNDLE_IDAPP_GROUP_IDENTIFIER。本机 Xcode 可在 Build Settings 中修改;GitHub Actions 可通过 secrets 注入。

AI 功能是可选能力:本地 AI 记忆档案、本地 AI 搜索和本地相关记录不需要 API Key,也不会离开设备;只有在设置里保存 OpenAI API Key,并主动点击 AI 洞察、AI 搜索/相关记录或工作日志 AI 润色时,应用才会把本次操作需要的文本、搜索问题、提示词或工作汇报草稿直接发送到 OpenAI API。API Key 保存在本机 Keychain,不写入完整备份。

Markdown 阅读渲染当前使用 iOS 系统 AttributedString(markdown:) 处理行内样式,项目内轻量块级解析器处理标题、引用块、fenced code block、表格、分隔线、脚注定义和独立附件引用卡片,任务项勾选、引用/反链、引用批注和任务行号映射也继续使用项目内解析器。后续若要做完整主题样式或更完整的 GFM 兼容,优先接入 TextualMarkdownUIswift-markdown 这类 MIT / Apache Swift Package。

快捷指令能力通过 App Intents 实现,默认提供“存到 some / 新建随记”入口,也提供打开专注、工作日志、衣橱和 AI 整理页的常用入口;内容仍保存在本机 SQLite,不需要账号或云同步。

Share Extension 对网页标题的支持依赖系统分享项提供的标题/摘要;主 App 快速输入里的网页摘录会主动抓取网页 HTML 的标题、description、正文段落和摘录卡信息,过滤脚本、导航、页脚、登录/订阅提示等常见噪音,并允许单链接在保存前勾选网页/OCR 片段,多链接会逐条抓取并分别保存为网页摘录,失败时回退系统链接元数据或原 URL。当前仍不是完整 Readability 正文提取,也不会绕过登录、付费墙或网站访问限制。

相机拍照和拍视频当前使用系统 UIImagePickerController,连续扫描使用系统 VNDocumentCameraViewController,分别保存为本地 JPEG / movie 附件;需要用户授权相机权限,拍视频如录入声音也需要麦克风权限。录音当前使用 Apple AVAudioRecorder / AVAudioSession 保存本地 m4a 附件,需要用户授权麦克风权限;音频详情页可用 Apple Speech 做系统语音识别并把转写结果追加到原记录,可选择自动、普通话、英语、粤语、日语或韩语,需要用户授权语音识别权限,识别可用性和质量取决于系统服务、设备和语言。图片/扫描 OCR 当前使用 Apple Vision VNRecognizeTextRequest 在设备本地处理拍摄、扫描或导入图片,不需要把图片上传到第三方服务;详情页框选识别会先在本机裁切局部区域,再追加识别文字;保存的 OCR 记录会显示 Apple Vision 返回的平均/最低置信度,并在有行框位置时按顶部优先、同一行从左到右整理识别文字,同时写入左/右栏、顶部/中部/底部的轻量版面分区摘要;明确的 | / / tab 分隔符型 OCR 表格和 Vision 行框横纵对齐的简单表格会额外写入“表格候选”摘要;无分隔符小票/餐饮截图中两行以上“项目 + 末尾金额”会额外写入“票据行候选”摘要;表单或票据类 OCR 出现两行以上短字段时,会额外写入“字段候选”摘要,并对姓名、电话、邮箱、日期、金额和地址的常见别名做保守归一;出现数字日期、中文年月日日期、电话、邮箱、链接、128元¥128.50 这类金额时,会额外写入“关键信息候选”摘要。没有识别出文字时仍会按普通图片附件保存;合并单元格、跨页复杂表格和更细的自动字段纠错仍属于后续阶段。

图片编辑的“背景”和“授权清理”只用于用户自己拍摄、拥有或已经获得授权的图片排版、柔化背景、纯色画布和瑕疵修复,例如灰尘、污点、小杂物或排版遮盖;对象清理是本地贴片式修补,不提供第三方版权标识、平台水印或规避授权限制的移除能力。

卡片引用当前用 Markdown 链接格式写入 memo 正文,例如 [引用: 目标](some-memo://UUID);这样导出、备份、历史版本和普通文本迁移都能保留关系。阅读详情页会把独立引用行折叠到“引用”区域展示。引用关系只读取 some 生成的引用行,避免 OCR 原文里的内部链接文字误生成反向引用。

对标审计

功能对标、开源项目检索和差距清单见 research-and-gap-audit.md

线上构建

如果本机无法安装新版 Xcode,可以把仓库推到 GitHub,通过 .github/workflows/ios-ci.yml 在线编译和跑测试,并在配置 Apple 证书、Provisioning Profile 和 App Store Connect API Key 后,用 .github/workflows/ios-testflight.yml 手动上传 TestFlight。

CI 的测试构建会临时排除 App Intents 源文件,只为绕开 GitHub runner 上 appintentsnltrainingprocessor 解析 extract.actionsdata 的不稳定问题;普通 App build 和 TestFlight 构建仍保留快捷指令能力。

详细步骤见 docs/online-build-and-release.md

重要限制

本目录已经是可打开的 iOS 工程。当前目标可以先按个人自用推进;如果以后要上传 App Store,还需要你的 Apple Developer 账号、有效证书、App Store Connect app 记录以及新版 Xcode 构建环境。旧 Mac 可以只负责提交代码,Archive、签名和上传交给 GitHub Actions 或 Xcode Cloud。

About

随记

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors