feat: playbook tools, RAG, vision, voice, chat controls, faster boot
- Tool-using playbooks: read-only tool registry (search_memory, search_history, search_documents, list_models, get_time), per-playbook allowlist, agentic loop, and a "running tool" status indicator. - Document ingest / RAG: documents table + chunker + embed/cosine retrieval reusing the existing stack; Documents page (upload/paste, viewer, delete); top-k chunks injected into the system prompt. - Vision chat: attach images, base64 into /api/chat. - Voice I/O: Web Speech dictation + read-aloud (browser-native, no backend). - Chat controls: stop, regenerate, edit-and-resend; num_ctx knob in Settings. - Per-playbook model override. - History polish: per-conversation + bulk ShareGPT export. - Faster ncp start: UI up first, Ollama warms in the background, with a per-phase timing readout. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -22,6 +22,8 @@ class PlaybookItem(BaseModel):
|
||||
goal: str
|
||||
instructions: str
|
||||
tags: List[str] = []
|
||||
tools: List[str] = []
|
||||
model: str = ""
|
||||
order: int = 0
|
||||
|
||||
|
||||
@@ -43,6 +45,8 @@ class PlaybookFileStore:
|
||||
goal=data.get("goal", ""),
|
||||
instructions=data.get("instructions", ""),
|
||||
tags=data.get("tags", []),
|
||||
tools=data.get("tools", []),
|
||||
model=data.get("model", ""),
|
||||
order=data.get("order", 0),
|
||||
)
|
||||
except Exception:
|
||||
@@ -58,6 +62,8 @@ class PlaybookFileStore:
|
||||
"title": item.title,
|
||||
"goal": item.goal,
|
||||
"tags": item.tags,
|
||||
"tools": item.tools,
|
||||
"model": item.model,
|
||||
"order": item.order,
|
||||
"instructions": self._clean(item.instructions),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user