Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .github/release-notes/v1.0.6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Memmy v1.0.6

## Highlights

- Expanded Cross-Agent access with built-in Pi and qwenwork history scanning, first-report sampling, and on-demand shared Memory through the Memmy Skill.
- Made **Add another Agent** easier and safer with presets for Kimi Code, Zcode, MiniMax Code, and Coder, plus custom names. Memmy now verifies a real local installation before importing history or installing a Skill, and hides unverified drafts.
- Reworked Agent and Memory failure notices with localized guidance, expandable technical details, clearer quota-exhaustion states, scheduled-retry status, and direct retry or settings actions.

## Agent and integration improvements

- Fixed Windows Hook commands so paths are quoted correctly for `cmd.exe` and PowerShell.
- Claude Code tool results are no longer mistaken for the user's query when completed turns are captured into Memory.
- The OpenAI-compatible Chat Completions endpoint now reports real prompt, completion, and total token usage, including aggregated usage when an empty response is retried.

## Desktop and Memory improvements

- User UTC offsets now flow consistently through Agent configuration, Memory capture and retrieval, date filters, dashboard grouping, and displayed timestamps.
- Improved search precision for one- and two-character ASCII terms by preventing generic JSON metadata keys from outranking real Memory matches.
- Account email addresses and phone numbers are now masked in the sidebar and Settings.
- Fixed the conversation composer so multiline drafts continue growing and remain scrollable instead of clipping wrapped text.
- Onboarding reports no longer expose internal report or task-context wrapper tags.
- The startup splash now follows the saved language or package edition, international first-run Settings correctly show English, and Windows tray settings use platform-appropriate copy.

## Packaging and reliability

- Windows packaged builds now keep runtime and application data under the installation directory and migrate existing per-user data when needed.
- Added a guarded `clear-all-windows.ps1` utility for removing verified Memmy installations, runtime data, updater state, and CLI artifacts.
- macOS packages now use edition-specific Chinese or English microphone permission descriptions.
898 changes: 898 additions & 0 deletions .github/workflows/github-draft-release-v2.yml

Large diffs are not rendered by default.

203 changes: 0 additions & 203 deletions .github/workflows/github-release.yml

This file was deleted.

2 changes: 1 addition & 1 deletion App/backend/src/project-version.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
/** Generated from the root package.json by scripts/sync-project-version.mjs. */
export const MEMMY_VERSION = "1.0.5";
export const MEMMY_VERSION = "1.0.6";
34 changes: 20 additions & 14 deletions App/frontend/desktop/src/i18n/messages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -413,6 +413,7 @@ export const zhCNMessages = {
"home.subtitle": "我能为你做什么?",
"home.empty": "把任务交给 Memmy,它会结合本地记忆给出结构化回复。",
"home.input": "分配一个任务或提问任何问题...",
"home.goal.input": "描述你想持续推进的目标...",
"home.send": "发送",
"home.composer.emptyMessage": "输入消息,点击发送以开始使用",
"home.queue.label": "排队中的问题",
Expand Down Expand Up @@ -492,6 +493,7 @@ export const zhCNMessages = {
"home.historyDag.finishTitle": "完成",
"home.command.goalTitle": "开始长期目标",
"home.command.goalDescription": "让 Agent 将本次请求作为长期目标处理。",
"home.command.goalChip": "目标",
"home.command.dreamTitle": "运行 Dream",
"home.command.dreamDescription": "手动触发记忆整合。",
"home.command.dreamLogTitle": "查看 Dream 日志",
Expand Down Expand Up @@ -743,6 +745,8 @@ export const zhCNMessages = {
"memory.infrastructure": "基础设施状态",
"memory.cli": "memmy-memory CLI",
"memory.daemon": "记忆服务",
"memory.openDocs": "查看记忆服务文档",
"memory.learnMore": "了解更多",
"memory.cliInstalled": "已安装",
"memory.cliNotInstalled": "未安装",
"memory.daemonRunning": "运行中",
Expand Down Expand Up @@ -780,12 +784,11 @@ export const zhCNMessages = {
"memory.confirmAndStart": "确认并开始",
"memory.startingAgent": "正在启动...",
"memory.agentDiscoveryPending": "Memmy Agent 正在自动发现历史目录",
"memory.manualAgentAiHint": "只需填写 Agent 框架名称。确认后 Memmy 会新建会话,自动寻找历史目录、识别格式、安装完整 Skill、导入最近 500 个完整对话轮次,并保存后续免 AI 的自动同步规则。",
"memory.manualAgentAiHint": "填写 Agent 框架名称即可;如果知道历史会话路径,也可以一并提供。确认后 Memmy 会新建会话,验证或寻找历史目录、识别格式、安装完整 Skill、导入最近 500 个完整对话轮次,并保存后续免 AI 的自动同步规则。",
"memory.manualNamePlaceholder": "选择或输入 Agent 名称",
"memory.manualPresetPlaceholder": "从常用 Agent 中选择",
"memory.manualCustomName": "或输入其他 Agent",
"memory.manualPathPlaceholder": "例如 ~/.claude 或 /Users/you/.aider",
"memory.manualPathHint": "指定 Agent 的配置或对话历史目录,Memmy 将尝试读取其中的对话记录",
"memory.manualHistoryPathLabel": "历史会话路径(可选)",
"memory.manualPathPlaceholder": "例如 ~/.aider/history 或 /Users/you/.agent/sessions",
"memory.manualPathHint": "填写该 Agent 存储历史会话的文件或目录;留空时由 Memmy 自动寻找。",
"memory.manualNameRequired": "请输入 Agent 名称",
"memory.manualPathRequired": "请输入 Agent 数据路径",
"memory.manualDuplicate": "该 Agent 已存在",
Expand Down Expand Up @@ -1083,7 +1086,7 @@ export const zhCNMessages = {
"memory.worldModel.structuredCognition": "结构化认知",
"memory.placeholder.comingSoon": "(即将到来)",
"memory.scanHint": "点击“同步新增”按钮后,只会读取上次同步后产生的新对话;还没同步过的 Agent 会先同步一次",
"memory.incrementHint": "需要回扫完整旧历史时,请在 Agent 列表下方的高级操作中手动开启深度扫描",
"memory.incrementHint": "需要回扫完整旧历史时,请在 Agent 列表下方的高级中手动开启深度扫描",
"memory.cliDescription": "各 Agent 通过 Hook、插件或 Skill 接入 memmy-memory",
"memory.daemonDescription": "Hook、CLI 与插件统一通过记忆服务读写记忆",
"memory.unavailable": "记忆服务未连接。真实模式下不会展示假记忆数据,请先启动或配置记忆层。",
Expand Down Expand Up @@ -1149,7 +1152,7 @@ export const zhCNMessages = {
"memory.wipeConfirmTitle": "清空记忆数据库?",
"memory.wipeConfirmBody": "将清空本地记忆数据库、导入去重缓存和同步进度记录,不会删除模型、API Key、账号或 ~/.memmy/config.yaml 配置。",
"memory.wipeConfirmAction": "清空记忆数据库",
"memory.advancedActions": "高级操作",
"memory.advancedActions": "高级",
"memory.deepScanAll": "扫描全部历史",
"memory.deepScanDescription": "回扫所选 Agent 的完整历史对话,可能耗时较长并产生较高 token 消耗。",
"memory.deepScanOpen": "扫描全部历史...",
Expand Down Expand Up @@ -1943,6 +1946,7 @@ export const enUSMessages: Record<keyof typeof zhCNMessages, string> = {
"home.subtitle": "What can I do for you?",
"home.empty": "Give Memmy a task and it will answer with local memory context.",
"home.input": "Assign a task or ask any question...",
"home.goal.input": "Describe the long-running goal...",
"home.send": "Send",
"home.composer.emptyMessage": "Enter a message, then click Send to get started.",
"home.queue.label": "Queued questions",
Expand Down Expand Up @@ -2022,6 +2026,7 @@ export const enUSMessages: Record<keyof typeof zhCNMessages, string> = {
"home.historyDag.finishTitle": "Done",
"home.command.goalTitle": "Start long-running goal",
"home.command.goalDescription": "Tell the Agent to treat the request as a long-running goal.",
"home.command.goalChip": "Goal",
"home.command.dreamTitle": "Run Dream",
"home.command.dreamDescription": "Manually trigger memory consolidation.",
"home.command.dreamLogTitle": "Show Dream log",
Expand Down Expand Up @@ -2273,6 +2278,8 @@ export const enUSMessages: Record<keyof typeof zhCNMessages, string> = {
"memory.infrastructure": "Infrastructure",
"memory.cli": "memmy-memory CLI",
"memory.daemon": "Memory service",
"memory.openDocs": "View memory service documentation",
"memory.learnMore": "Learn more",
"memory.cliInstalled": "Installed",
"memory.cliNotInstalled": "Not installed",
"memory.daemonRunning": "Running",
Expand Down Expand Up @@ -2309,12 +2316,11 @@ export const enUSMessages: Record<keyof typeof zhCNMessages, string> = {
"memory.confirmAndStart": "Confirm and start",
"memory.startingAgent": "Starting...",
"memory.agentDiscoveryPending": "Memmy Agent is discovering the history location",
"memory.manualAgentAiHint": "Only enter the Agent framework name. Memmy will open a new session, discover its history, identify the format, install the full Skill, import the latest 500 complete turns, and save a reusable rule for later syncs without AI.",
"memory.manualAgentAiHint": "Enter the Agent framework name and, if known, its conversation-history path. Memmy will open a new session, validate or discover the history location, identify the format, install the full Skill, import the latest 500 complete turns, and save a reusable rule for later syncs without AI.",
"memory.manualNamePlaceholder": "Choose or enter an Agent name",
"memory.manualPresetPlaceholder": "Choose a common Agent",
"memory.manualCustomName": "Or enter another Agent",
"memory.manualPathPlaceholder": "e.g. ~/.claude or /Users/you/.aider",
"memory.manualPathHint": "Specify the Agent config or conversation history directory; Memmy will try to read conversations from it",
"memory.manualHistoryPathLabel": "Conversation history path (optional)",
"memory.manualPathPlaceholder": "e.g. ~/.aider/history or /Users/you/.agent/sessions",
"memory.manualPathHint": "Enter the file or directory where this Agent stores conversation history, or leave it blank for Memmy to discover.",
"memory.manualNameRequired": "Enter an Agent name",
"memory.manualPathRequired": "Enter an Agent data path",
"memory.manualDuplicate": "This Agent already exists",
Expand Down Expand Up @@ -2612,7 +2618,7 @@ export const enUSMessages: Record<keyof typeof zhCNMessages, string> = {
"memory.worldModel.structuredCognition": "Structured cognition",
"memory.placeholder.comingSoon": "(Coming soon)",
"memory.scanHint": "Click \"Sync new\" to read only conversations created since the last sync. Agents that have not synced before will run an initial sync.",
"memory.incrementHint": "To backfill complete older history, open deep scan from Advanced actions below the Agent list",
"memory.incrementHint": "To backfill complete older history, open deep scan from Advanced below the Agent list",
"memory.cliDescription": "Agents connect to memmy-memory through Hooks, plugins, or Skills",
"memory.daemonDescription": "Hooks, CLI, and plugins read and write memory through the memory service",
"memory.unavailable": "Memory service is not connected. Real mode will not show fake memory data; start or configure the memory layer first.",
Expand Down Expand Up @@ -2679,7 +2685,7 @@ export const enUSMessages: Record<keyof typeof zhCNMessages, string> = {
"memory.wipeConfirmTitle": "Clear memory database?",
"memory.wipeConfirmBody": "This clears the local memory database, import dedupe cache, and sync progress records. Model settings, API keys, account data, and ~/.memmy/config.yaml are kept.",
"memory.wipeConfirmAction": "Clear memory database",
"memory.advancedActions": "Advanced actions",
"memory.advancedActions": "Advanced",
"memory.deepScanAll": "Scan all history",
"memory.deepScanDescription": "Backfill complete conversation history for selected Agents. This may take longer and use more tokens.",
"memory.deepScanOpen": "Scan all history...",
Expand Down
Loading
Loading