From e9e64eb9c8d65cd1396340b5cf8e1b354b0c199d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=B4=AB=E5=BD=B1233?=
Date: Tue, 7 Jul 2026 14:05:17 +0800
Subject: [PATCH] v0.14.9: fix prompt injection, context compression, auto
memory, icon path
---
README.md | 6 +-
assets/icons/icon-new.ico | Bin 45784 -> 0 bytes
assets/icons/icon-new.png | Bin 68154 -> 0 bytes
assets/icons/icon-new.svg | 196 ----------
assets/icons/llama.ico | Bin 45784 -> 283719 bytes
assets/icons/llama.png | Bin 26487 -> 2816956 bytes
package-lock.json | 4 +-
package.json | 2 +-
src/renderer/index.html | 15 +-
src/renderer/public/assets/icons/llama.ico | Bin 0 -> 283719 bytes
src/renderer/public/assets/icons/llama.png | Bin 0 -> 2816956 bytes
src/renderer/services/agent-engine.ts | 90 +++--
src/renderer/services/context-manager.ts | 74 +++-
src/renderer/services/memory-service.ts | 427 ++++++++++++++-------
src/renderer/services/sub-agent.ts | 13 +-
src/renderer/styles/style.css | 4 +
16 files changed, 424 insertions(+), 407 deletions(-)
delete mode 100644 assets/icons/icon-new.ico
delete mode 100644 assets/icons/icon-new.png
delete mode 100644 assets/icons/icon-new.svg
create mode 100644 src/renderer/public/assets/icons/llama.ico
create mode 100644 src/renderer/public/assets/icons/llama.png
diff --git a/README.md b/README.md
index 94cad12..a36315a 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,7 @@
-
+
@@ -253,7 +253,7 @@ npm start
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ npm run dist
```
-产出:`release/Metona Ollama Setup v0.14.8.exe`
+产出:`release/Metona Ollama Setup v0.14.9.exe`
## 🛠️ 常用命令
@@ -501,7 +501,7 @@ npm start
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ npm run dist
```
-Output: `release/Metona Ollama Setup v0.14.8.exe`
+Output: `release/Metona Ollama Setup v0.14.9.exe`
## 🛠️ Common Commands
diff --git a/assets/icons/icon-new.ico b/assets/icons/icon-new.ico
deleted file mode 100644
index 6d77a769df34edf790e7716eabbbc7cb53991b9a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 45784
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