forked from kent/consciousness
Add cloud API support and per-agent model override
Cloud API support: - Add chat_api config flag to BackendConfig, threaded through SessionConfig → ResolvedModel → Agent → Mind - New StreamToken::TextDelta variant for chat completions streaming - stream_chat_completion() method on ApiClient: builds messages array, sends to /v1/chat/completions, parses SSE stream - ChatMessage struct and wire_messages() on ContextState: converts the AST (system/identity/journal/conversation nodes) into a messages array for the chat API, handling images as base64 data URIs - ResponseParser handles TextDelta alongside Token variants - TUI rendering fix: tokens() returns byte-length estimate (~4 bytes/token) when tokenizer isn't loaded, so the change detector actually triggers re-renders - Gate all vLLM-specific scoring (memory scoring, finetune scoring, compare scoring) behind !chat_api checks Per-agent model override: - Add model field to agent definition headers (.agent files) - Thread through AutoAgent → prepare_spawn → resolve_model - Agents fall back to default_backend when model is unset - Enables cheaper backends (e.g. Kimi) for graph maintenance agents while keeping Sonnet for conversation Tested: end-to-end with Poe API + Haiku, chat_api: true in config. TUI starts, messages send, responses stream and render. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
37087ac6d9
commit
6c26cee86e
10 changed files with 353 additions and 28 deletions
|
|
@ -357,6 +357,7 @@ impl SubconsciousAgent {
|
|||
let auto = AutoAgent::new(
|
||||
name.to_string(), tools, steps,
|
||||
def.temperature.unwrap_or(0.6), def.priority,
|
||||
def.model.clone(),
|
||||
);
|
||||
|
||||
Some(Self {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue