Memory-off /v1 turns: memory_remember's answer can echo the user's name and stored memories
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 42/100
Hướng nghiên cứu
Start in sentient/memory/facts.py: FactStore.remember runs name_the_user before saving and _hold returns the existing fact's id and content on a SKIP, and both results reach the memory_remember tool. Check how Agent.memory_allowed is passed into that tool's context. The change is to return only a neutral status when ctx.memory_allowed is false, including for helpers. Done when tests/test_openai_api.py has a memory-off test asserting the response contains no renamed text and no stored id or content.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Found while testing #479 (OpenAI-compatible API) on a real engine.
What happens. In a /v1 turn with "Let connected apps use my memories" off (openai_api.allow_memory: false), the memory read tools are gone (as designed, Agent.memory_allowed, #529), but memory_remember stays so the app can still suggest facts for review. Its answer goes back to the model, and through the model to the app, and it can carry things the turn isn't supposed to see:
- The user's name.
FactStore.rememberrunsname_the_user(#475) before saving, and the tool returns the rewritten text. In the real test, a helper started from a memory-off/v1turn calledmemory_remember("The user works at a tech startup in Bangalore.")and got back{"action": "ADD", "content": "Maya works at a tech startup in Bangalore.", "status": "pending", ...}. The turn's prompt leaves the configured name out, so this is the only way the app learned it. - An existing memory's text.
_hold(sentient/memory/facts.py) answers a near-duplicate with{"action": "SKIP", "id": <existing id>, "content": <the existing fact's text>}. An app can guess a fact close to a stored one and read the stored wording back. The bar ismemory.duplicate_similarity(0.98) plussame_subject, so it's a narrow oracle, but #339 shows short facts in one script can score that close with real embedding models.
Suggested fix. When ctx.memory_allowed is false, memory_remember answers without stored content: the fact as the app gave it (not renamed), and no id or text of another fact (for example {"saved": "for review", "status": "pending"}, or {"status": "skipped"} for a duplicate). Same for helpers the turn starts (they inherit the decision). A test in tests/test_openai_api.py next to the existing memory-off tests.
Not a blocker for #479: the memory switch is off by default and the key is made by the user for apps on their own computer, but the switch should mean what it says.
- Ngôn ngữ chính
- Python
- Star
- 716
- Fork
- 132
- Merge trung bình
- 16 giờ 34 phút
- Pull request đã merge (30 ngày)
- 215
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của existence-master/Sentient
-
Telegram/Discord: tapping "Local only" in the /model list should ask too, and "/model Local only no" should cancelCó thể đã có người làm @bernalalexis-try đã nhận 13 ngày trước. Đang mởarea: channels enhancement good first issue priority: P2 size: S
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
existence-master/Sentient#457 · 4 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area: devices good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
existence-master/Sentient#96 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
flaky
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 48/100
existence-master/Sentient#546 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Deleting a memory with a broken stored field fails in the REST routeCó thể đã có người làm @Ankit874396 đã nhận 2 ngày trước. Đang mởarea: memory bug good first issue priority: P2 size: S
existence-master/Sentient#539 · 2 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Second look on qwen3:8b lets a code step that also empties a file throughCó thể đã có người làm @sahilphad07-sudo đã nhận 8 ngày trước. Đang mởarea: engine bug priority: P2 size: S
existence-master/Sentient#518 · 2 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của existence-master/Sentient
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
huggingface/smolagents#3106 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
area:scripts area:tests bug priority:later
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Ikalus1988/MisakaNet#4358 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Discovered ports from service discovery are never propagated to modules in Module.load()Có thể đã có người làm @vishalmore90 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
OWASP/Nettacker#1828 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
aws-samples/sample-per-model-bedrock#708 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
maintenance
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100