Use memory banks when an agent needs relevant context without knowing where it was stored. Use wikis when the knowledge should have an explicit structure that people and agents can browse and maintain.
Memory banks
A memory bank is an isolated store that lasts beyond one conversation. Agents can retain stable documents, recall content relevant to a query, and reflect on the bank to produce a contextual answer. Tilde memory banks use a managed Helix graph and vector store. Tenant and bank predicates isolate every node, edge, search, and mutation. Recall combines semantic, lexical, exact-title, and graph candidates before reranking a bounded result set with evidence and source provenance. Bank access is resolved in Postgres before a scoped provider query is created, so agents never submit a tenant or bank partition directly. Owners can also import and export portable bank templates for supported configuration, mental models, and directives. Each retained document has typed fields for its OKF category, title, importance, authorship, overwrite policy, evidence, subjects, supersession, source, and learning agent. The optionalmetadata object is only for provider-native or application-specific extension facts. It does not affect access, ranking, graph links, provenance, or synthesis.
Open Tilde, select your workspace, and go to Memory → Memory Banks. Click New memory bank, choose Personal or Workspace, then give the bank a clear name and description. Personal banks follow you across agents without becoming visible to the workspace.
Tilde automatically creates a private tool provider bound to the bank and enables these tools:
retainstores or replaces a stable document. Reuse itsdocument_idwhen updating it. Select an OKFmemory_type, setimportancefrom0.0to1.0, and use typed relations for evidence, subjects, or supersession.recallsearches for memories relevant to a query.reflectanswers a question using knowledge held by the bank.delete_documentremoves a retained document by ID.
Recall memory for the effective speaker
ChatKit automatic memory is opt-in. An agent or channel stores oneautomatic_memory_mode: none, personal, personal_plus_agent, or team. none is the default. memory_bank_ids independently selects the banks that ingest conversations involving that resource.
The recipient agent calls /chatkit/agents/{agent_id}/sessions/{session_id}/automatic-memory/recall with a durable message_id and optional max_tokens. Tilde derives the effective speaker from that stored message and session, applies bank visibility, and returns a bounded projection with provenance. The caller cannot choose another user or use a hidden continuation as someone else’s memory context.
Synthesize personal memory in the background
A personal bank can assign a synthesizer withsynthesizer_agent_id and synthesizer_team_id. Tilde creates one stable private ChatKit synthesis session for that bank and queues visible completed-turn evidence. Streaming deltas, hidden continuations, and the synthesis session itself do not recursively enqueue more work.
The synthesis agent receives bank-bound recall, retain, and document-deletion operations under /memory/synthesis-sessions/{session_id}. Every mutation and completion receipt must carry the current claim’s batch ID, complete evidence-ID set, and fresh lease owner. This prevents a stale worker from adopting another claim’s mutation or completion. Clearing a personal bank’s synthesizer stops background processing but preserves queued evidence for a later assignment.
OpenBot’s automatic-memory wiring is shipped and defaults to
none. Owners opt in with OPENBOT_AUTOMATIC_MEMORY_MODE or an AGENT_<ID>_AUTOMATIC_MEMORY_MODE override. personal_plus_agent provisions a lifecycle-owned agent bank; personal and team select recall without creating that bank. Memory Catcher inherits the installation’s selected Codex, direct Gateway, or managed-OIDC inference provider and owns no bank, preventing recursive synthesis.memory.bank.synthesizer_agent_id. It is a stable same-team ChatKit agent key. Supplying memory-catcher validates and converges that assignment on creation, update, and portable state import. Omitting the field preserves the bank’s current or server-default assignment. Setting memory.bank.enabled to false deletes the lifecycle-owned bank.
Before inference, Memory Catcher validates the prompt’s batch digest, exact ordered evidence-ID sequence, and worker lease through /memory/synthesis-sessions/{session_id}/validate-batch. Tilde accepts only the current prompt-sized evidence chunk under that unexpired lease. Every later mutation repeats the same typed binding, so a stale worker, reordered set, or arbitrary subset cannot authorize a mutation or completion.
Account for managed inference with AI credits
Agent-authenticated hosted runtimes can reserve organization AI credits before a model call, then commit the exact provider receipt. Reserve withestimated_cost_microusd and an idempotency_key. Commit with reservation_id, actual_cost_microusd, model_id, input/output token counts, tags, and a second idempotency key. Release an unused reservation explicitly. Human-authenticated top-ups are separate from agent spend.
OpenBot now applies this lifecycle to every model call made through Tilde-managed Vercel project OIDC, including Memory Catcher synthesis. It writes AgentRun effect intent before the provider starts, records the Gateway generation for recovery, and settles the authoritative receipt before reporting hosted cost to the run. Direct owner Gateway keys and Codex subscription inference are outside this managed meter.
Every Gateway call reserves credits first, including BYOK. Vercel can fall back from BYOK to charged system credentials, so BYOK cannot safely bypass preflight. When the authoritative generation receipt reports BYOK, OpenBot releases the reservation. A system or fallback receipt is committed. An organization with no Tilde AI credits cannot start a Gateway call even when BYOK is configured. See Vercel’s BYOK behavior.
OpenBot never repeats a planned, uncertain, or reconciled provider call automatically. If the model response cannot be recovered, it fails that AgentRun safely; a later owner message creates a new run. Hosted max_cost_microusd uses authoritative receipt cost after each call and can overshoot by the final call, while organization credit reservation remains a pre-call gate. Non-hosted cost budgets still require configured input and output price rates.
Wikis
A wiki is a structured Markdown knowledge base for you personally or for your team. It can contain nested pages, typed data, version history, semantic relationships, graph queries, and media assets. Go to Memory → Wikis and click New wiki. Choose Personal or Workspace, then select memory banks with the same ownership scope. Tilde synchronizes Wiki changes into those banks, giving agents both structured Wiki access and semantic recall over the same knowledge. Creating a wiki automatically provisions and enables its private wiki tools. They cover:- Pages: list, read, create or update, move, delete, migrate, inspect history, and run bounded literal or regular-expression grep with paths, line numbers, and context.
- Data model: manage versioned page types, JSON schemas, and relationship types.
- Graph: relate pages, inspect backlinks and neighborhoods, and traverse relationships.
- Assets: upload, download, update, delete, and inspect media references.
Wiki schema packs
A Wiki Schema Pack adds a coherent data model to a wiki. Each pack contains page types with JSON schemas and the semantic relationships allowed between them. Go to Memory → Wiki Schema Packs, choose a pack, and select its destination wiki. Tilde preserves definitions with matching stable keys. Installed definitions remain editable and versioned inside the wiki. Schema packs do not create a separate tool provider. The wiki’s existing tools immediately work with the added page types and relationships.Keep memory continuously updated
Use automatic ingestion for source data, agent tools for deliberate updates, and bank-sharded background synthesis for durable lessons from conversations.Ingest supported sources automatically
Open a memory bank and select the sources you want it to ingest. Tilde can ingest ChatKit conversations, signals, wikis, skills, and MCP servers. Personal banks initially accept personal Signal providers and personal Wikis; workspace banks accept workspace sources. Once a source is linked, Tilde backfills it, detects changes, and resynchronizes affected documents into the bank. A source is not shared with every memory bank automatically. You explicitly choose which banks receive it when configuring the connection, Wiki, or bank. A personal source can bind only to a personal bank owned by the same user and organization.Let an agent maintain its knowledge
Give an agent theretain tool so it can write directly to its memory bank. Ask it to use a stable document_id for knowledge that should be updated instead of duplicated.
Give the agent wiki page and relationship tools when it needs to maintain structured knowledge. If the wiki is linked to the agent’s memory bank, each wiki update is ingested into that bank automatically. The agent can then use semantic recall over the content without writing the same information with retain.
Treat the wiki as a first-class source of truth for common and relational data such as customers, projects, ownership, policies, and dependencies. Use the memory bank for semantic recall, conclusions, preferences, and concise summaries that do not belong in a structured page.
Use background synthesis
Assign a synthesizer agent when you create or configure a bank. Tilde shards evidence by bank and starts the assigned agent when the pending queue reaches 1,000 estimated tokens. One synthesizer can serve many banks, but each invocation receives tools bound to exactly one bank and one active evidence lease. A bank without an assigned synthesizer continues collecting evidence until you configure one. The synthesizer recalls related facts, writes or supersedes typed memories, and records a cited no-op when the evidence adds nothing durable. Owner-written explicit facts are protected from automatic overwrite and deletion. Mutation and completion receipts are operational records; they are not retained memories or exported configuration. You can also run a foreground agent when you need immediate synthesis. Its memory tools use the same typed document contract, while its normal conversation remains responsible for user-visible communication.Memory synthesis guidance
Expose memory tools to an agent
Memory bank and wiki tools are enabled automatically when you create their resource. You do not need to configure another provider or supply credentials.1
Review the enabled tools
Go to Tools → Manage Enabled Tools. Find the provider named for your memory bank or wiki and review its enabled tools.Keep destructive tools such as
delete_document, delete_page, and schema deletion out of the agent’s MCP server unless it needs them.2
Add tools to an MCP server
Go to Tools → MCP Servers and open the server used by your agent. Add the memory bank or wiki tools you want to expose.Enable dynamic mode when you add the full wiki toolset. It lets the agent search for the relevant tool instead of loading every wiki tool schema into its context at once.
3
Connect the agent
Connect to that MCP server with the Tilde SDK. Memory and wiki tools are returned alongside its other tools.See Tools for the complete client and environment setup.
wherever-you-run-your-agent.ts
Guide the agent
Tell the agent which knowledge belongs in each resource.Agent instruction