Skip to content

Echo v0.1.0-alpha.1 · 跑在自己 Mac 上的私人对话窗口

Pre-release
Pre-release

Choose a tag to compare

@Lazarus-coder Lazarus-coder released this 19 Oct 08:23
· 22 commits to main since this release

v0.1.0-alpha.1

第一个公开 alpha。功能完整可用、日常已经在用,但接口与数据格式仍可能变;升级前请备份 data/。

这是什么

跑在你自己 Mac 上的私人对话窗口:调你自己的 OpenAI 兼容 API(已在阿里云 token plan 网关验证),长期常驻、局域网可用、状态栏有图标。零第三方依赖(只用 Node 内置模块 + 一个本地编译的 Swift 菜单栏 App),所有数据都是 data/ 下的明文文件。

本版能力

分层记忆与可解释遗忘

  • L0 工作记忆(屏幕活动,TTL 90 分钟)→ L1 事实(强度 = 重要度 × 使用增益 × 时间衰减)→ L2 MEMORY.md(每次对话注入,可手改)→ L3 归档与实体图。
  • 命中强化(间隔重复)、久用不到淡出(可复活)、超容量按强度淘汰;每次遗忘都写进 memory/forgetting.md,说明忘了什么、为什么、依据哪个数字。
  • Dream(定时 + 手动):重写核心记忆、调和事实、明确遗忘过期项、复活误淡项、产出跟进事项与主动话题、刷新实体图、留审计快照。

主动服务(可测量的闭环)

  • 固定主对话跨模型连续;Thompson 采样 bandit 选开口类型,奖励 = 你 6 小时内是否接住(未回应按 0 结算);门槛随表现自适应;台账按 EV 排序挑跟进事项;静默时段 / 每日预算 / 最小间隔 / 连续未回应降速。
  • 离线回放显示比固定策略高 31–51% 的被接住率(模拟值);真实接住率在自报告里可见。

屏幕感知(默认关,隐私优先)

  • 菜单栏 App 采集 + Apple Vision 本地 OCR,默认只把文字发模型;原始截图分析完即删。
  • 锁屏、键鼠空闲自动跳过;屏蔽名单默认空,由你自己填;识别到敏感内容只记"在处理敏感信息"。
  • 屏幕工作记忆只用于当下判断,不做可回看的录像库。

对话与多模态(按网关实测适配)

  • 流式输出、思考过程折叠、工具调用步骤可见、来源 chips、重新生成、编辑重发、会话置顶/导出、令牌用量、深浅色、移动端适配。
  • 模型 13 个(千问 / DeepSeek / 智谱,带视觉标记)、auto 路由;图片输入(粘贴/拖拽/上传,客户端压边);出图工具 image_gen(结果落盘本地,OSS 链接会过期)。
  • 搜索:360/Bing 抓取(完整浏览器头 + 熔断冷却)→ 阿里云托管 web_search(tool_choice:"required" + 关思考,实测 3–8s 带 sources)。

工程与安全

  • 磁盘预算:截图 200MB / 3 天、生成图片 300MB / 60 天,超 80% 从最旧删;最近对话引用到的图片永不删;每 6 小时自动维护。
  • 模型降级链、上下文预算 + 滚动摘要、metrics.jsonl 自报告(P50/P95、工具成功率、失败 Top、接住率)。
  • 免登录(本机自用)默认;./bin/echo auth on 可开口令验证。写操作要求自定义请求头(防跨站打额度);web_fetch 有 SSRF 防护;渲染白名单转义。
  • 隐私兜底:界面一键"全部忘掉"(清空记忆,或连会话一起),并在遗忘日志留一条可解释记录。

自测

  • node tests/selftest.mjs:60 项断言,冻结判据,隔离沙箱(自己的数据目录与配置),覆盖安全不变量、记忆/遗忘数学、存储预算、决策算法、真实链路。--live 会真的调用模型。

安装

tar -xzf echo-assistant-0.1.0-alpha.1.tar.gz
cd echo-assistant-0.1.0-alpha.1
./install.sh            # 凭据 → 口令(可跳过) → launchd 常驻 → 编译状态栏图标
./bin/echo status

要求:macOS + Node ≥ 20(用了内置 fetch / 顶层 await);屏幕感知与状态栏需要 Xcode Command Line Tools(swiftc)。API Key 从你的登录 shell 读取(或手动贴入),写在 data/echo.env(0600)。

已知限制

  • 屏幕录制授权:首次需在「系统设置 → 隐私与安全性 → 屏幕录制」里勾选 EchoBar(菜单栏图标里有一键跳转)。
  • 抓取搜索会被第三方限流:360/Bing 会把人机校验招呼上(本机 IP 被限流后 10 分钟内自动熔断、转托管搜索)。
  • 语音 ASR / TTS、视频生成:该网关未开放(实测返回空响应 / InternalError / url error),配置里预留。
  • 检索是词法的(BM25 + 实体加权),无向量检索;实体图无双时态;bandit 无上下文特征;屏幕是定时快照而非事件流。
  • 接口与数据格式在 alpha 期间可能变;无自动迁移脚本,升级前备份 data/。

校验

shasum -a 256 -c SHA256SUMS

发布件由 git archive 生成,只含 git 跟踪文件;打包脚本会在临时目录解包并跑一遍离线自测,同时断言包内不含 data/、凭据与构建产物。