Backend: `anythingllm` (planned)
Backend: `anythingllm` (planned)
Status: STUB — not yet implemented. Tracked at #960.
Planned design
When implemented, the AnythingLLM adapter will:
- POST documents to `/api/v1/document/upload/<folder>` as multipart uploads (AnythingLLM doesn't expose a raw-text endpoint)
- Authenticate via `ANYTHINGLLM_API_KEY`
- Mirror written content to a local cache at `.aiwg/.storage-cache/anythingllm/<subsystem>/` so `read`/`list` work despite AnythingLLM's lack of chunked read-back
- Treat embedding as async — `write` returns when the upload is accepted, not when the artifact is queryable
- Implement `query` via the chat-thread query API
Anticipated configuration
{
"version": "1",
"backends": {
"memory": {
"type": "anythingllm",
"baseUrl": "http://localhost:3001",
"workspace": "aiwg-memory",
"folder": "memory"
}
}
}
Env: `ANYTHINGLLM_API_KEY` is required. AIWG will never read it from `storage.config`.
Why deferred
AnythingLLM's RAG-only ingest model requires a cache-mirror pattern that doesn't apply to file-shaped backends. The `read` path falls through to a local mirror, which doubles disk usage for ingested artifacts. Implementation is gated on user demand.
How to track / contribute
- Tracking issue: #960
- Research note: `.aiwg/architecture/research/storage-backends.md` (§anythingllm)
- Design: `.aiwg/architecture/storage-design.md` (§5.5)