anamra
Health Warn
- License — License: Apache-2.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 9 GitHub stars
Code Fail
- rm -rf — Recursive force deletion command in scripts/release.sh
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
A native macOS capture-to-outcome workspace: screenshot, OCR, voice, AI-assisted drafts, local semantic memory, and confirmable Apple exits.
Anamra · 安记
把稍纵即逝的信息,变成可确认的下一步。
A native macOS capture-to-outcome workspace with local memory and human-confirmed actions.
下载 · 功能 · 隐私边界 · 贡献 · 领域模型 · 架构决策
Anamra 是一款原生 macOS 菜单栏应用。它接住截图、文字、剪贴板、拖放、网页片段和语音,把内容交给 AI 整理成任务、日程、笔记或可复制文本;所有外部写入先形成草稿,由你确认后才执行。
“安记”不是另一个要求你维护的收件箱。它更像 Mac 上的一层工作记忆:今天要做什么、哪些内容还需复核、过去完成了什么,以及眼前这条信息与历史里的什么有关,都落在同一个本地工作面里。
功能
捕获:少一点仪式感
- 快速文字记录、剪贴板图片识别、拖放与网页剪藏;
- 截图取字、滚动取字、翻译、复制、保存和原生标注;
- 语音记录进入同一条澄清流程,而不是形成孤立录音;
- 全局快捷键由用户自行设置,默认不抢占系统按键。
整理:AI 提议,人来决定
- AI 将输入整理成任务、日程、笔记或文本结果;
- 接管式对话可以继续补充时间、地点、优先级和上下文;
- 收件箱与复核视图保留确认门,不把模型输出直接当事实;
- Planner 可以拆解、排序和安排工作,高风险操作仍需确认。
记忆:数据在本机形成连续上下文
- Today、Inbox、Review、Upcoming、Notes 与 Accomplishments 共用本地 SwiftData 数据;
- BM25 与向量召回组合,既能按关键词搜索,也能按含义找回相关任务和笔记;
- 完成记录与贡献热力图让已完成的工作重新可见;
- 可选 MCP 助手默认关闭,只通过本机回环地址连接运行中的 Anamra。
写出:Apple 应用是出口,不是第二套真相
- 可选地把确认后的内容单向写入 Apple Reminders、Calendar 或 Notes;
- Anamra 只从 Reminders 读回“已完成”,不做可变字段的双向合并;
- 浮动 Apple Notes 是一个明确例外:它只是所选笔记的桌面视口,正文仍以 Apple Notes 为准。
工作方式
flowchart LR
Capture["捕获\n截图 · 文字 · 语音 · 剪贴板"] --> Draft["OCR / AI 草稿"]
Draft --> Review["对话澄清与人工确认"]
Review --> Local["本地 SwiftData\n任务 · 笔记 · 回执"]
Local --> Recall["搜索、语义召回与 Planner"]
Local --> Plan["WritePlan"]
Plan --> Apple["可选 Apple 出口\nReminders · Calendar · Notes"]
Apple --> Done["仅完成状态读回"]
Done --> Local
两个不变式贯穿代码库:AI 输出先成为可检查的草稿;外部写入必须留下 WritePlan / WriteReceipt 证据。
安装
- 从 Anamra Releases 下载最新的已签名、公证 DMG。
- 将 Anamra 拖入 Applications,然后从菜单栏启动。
- 在设置中选择模型服务并填写自己的 API Key;密钥保存在 macOS Keychain。
- 按需要绑定全局快捷键,并授予截图、麦克风、日历、提醒事项或自动化权限。
不授予屏幕录制权限时,文字记录等非截图流程仍可使用。没有配置云端 Key 时,本地 Apple Vision OCR 仍可工作。
隐私边界
- 本地数据源:任务、笔记、复核状态和写入回执保存在本地 SwiftData;
- 自带密钥:在线服务使用用户自己的 Key,并存放在 Keychain,不写入仓库;
- 本地路径:Apple Vision OCR 在设备上执行;Apple 系统 embedding 可作为无 Key 的本地回退;
- 云端路径:选择云端 OCR、向量、语音、翻译或语言模型时,相应输入会直接发送给所选服务商;
- 无静默写出:模型结果先成为草稿,确认后才写入外部系统;
- 无行为分析 SDK:当前代码库没有集成遥测或用户行为分析服务。
这不是“所有功能都离线”的承诺。Anamra 的原则是让每一条联网路径可辨认、可选择,并让本地数据模型保持 canonical。
构建与验证
需要 macOS 14+、Xcode 和 XcodeGen:
brew install xcodegen
scripts/verify.sh # Core tests → macOS build
(cd Core && swift test) # Core unit tests only
scripts/build.sh # XcodeGen + xcodebuild
scripts/release.sh check # release preflight
project.yml 是 Xcode 工程的唯一来源;不要手改被忽略的 .xcodeproj。
代码边界
project.yml XcodeGen 工程定义
Core/ 领域模型、规则、服务与 SwiftData 持久化实体/仓库
macOS/Sources/ SwiftUI 界面、AppKit 集成、捕获与平台副作用
macOS/MCPHelper/ 独立的 stdio MCP helper
docs/adr/ 架构决策记录
scripts/ 构建、验证与发布脚本
Core 不依赖 AppKit 或 SwiftUI。SwiftData 是有意保留的例外:持久化实体与仓库位于 Core,ModelContainer 接线和界面状态位于 macOS target。项目使用 Swift tools 6.0,但语言模式暂时保持 Swift 5。
开源与致谢
Anamra 以 Apache License 2.0 开源。随应用分发的第三方组件及其许可见 THIRD_PARTY_NOTICES.md 和设置中的“开源许可”。
截图编辑器的分层渲染设计受到 BetterShot 启发。Anamra 没有内嵌 BetterShot 的代码或图片资产;这是一项设计致谢,不是捆绑依赖。相关边界记录在 ADR 0006。
欢迎在公开 issue 中报告可复现的问题;涉及隐私、密钥或安全漏洞时,请使用 GitHub Private Vulnerability Reporting,不要粘贴真实用户数据。
参与贡献
欢迎提交聚焦的 bug 修复、测试、文档和功能改进。开始前请阅读 CONTRIBUTING.md,并确保 scripts/verify.sh 通过。请只使用合成示例,不要在公开 Issue 或 PR 中上传真实用户数据。
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found