Skip to content

Releases: questionjie-max/echo-memory

Echo Memory v0.7.1

Choose a tag to compare

@questionjie-max questionjie-max released this 29 Sep 14:34

Echo Memory v0.7.1

Highlights

  • Knowledge-base chat alignment fixed: user bubbles lock to a single grid row (a sparse auto-placement regression had pushed the text into a second row), the sender label reads 我 (me) instead of 你, and the earlier one-character-per-line vertical layout is gone.
  • Assistant dock can collapse again: the dock no longer pins a fixed grid row template that misaligned with conditionally rendered children and pushed the collapse button out of reach after chatting. A persistent context hint (current record for 总结, "not searching the library" for 随手问) now clarifies the division of labor with the 问知识库 view.
  • Cognitive evolution is narrative: change types are normalized to Chinese (added→新增, overturned→推翻, …) with unknown values falling back to 变化; added/supplemented changes no longer render an empty "之前" column; reasons that merely restate the viewpoint or a source quote are hidden; the confidence percentage number is gone (the 待确认推断 badge carries that signal).
  • One-glance snapshot summary and bulk confirmation: the top line reads 基于 N 条记录 · M 个主题 · K 次变化 · 其中 P 条待确认, with a 全部确认 button that writes all pending confirmations in a single SQLite transaction — a validation failure rolls the whole batch back, never leaving half-confirmed state.
  • Explanatory reasons for new snapshots: the generation prompt now requires reasons that explain why a view changed (Simplified Chinese, first person, no survey phrasing like 受访者); items without a genuine explanation may leave the field empty. Existing snapshots benefit immediately from the frontend redundancy filter.
  • Snapshot warnings are dismissible: quality hints and generation errors in the memory views have a close button; a dismissed message stays hidden for that snapshot and reappears when content changes or a new snapshot arrives.

Verification status

  • Frontend type checking, 105 UI tests (including 8 new evolution-view cases), 4 change-type logic tests, and the Rust suite (38 tests plus a new atomic batch-feedback transaction test) all pass.
  • cargo clippy --all-targets -- -D warnings reports no warnings.
  • The three evolution card shapes (added without a before column, revised with before/after, redundant reason hidden) were verified against the real component in both light and dark themes.

Distribution status

This source release is version 0.7.1. The public artifact is Echo-Memory_0.7.1_aarch64.dmg, SHA-256 d1da3ef1b06899173bd0df690cdf854fdaa6c6d9a10efdac328ada3e61116ec7.

  • codesign --verify --deep --strict passes for the application inside the DMG.
  • hdiutil verify confirms the disk image is intact.
  • spctl --assess --type execute reports accepted with source=Notarized Developer ID after notarization and stapling.
  • This DMG is an Apple-signed and notarized Developer ID release. Notarization submission 29d62a69-b00c-4429-bee8-af977feccd14 completed with status Accepted.

Users can download the DMG, open it, and move 回声记忆.app into /Applications normally.


回声记忆 v0.7.1

本版重点

  • 问知识库聊天对齐修复:用户气泡显式锁定网格行(此前稀疏自动放置把正文挤到第二行),发送人改为「我」,一字一行竖排问题一并消失。
  • 随行助手可以收回了:去掉写死的网格行模板(条件渲染子元素错位曾把收起按钮顶出屏幕);停靠栏新增常驻上下文提示(总结模式显示当前记录、随手问显示「不检索资料库」),与「问知识库」的分工一目了然。
  • 认知演化改造成叙事:变化类型归一化为中文(added→新增、overturned→推翻……未知值兜底「变化」);新增/补充类不再渲染空壳「之前」栏;复述观点或证据的原因自动隐藏;删除置信度百分比数字(「待确认推断」徽章承担该信号)。
  • 一眼看懂的快照摘要 + 批量确认:顶部一行「基于 N 条记录 · M 个主题 · K 次变化 · 其中 P 条待确认」,配「全部确认」按钮——单条 SQLite 事务写入,任一条目校验失败整体回滚,不留半确认状态。
  • 新生成快照的原因更解释性:生成提示词要求说明「为什么变」(简体中文、第一人称、禁止「受访者」等问卷口吻);真正无可解释时允许留空。旧快照立即受益于前端的复述过滤。
  • 快照警告可以关闭:记忆视图的质量提示与生成异常有了关闭按钮;同一条在同快照内不再出现,内容变化或新快照时重新提示。

验证状态

  • 前端类型检查、105 个 UI 测试(含 8 个新增认知演化用例)、4 个变化类型纯逻辑测试、Rust 全量测试(38 例 + 新增批量反馈事务测试)全部通过。
  • cargo clippy --all-targets -- -D warnings 无警告。
  • 认知演化三种卡片形态(新增无之前栏 / 修正带前后对比 / 复述原因隐藏)在明暗两主题下对照真实组件逐一核验。

分发状态

本源码版本为 0.7.1,公开安装包为 Echo-Memory_0.7.1_aarch64.dmg,SHA-256 为 d1da3ef1b06899173bd0df690cdf854fdaa6c6d9a10efdac328ada3e61116ec7。

  • DMG 内应用程序通过 codesign --verify --deep --strict。
  • hdiutil verify 确认磁盘镜像完整。
  • 公证与装订完成后 spctl --assess --type execute 返回 accepted,来源为 Notarized Developer ID。
  • 因此它明确标注为 Apple 已签名并完成公证的 Developer ID 发布版。公证提交 29d62a69-b00c-4429-bee8-af977feccd14 状态为 Accepted。

macOS 用户下载 DMG 后可正常打开,并把 回声记忆.app 拖入 /Applications。

Echo Memory v0.7.0

Choose a tag to compare

@questionjie-max questionjie-max released this 27 Sep 11:21

Echo Memory v0.7.0

Highlights

  • Dual processing channels: choose local transcription and analysis by default, or configure an OpenAI-compatible third-party ASR provider and text model as an enhanced path.
  • Enforced privacy gates: third-party ASR requires completed provider settings, an API key, and a separate audio-upload consent. Third-party text analysis requires its own text-send consent. Missing configuration or consent fails before an external connection is created.
  • Speaker-aware third-party transcripts: consume speaker, speaker_label, speaker_id, and person fields when a provider returns them. Normalize labels such as SPEAKER_00 locally; do not infer speakers from text.
  • Single-record management: the record context menu supports opening management, moving to another knowledge library, renaming, archiving/restoring, and deleting without requiring a prior checkbox selection.
  • Analysis quality states: advisory quality warnings no longer force an otherwise complete analysis into an incomplete state; blocking failures still do.
  • Settings ergonomics: long template and AI model settings pages use one stable scrolling container, and template sections can be added continuously through the documented limit with visible feedback.
  • Release quality gates: frontend type checking/build, growth and UI tests, Rust formatting, Clippy with warnings denied, Rust tests, and production dependency auditing remain required.

Verification status

  • The deterministic frontend and Rust test suites pass locally before release packaging.
  • Production npm dependencies report no known vulnerabilities when audited against the official npm registry.
  • Third-party ASR and text-model integrations are covered by configuration, consent, transport-boundary, and parsing tests. They have not all been validated end to end with real commercial API credentials; this release does not claim every provider is certified.
  • Environment-dependent ignored tests remain optional and require their documented local models, recordings, tokens, and isolated library.

Distribution status

This source release is version 0.7.0. The public artifact is Echo-Memory_0.7.0_aarch64.dmg, SHA-256 caa5ea42dd1d8ff3f321e6ea8eca2db0a84f20ee802cd01125e938c262dadc92.

  • codesign --verify --deep --strict passes for both the packaged application and the DMG.
  • hdiutil verify confirms the disk image is intact.
  • spctl --assess --type install reports accepted with source=Notarized Developer ID.
  • xcrun stapler validate passes for both the DMG and the mounted application.
  • This DMG is an Apple-signed and notarized Developer ID release. Apple notarization submission 12853e50-c0df-4b94-93d2-62d43cbe3f18 completed with status Accepted.

Users can download the DMG, open it, and move 回声记忆.app into /Applications normally.


回声记忆 v0.7.0

本版重点

  • 双处理通道:默认使用本机转写与分析,也可以配置 OpenAI-compatible 第三方 ASR 和文本模型,切换到效果优先的增强通道。
  • 强制隐私门禁:第三方转写必须完整配置服务商、地址、模型和 API Key,并单独同意上传原始音频;第三方文本分析有独立的文本发送同意。配置或同意缺失时,服务层会在建立外发连接前失败。
  • 服务商说话人字段:解析服务商真实返回的 speaker、speaker_label、speaker_id、person,本地化 SPEAKER_00 等标签;不根据文本猜测说话人。
  • 单条记录管理:右键菜单支持打开管理、转移知识库、重命名、归档/恢复和删除,无需先勾选。
  • 分析质量状态:建议级质量提醒不再把其余分析完整的记录标成“分析不完整”;阻断级失败仍保持未完成。
  • 设置体验:长模板列表与 AI 模型设置共用稳定滚动容器;模板栏目可连续添加到明确上限,并有自动可见与计数反馈。
  • 发布质量门禁:继续要求前端类型检查、构建、成长/UI 测试、Rust 格式、Clippy 全警告阻断、Rust 测试和生产依赖审计。

验证状态

  • 发布打包前,本地确定性前端与 Rust 测试全部通过。
  • 使用官方 npm registry 审计生产依赖时,已知漏洞为 0。
  • 第三方 ASR 与文本模型已有配置、同意、传输边界和字段解析测试;尚未全部使用真实商业 API Key 完成端到端验证,因此本版不宣称所有服务商均已认证。
  • 依赖真实模型、录音和 Token 的 #[ignore] 测试仍是可选任务,必须满足各自环境要求。

分发状态

本源码版本为 0.7.0,公开安装包为 Echo-Memory_0.7.0_aarch64.dmg,SHA-256 为 caa5ea42dd1d8ff3f321e6ea8eca2db0a84f20ee802cd01125e938c262dadc92。

  • 应用程序与 DMG 均通过 codesign --verify --deep --strict。
  • hdiutil verify 确认磁盘镜像完整。
  • spctl --assess --type install 返回 accepted,来源为 Notarized Developer ID。
  • xcrun stapler validate 对 DMG 和挂载后的应用均通过。
  • 因此它明确标注为 Apple 已签名并完成公证的 Developer ID 发布版。公证提交 12853e50-c0df-4b94-93d2-62d43cbe3f18 状态为 Accepted。

macOS 用户下载 DMG 后可正常打开,并把 回声记忆.app 拖入 /Applications。

Echo Memory v0.6.0 Alpha

Pre-release

Choose a tag to compare

@questionjie-max questionjie-max released this 27 Sep 11:21

Echo Memory v0.6.0

Highlights

  • Quality gates: CI now runs frontend type checking and builds, growth/UI tests, Rust formatting, Clippy with warnings denied, Rust tests, and secret scanning. Local releases use the same deterministic gate.
  • Reliable bulk operations: batch moves run in one database transaction and roll back together; batch deletion atomically removes database records, then performs best-effort file cleanup after commit and reports file failures separately.
  • Server-side privacy gate: external AI snapshot generation, chat, and availability checks share one consent check. Calls that send data externally cannot start without a recorded privacy consent timestamp.
  • Library-scoped playback: audio playback permissions follow the active library root instead of granting access to unrelated directories.
  • Event-driven refresh: knowledge index updates are event-driven, with short fallback polling only while indexing or processing is active; idle views no longer poll continuously.
  • Regression coverage: direct tests now cover record details, workspace bulk actions, knowledge chat, project navigation, assistant dock, growth view, onboarding, and event refresh behavior.
  • Monotonic transcription timeline: chunked transcription now normalizes segment order and prevents end timestamps from moving backwards after overlap continuation.

Verification

  • Deterministic test baseline: TypeScript typecheck and frontend build pass; growth tests 9/9; UI tests 81/81; Rust format and Clippy checks pass; Rust tests execute 155 deterministic cases successfully.
  • Release bundle baseline: frontend and release MCP binary build successfully; production npm dependencies report zero known vulnerabilities.
  • macOS DMG baseline: 回声记忆_0.6.0_aarch64.dmg passes hdiutil verify and launches successfully; SHA-256: f463c75cfaf96b5c36e047db3845d4416c38763291d623d4f435a79897f29478.
  • Real long-recording regression: benchmarks/results/20260923T183736Z-39422170.json passed with Chinese language selection, 292 segments, a monotonic timeline, accepted: true, and no transcription error.
  • Documentation status: known P0 product failures and the repeatable real long-recording regression are resolved; the archived JSON result remains the release evidence.

Known boundaries

  • Environment-dependent ignored tests still require a local Whisper model, real recordings, Ollama/model settings, Hugging Face credentials where applicable, and an isolated test library.
  • The macOS DMG is built with ad-hoc signing only, is not Apple-notarized, and is intended for Alpha evaluation rather than a formally signed production release.
  • The large Rust command, repository, and memory modules remain a follow-up refactoring item; splitting them is intentionally deferred until after this release stabilization.

回声记忆 v0.6.0

本版重点

  • 质量门禁:CI 现在依次执行前端类型检查与构建、成长时间线/UI 测试、Rust 格式检查、Clippy 全警告阻断、Rust 测试和密钥扫描;本地发布使用同一套确定性门禁。
  • 可靠的批量操作:批量移动在单个数据库事务中执行并统一回滚;批量删除先原子删除数据库记录,事务提交后再尽力清理文件,文件失败单独返回,不再伪装成数据库事务失败。
  • 服务端隐私门禁:外部 AI 快照生成、问答和可用性检查共用同一套同意校验;未记录隐私同意时间时,任何外发请求都不能构造。
  • 跟随资料库的播放权限:音频播放权限跟随当前资料库根目录,不再授予无关目录访问权限。
  • 事件驱动刷新:知识库索引优先通过事件刷新,只在索引或处理进行时短期兜底轮询;空闲页面不再持续产生轮询请求。
  • 回归覆盖:新增记录详情、工作区批量操作、知识问答、项目导航、助手面板、成长轨迹、首次配置和事件刷新的直接测试。
  • 转写时间轴单调:分块转写完成后统一规范化分段顺序,接续合并不再让结束时间向后回退。

验证结果

  • 确定性基线:TypeScript 类型检查与前端构建通过;成长时间线测试 9/9;UI 测试 81/81;Rust 格式与 Clippy 检查通过;Rust 确定性测试共执行 155 个用例并全部通过。
  • 发布构建基线:前端和 Release MCP 二进制构建通过;生产 npm 依赖已知漏洞为 0。
  • macOS DMG 基线:回声记忆_0.6.0_aarch64.dmg 通过 hdiutil verify 并可直接启动;SHA-256:f463c75cfaf96b5c36e047db3845d4416c38763291d623d4f435a79897f29478。
  • 真实长录音回归:benchmarks/results/20260923T183736Z-39422170.json 已通过,显式选择中文,共 292 段,时间轴单调,accepted: true,转写无错误。
  • 文档状态:已知 P0 产品故障和可重复真实长录音回归均已解除,归档 JSON 作为发布证据。

已知边界

  • 依赖真实环境的 #[ignore] 测试仍需要本机 Whisper 模型、真实录音、Ollama/分析模型配置、按需的 Hugging Face 凭证和隔离测试资料库。
  • macOS DMG 仅采用 ad-hoc 签名,未进行 Apple 公证,定位为 Alpha 评估安装包,不是正式签名生产版本。
  • commands.rs、db/repository.rs 和 memory.rs 仍是后续拆分对象;为避免混入本版稳定化变更,模块拆分有意延后处理。

Echo Memory v0.1.0 Alpha

Pre-release

Choose a tag to compare

@questionjie-max questionjie-max released this 27 Sep 11:21

Echo Memory v0.1.0 Alpha

中文说明见本文件后半部分。

Highlights

  • Local audio import for MP3, M4A, and WAV.
  • Local timestamped transcription, playback seeking, and non-destructive transcript edits.
  • Local structured analysis with source-backed decisions and action items.
  • Project knowledge libraries and local full-text search.
  • User-enabled, local stdio, read-only MCP access for AI tools.

Requirements

This is a macOS source release. It requires Node.js, Rust, local Whisper support, and optionally local Ollama for analysis. No signed installer is provided in this release.

Privacy

The current Alpha keeps audio and transcripts local. MCP is disabled by default, read-only, and does not open a public port.

Known limitations

  • A local Whisper model must be available for real transcription.
  • A local Ollama service and model are required for analysis.
  • Real-world long-recording and offline regression coverage is still being expanded.
  • No cloud sync, mobile client, Windows client, team collaboration, payment system, or MCP write support is included.

回声记忆 v0.1.0 Alpha

主要能力

  • 本地导入 MP3、M4A、WAV。
  • 本地生成带时间点的逐字稿,支持播放定位与非破坏性编辑。
  • 本地结构化分析,并为决策与待办保留原文出处。
  • 项目知识库与本地全文搜索。
  • 用户主动开启的本机 stdio、只读 MCP,供 AI 工具查询历史上下文。

环境要求

这是 macOS 源码发布,需要 Node.js、Rust、本机 Whisper 支持;使用分析功能时还需要本机 Ollama。此版本不提供签名安装包。

隐私边界

当前 Alpha 将音频和逐字稿留在本机。MCP 默认关闭、只读,且不监听公网端口。

已知限制

  • 真实转写需要可用的本机 Whisper 模型。
  • 分析需要本机运行 Ollama 服务与模型。
  • 长录音与断网场景的真实回归仍在持续补充。
  • 不包含云同步、手机端、Windows、团队协作、支付体系或 MCP 写入。