Wontopos — long-term memory for AI agents. Pure semantic retrieval, identical recall in every language, ~100× lower LLM bill.
Project description
Wontopos — long-term memory for AI agents
pip install wontopos
from wontopos import Client
mem = Client(api_key="wos-...")
mem.add("she prefers tea over coffee", user_id="alice")
# one call → short-term + long-term + context, ready for your LLM prompt
ctx = mem.recall("what does alice drink?", user_id="alice")
Why
- Pure semantic retrieval — no keyword/BM25. Identical recall in every language (한국어 · 日本語 · 中文 · English).
- No LLM in the loop —
store/search/recallnever call a language model. You pay embeddings, not generation. - Bounded retrieval —
recall()returns a small, fixed-size slice (~1,200 tokens) regardless of how much you've stored. Your LLM bill stops growing with history.
Methods
| Method | Purpose |
|---|---|
add(content, user_id, **metadata) |
Store one memory |
add_turn(user_id, user_msg, assistant_msg) |
Store a conversation exchange |
add_bulk(content, user_id, category=, timestamp=) |
Backfill a long history |
update(user_id, old_memory_id, new_content) |
Supersede an old fact |
search(query, user_id, limit=10, **opts) |
Semantic search |
recall(query, user_id) |
One-call context (short + long + surrounding) |
history(user_id) |
Recent turns (short-term) |
stats(user_id) |
Counts |
delete(user_id, memory_id) |
Delete one memory |
delete_all(user_id) |
GDPR erase (delete every memory for the user) |
All methods take a user_id — memories are isolated per user, then per account (your API key).
Errors
Any non-2xx response raises WosError(status, message):
from wontopos import Client, WosError
try:
mem.search("...", user_id="alice")
except WosError as e:
if e.status == 401:
print("API key invalid or revoked")
elif e.status == 429:
print("Rate limited — back off")
else:
print(e.status, e.message)
Self-host
Point at your own engine:
mem = Client(api_key="...", base_url="https://wos.your-host.com")
Links
- Homepage: https://wontopos.com
- API reference: https://wontopos.com/why (Developers tab)
- Repo: https://github.com/Irina1920/Wos_API
License: MIT.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wontopos-2.0.0.tar.gz.
File metadata
- Download URL: wontopos-2.0.0.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff6d2499fdd13744f40283623c323ac12f86d40290650e106db51991e64f8d74
|
|
| MD5 |
9df7027a8170c22fa1226cf28474118f
|
|
| BLAKE2b-256 |
ffa6dbe84ec6bc2435f410bad56c3ee772174e1d10feb6cac929c278d52ed09a
|
File details
Details for the file wontopos-2.0.0-py3-none-any.whl.
File metadata
- Download URL: wontopos-2.0.0-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0f763c4848fc97108662531f8571d39bfbe3b7972956356c3b9854d3a3e0eb2
|
|
| MD5 |
563fe40a59500d2ed5bba24966593d95
|
|
| BLAKE2b-256 |
1b74c35ef1ae6897067caa9f7f527b4a3f39a1a4c363a11d807fa6e6ef937800
|