diff --git a/README.md b/README.md index 8e2920c1..b63b0c5a 100644 --- a/README.md +++ b/README.md @@ -119,34 +119,9 @@ LLM_API_KEY=your_llm_api_key ### Architecture -``` -raw/ You drop files here - │ - ├─ Short docs ──→ markitdown ──→ LLM reads full text - │ │ - ├─ Long PDFs ──→ PageIndex ────→ LLM reads document trees - │ │ - │ ▼ - │ Wiki Compilation (using LLM) - │ │ - ▼ ▼ -wiki/ │ ← the foundation - ├── index.md Knowledge base overview - ├── log.md Operations timeline - ├── AGENTS.md Wiki schema (LLM instructions) - ├── sources/ Full-text conversions - ├── summaries/ Per-document summaries - ├── concepts/ Cross-document synthesis - ├── entities/ Specific named things (people, orgs, places, products) - ├── explorations/ Saved query results - └── reports/ Lint reports - │ - ┌──────────────────────┼──────────────────────┐ - ▼ ▼ ▼ - query / chat Skill Factory (future) - (LLM answers from (redistributable ppt / podcast / - the wiki) agent skills) report / … -``` +
+ OpenKB Architecture: from raw documents (markitdown / PageIndex) through LLM wiki compilation to the wiki/ foundation, powering query/chat, the Skill Factory, and future generators +
### Short vs Long Document Handling diff --git a/assets/openkb-architecture.png b/assets/openkb-architecture.png new file mode 100644 index 00000000..ebace492 Binary files /dev/null and b/assets/openkb-architecture.png differ diff --git a/examples/configuration/README.md b/examples/configuration/README.md index 9ead83ca..58cb7d4d 100644 --- a/examples/configuration/README.md +++ b/examples/configuration/README.md @@ -136,6 +136,27 @@ litellm: Copilot-Integration-Id: vscode-chat ``` +#### OpenRouter response caching + +When your `model` is an `openrouter/*` model, you can opt into OpenRouter's +[Response Caching](https://openrouter.ai/docs/guides/features/response-caching): +identical-payload requests come back in ~80–300 ms with **zero token billing**. +That's a direct win on the compile-retry path (a failed `add` re-runs every +summary/plan/concept call with the same prompts) and on repeated `lint` / dev +iteration. Send the cache headers via `extra_headers`: + +```yaml +model: openrouter/anthropic/claude-sonnet-4.5 +language: en +extra_headers: # top-level, or nested under `litellm:` — both work + X-OpenRouter-Cache: "true" + X-OpenRouter-Cache-TTL: "600" # optional, 1–86400s (OpenRouter default 300) +``` + +It's opt-in by design: responses are stored on OpenRouter, so leave it off for +zero-data-retention / regulated content. Only `openrouter/*` models read these +headers; other providers ignore them. + --- ## 3. API keys & providers