Skip to content

memmy-agent: Let every AI remember the same you-V1.0.6 - #201

Merged
ZongYue99 merged 89 commits into
mainfrom
v1.0.6
Aug 11, 2026
Merged

memmy-agent: Let every AI remember the same you-V1.0.6#201
ZongYue99 merged 89 commits into
mainfrom
v1.0.6

Conversation

@ZongYue99

Copy link
Copy Markdown
Collaborator

No description provided.

Wang-Daoji and others added 30 commits July 30, 2026 01:10
fix: unify cross-agent action backgrounds
fix: simplify memory tool call headings
feat(memory): commit episode routing on turn complete
fix(memory): separate retrieval content and validate L3 evidence
fix(memory): finalize episode rewards and processing
feat(memory): link related memory details
…139)

Co-authored-by: antalike <>
Co-authored-by: Cursor <cursoragent@cursor.com>
* feat: merge pkg shell

* feat: merge pkg shell

* feat: merge pkg shell

* feat: merge pkg shell
…t tour

Ship the first-chat relay/opt-in cards, memory verification loop, and a
memory-first product tour without local mock switches or test-only scaffolding.

Co-authored-by: Cursor <cursoragent@cursor.com>
fix(backend): share scan permission per installation
fix(backend): refine onboarding permissions and actions
fix: surface structured quota exhaustion errors
antalike and others added 26 commits August 6, 2026 20:43
Resync textarea height on draft/chrome changes, and stop locking single-line mode behind overflow:hidden so wrapped input is not clipped.

Co-authored-by: antalike <>
Co-authored-by: Cursor <cursoragent@cursor.com>
fix(memory): show quota error title for 40309
fix(memory): harden cross-agent onboarding
fix(memory): hide unverified agent drafts
* feat: exclude dependency tests and docs from desktop packages (#123)

* fix: unify cross-agent action backgrounds

* fix: simplify memory tool call headings

* feat(memory): commit episode routing on turn complete

* fix(memory): separate retrieval content and validate L3 evidence

* fix(memory): finalize episode rewards and processing

* chore: docs

* chore: readme

* chore: show invitation token (#135)

* feat(memory): link related memory details

* feat(analytics): track desktop memory adds during agent-source scans (#139)

Co-authored-by: antalike <>
Co-authored-by: Cursor <cursoragent@cursor.com>

* feat: merge pkg && optimize pkg (#140)

* feat: merge pkg shell

* feat: merge pkg shell

* feat: merge pkg shell

* feat: merge pkg shell

* feat: tighten onboarding activation with cross-agent relay and product tour

Ship the first-chat relay/opt-in cards, memory verification loop, and a
memory-first product tour without local mock switches or test-only scaffolding.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(backend): share scan permission per installation

* chore: reorganize desktop packaging internal scripts (#141)

* fix(backend): refine onboarding permissions and actions

* fix: surface structured quota exhaustion errors

* feat(memory): add time-filtered trace recall

* feat: trust Codex hooks and reveal account identifiers

* fix(config): fail loud on invalid config instead of silently using defaults (#7)

loadConfig() caught YAML parse and schema validation errors, logged a
console.warn, and returned a fresh default Config. Any onboarded settings
(including BYOK provider credentials) were silently discarded and the CLI
kept running against defaults with no non-zero exit, contradicting the
project's fail-loud philosophy.

Throw a new ConfigError (ConfigLoadError for bad YAML/schema, EnvValueError
for missing env var references, both now exported) when the config file
exists but is invalid. A missing config file still returns the defaults
unchanged, since first-run `memmy onboard` depends on that path. The CLI
entrypoint (main.ts) catches ConfigError specifically and prints a concise
`memmy: <reason>` message with a non-zero exit code instead of an unhandled
stack trace; other entrypoints (serve/gateway route through the same CLI
main(), and the frontend-bridge/websocket HTTP layer already has generic
catch blocks that turn thrown errors into clean error responses).

* feat(feishu): add QR bot setup (#127)

* fix(memmy-memory): surface memory-service outages instead of silent fallback (#9)

MemmyMemoryHook.beforeRun/afterRun/sessionStart/sessionEnd caught every
connection error from the memory service and only recorded it on an
unread `lastError` field, so an unreachable service (e.g. default
http://127.0.0.1:18960 down) degraded completely silently: no CLI/log
warning, and the LLM turn context received neither a recall block nor
any notice, indistinguishable from "memory checked, found nothing".
This contradicted the README's fail-loud promise and drove agents to
silently fall back to the local MEMORY.md/history.jsonl store.

- Replace the blanket try/catch with per-phase handling that emits a
  deduped console.warn (once per session, reset on recovery) and
  injects an honest <memmy_memory_status status="unavailable"> notice
  into the user message so the model is told memory wasn't checked,
  instead of implying nothing relevant was found.
- Drop the stale in-flight turn entry on a failed beforeRun so afterRun
  doesn't try to complete a turn that was never opened server-side.
- Document the new status tag in the memory context protocol prompt.

Failures still never crash the turn (fail-loud, not fail-crash).

* chore: add embedding mode into pkg (#147)

* feat(analytics): send userId at the top level of /api/analytics/events (#148)

Keep params.user_id for event dimensions while also exposing userId alongside clientId so the cloud proxy can filter and map GA4 user identity.

Co-authored-by: antalike <>
Co-authored-by: Cursor <cursoragent@cursor.com>

* feat: refine product tour for deny-scan and scroll placement

Skip the logs tour step when scan is denied, and stabilize spotlight
scrolling and bubble placement so onboarding steps stay readable.

Co-authored-by: Cursor <cursoragent@cursor.com>

* feat: reshape onboarding analytics for funnel-friendly step tracking

Emit viewed/skipped per tour step with flow branching, and defer onboarding_completed until nickname.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(settings): show BYOK usage detail copy (#155)

Co-authored-by: jiachengzhen <jiacz@memtensor.cn>

* fix: seed first-report chat instead of re-running the agent

Persist the onboarding insight report into a WebUI session as soon as it
is generated, then open that history on home so finishing the guide no
longer triggers a duplicate Thinking turn.

Co-authored-by: Cursor <cursoragent@cursor.com>

* feat(onboarding): focus initial report on preferences and latest task

* feat(onboarding): prioritize first report memory handoff

* codeowners (#159)

* chore: show invitation token

* codeowners

* fix(onboarding): preserve first report context across agents

* fix(onboarding): streamline first report handoff

* fix: open WorkBuddy with task deeplink and /memmy-memory prompt (#162)

Use workbuddy://task?action=start&prompt= for GUI handoff, prefix the continuation text with /memmy-memory, and fall back to opening the app without Terminal.

Co-authored-by: antalike <>
Co-authored-by: Cursor <cursoragent@cursor.com>

* chore(release): prepare Memmy v1.0.5

* test(release): align v1.0.5 smoke contracts

* test(config): expect invalid files to fail loudly

---------

Co-authored-by: Wang Daoji <75928131+Wang-Daoji@users.noreply.github.com>
Co-authored-by: Hustzdy <67457465+wustzdy@users.noreply.github.com>
Co-authored-by: jiang <fdjzy@qq.com>
Co-authored-by: Jiang <33757498+hijzy@users.noreply.github.com>
Co-authored-by: ZongYue <52625187+ZongYue99@users.noreply.github.com>
Co-authored-by: antalike <527949167@qq.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: shsfcx <shsfcx@shsfcxdeMacBook-Pro.local>
Co-authored-by: Daoji Wang <627665797@qq.com>
Co-authored-by: Xinmin Zeng <135568692+fancyboi999@users.noreply.github.com>
Co-authored-by: Ericwong <970699442@qq.com>
Co-authored-by: antalike <>
Co-authored-by: zhiqi <99724206+dolnna@users.noreply.github.com>
Co-authored-by: jiachengzhen <jiacz@memtensor.cn>
fix(desktop): mask account identifiers
Hook commands used POSIX single quotes, which cmd.exe and PowerShell
cannot execute, so installed hooks never ran on Windows. Use double
quotes on win32 and keep the POSIX form elsewhere.

Fixes #149
Write NSMicrophoneUsageDescription from cn/intl at macOS package time.

Co-authored-by: antalike <>
Co-authored-by: Cursor <cursoragent@cursor.com>
fix(memory): keep short pattern terms out of raw JSON metadata columns
fix(backend): stop capturing tool results as the user query
Co-authored-by: jiachengzhen <jiacz@memtensor.cn>
)

Report channel/integration connect, disconnect, fail, and mid-flow cancel
via backend analytics so real usage lands in the cloud event pipeline.

Co-authored-by: antalike <>
* readme

* readme-contributors

* readme-slogan
* fix(settings): show Windows status bar copy

* test(frontend): align quality checks

---------

Co-authored-by: jiachengzhen <jiacz@memtensor.cn>
* fix(backend): hide simplified first-report wrappers

* test(backend): align integration delete expectations

---------

Co-authored-by: jiachengzhen <jiacz@memtensor.cn>
* fix(settings): default intl language selector to English

* test(frontend): align quality checks

---------

Co-authored-by: jiachengzhen <jiacz@memtensor.cn>
* readme

* readme-contributors

* readme-slogan

* README.md:video

* Update README.zh-CN.md-video

* polish readme
@ZongYue99
ZongYue99 merged commit 8ab1a94 into main Aug 11, 2026
@ZongYue99
ZongYue99 deleted the v1.0.6 branch August 17, 2026 02:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.