Changeset 0.13.1 (#65)
This commit is contained in:
89
ROADMAP.md
89
ROADMAP.md
@@ -36,8 +36,13 @@ v0.11.0 Extension Foundation (browser tier) ✅
|
||||
│
|
||||
┌───────┴──────────────┐
|
||||
│ │
|
||||
v0.12.0 File Handling v0.13.0 Web Search
|
||||
+ Vision + Tools Expansion
|
||||
v0.12.0 File Handling v0.13.0 Admin Panel
|
||||
+ Vision ✅ Refactor (fullscreen)
|
||||
│ │
|
||||
│ v0.13.1 Web Search
|
||||
│ + url_fetch
|
||||
│ │
|
||||
└───────┬──────────────┘
|
||||
│
|
||||
v0.14.0 Knowledge Bases (embedding role + file storage + pgvector)
|
||||
│
|
||||
@@ -426,7 +431,7 @@ OpenAI streaming usage race fix.
|
||||
|
||||
---
|
||||
|
||||
## v0.10.2 — Summarize & Continue + Role Cleanup
|
||||
## v0.10.2 — Summarize & Continue + Role Cleanup ✅
|
||||
|
||||
First consumer of the utility model role. User-triggered conversation
|
||||
compaction — not automatic (that's v0.15.0).
|
||||
@@ -603,15 +608,81 @@ File input into chat — table stakes for serious use.
|
||||
|
||||
---
|
||||
|
||||
## v0.13.0 — Web Search + Tools Expansion
|
||||
## v0.13.0 — Admin Panel Refactor
|
||||
|
||||
The admin modal has grown to 12 tabs in a horizontal overflow strip. Adding
|
||||
search provider config, KB management, and workflow settings would make it
|
||||
worse. Replace the modal with a fullscreen admin panel.
|
||||
|
||||
Depends on: nothing (frontend-only, no API changes).
|
||||
|
||||
**Layout** (modeled after Open WebUI's admin panel):
|
||||
- Fullscreen overlay (or `/admin` route) replaces the modal
|
||||
- Top bar: 4 category tabs (horizontal)
|
||||
- Left sidebar: section tabs within the active category
|
||||
- Main content: full viewport width for the active section
|
||||
|
||||
**Category → Section mapping:**
|
||||
|
||||
| Category | Sections | Current tabs absorbed |
|
||||
|----------|----------|---------------------|
|
||||
| **People** | Users, Teams | Users, Teams |
|
||||
| **AI** | Providers, Models, Personas, Roles | Providers, Models, Presets, Roles |
|
||||
| **System** | Settings, Storage, Extensions | Settings, Storage, Extensions |
|
||||
| **Monitoring** | Usage, Audit, Stats | Usage, Audit, Stats |
|
||||
|
||||
- [x] Fullscreen admin layout: top categories + left sidebar sections
|
||||
- [x] Migrate all 12 existing tab contents into new layout (no API changes)
|
||||
- [x] Category → section routing with URL hash or state (e.g. `#admin/ai/models`)
|
||||
- [x] Responsive: sidebar collapses on narrow viewports
|
||||
- [x] Keyboard shortcut: `Esc` returns to chat
|
||||
- [x] Admin button in sidebar opens fullscreen panel (replaces modal trigger)
|
||||
- [ ] Remove old `adminModal` HTML + CSS
|
||||
- [x] Preserve all existing `loadAdmin*()` functions — new layout calls same loaders
|
||||
- [x] Roles moved from People → AI category
|
||||
- [x] Presets → Personas label rename (UI only, API/data unchanged)
|
||||
- [x] Banner-aware: admin panel respects `--banner-top/bottom-height`
|
||||
- [x] CSS design token cleanup: ghost variables, hardcoded colors → tokens
|
||||
- [x] Global form element theming (bare selects/inputs inherit theme)
|
||||
- [x] Zoom scaling: admin panel + side panel respect appearance slider
|
||||
- [x] CI fix: `TruncateAll()` includes `platform_policies` + `global_config`
|
||||
|
||||
---
|
||||
|
||||
## v0.13.1 — Web Search + URL Fetch
|
||||
|
||||
Built-in tools that extend the tool framework shipped in v0.11.0.
|
||||
Admin configuration lives in the new admin panel (System → Settings or AI → Providers).
|
||||
|
||||
- [ ] `web_search` tool: search provider abstraction (SearXNG, Brave, DuckDuckGo)
|
||||
- [ ] `url_fetch` tool: retrieve and extract content from URLs
|
||||
- [ ] Sidecar or direct HTTP from backend (configurable)
|
||||
- [ ] Results injected into context
|
||||
- [ ] "Research X and save to my notes" workflow
|
||||
Depends on: admin panel refactor (v0.13.0) for config UI, tool framework (v0.11.0).
|
||||
|
||||
**Search provider abstraction:**
|
||||
- [x] `SearchProvider` interface: `Search(ctx, query, maxResults) → []SearchResult`
|
||||
- [x] DuckDuckGo provider (no API key required — default, works out of the box)
|
||||
- [x] SearXNG provider (self-hosted, fits airgapped story, configurable endpoint)
|
||||
- [x] Admin config: select active provider, set endpoint/API key, result count
|
||||
- [x] Provider config stored in `global_config` as `search_config` key
|
||||
- [x] Runtime apply on save (no restart required) + load on startup
|
||||
|
||||
**Tools:**
|
||||
- [x] `web_search` tool: calls active search provider, returns title + snippet + URL
|
||||
- [x] `url_fetch` tool: HTTP GET + content extraction (HTML→text, SSRF protection)
|
||||
- [x] Results injected into context as tool results (existing tool framework handles this)
|
||||
- [ ] Rate limiting / concurrency control per-provider
|
||||
|
||||
**Tool categories + toggle:**
|
||||
- [x] `ToolDef.Category` field: search, notes, utilities, browser
|
||||
- [x] `disabled_tools[]` per-request filtering (completion + regen + edit paths)
|
||||
- [x] `GET /api/v1/tools` endpoint: returns `[{name, description, category}]`
|
||||
- [x] Chat-bar tools toggle popup: category-level enable/disable
|
||||
- [x] localStorage persistence of disabled state
|
||||
- [x] `ToolDef.DisplayName` field: human-readable name for UI (e.g. "Search" not "web_search")
|
||||
- [x] Sub-menu per category: expand-in-place to show individual tools
|
||||
- [x] Tri-state category checkbox: all on / all off / indeterminate (partial)
|
||||
- [x] Per-tool toggle within categories (child checkboxes)
|
||||
|
||||
**Future providers** (abstraction supports but not in v0.13.1):
|
||||
- Brave Search (API key), Tavily, Kagi, SerpAPI, Google PSE
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user