Inspiration

Every AI tool has the same quiet failure: memory. You either re-paste the same project context into every session, or you hand your entire history to a remote memory service and hope it sends the model something relevant. Both are bad. The first wastes tokens and time. The second ships your whole memory store off-device and gives you no say in what the model actually sees.

We wanted memory that stays with the work — on your device — and that sends the model only the proof it needs for the task in front of it.

What it does

Qorx Zero is a persistent, cross-session MemoryAgent:

  • Device-local store. Every decision, preference, and note lives in IndexedDB in the browser. Nothing leaves the machine except the bounded proof frame for the current question.
  • Transparent retrieval. For each question an inspectable ranker scores records — 0.65 × keyword overlap + 0.20 × importance + 0.15 × recency — and selects only what's relevant.
  • Timely forgetting. Records carry a TTL and can be forgotten explicitly; expired memory is dropped before it can reach the model.
  • Bounded context. The proof frame is hard-capped at 5 records / 1,600 characters, so recall stays inside a limited window no matter how large the store grows.
  • Evidence-gated answers. Qwen answers only from the proof frame and cites source hashes. Ask something unsupported — e.g. a password we never stored — and the frame is empty and the agent refuses to invent an answer.
  • Learns locally. Successful, proof-supported Qwen interactions become deduplicated 30-day local experiences, so the agent improves across sessions without uploading its memory.

How we built it

  • Frontend + store: Next.js / React, with the full memory store in IndexedDB.
  • Ranker & proof frame: a small, dependency-free scoring function so every recall decision is inspectable, not a black box.
  • Model: a thin server adapter (app/api/ask/route.ts) calls Qwen via Alibaba Cloud Model Studio (DashScope). Only the capped proof frame + the question ever reach the API — never the full store.
  • Deployment: packaged for Alibaba Cloud Function Compute as a custom container (deploy/alibaba/).

What we learned

  • Bounding context beats hoarding it. The hard cap on the proof frame forced better retrieval — a small, well-chosen frame outperformed dumping everything.
  • A refusal is a feature. Making the agent say "no proof, no answer" instead of hallucinating turned out to be the most trust-building behavior in the whole demo.
  • Keeping memory on-device changes the privacy story entirely — the model can be useful without ever holding your history.

Challenges we ran into

  • Retrieval quality vs. context limits: tuning the ranker weights so the right 5 records surface within the character cap.
  • Honest forgetting: making sure TTL-expired and explicitly-forgotten records are excluded from recall before the frame is built, not after.
  • Clean-room discipline: keeping this edition free of any private engine — it's a complete, standalone app with no hidden dependencies.

What's next

Multi-device encrypted sync (still device-owned keys), richer importance signals, and pluggable proof-frame policies per workspace.

Built With

Share this project:

Updates