Assistant node, and the Control tab as one conversation (openpanel V5)
run_turn takes its tools, system prompt and tool caller; the chat passes the MCP tools as before. The assistant node offers one tool per wired target, reads its other inputs as context, streams its reply a sentence at a time, warms the provider on `listening` and says so when the provider is not there. Completions share the per-server HTTP client. wren replies when nothing reads `unhandled`, stt shows a note when nothing was heard. /ai/control lists one conversation per entry node with the messages to watch.
This commit is contained in:
@@ -41,6 +41,7 @@ from fluksio.flow.executor import ExecutionService
|
||||
from fluksio.flow.messages import MessageSpec, flow_of, qualify
|
||||
from fluksio.flow.nodes import (
|
||||
RESERVED_SETTINGS,
|
||||
AssistantNode,
|
||||
ChangeNode,
|
||||
DebounceNode,
|
||||
DelayNode,
|
||||
@@ -385,6 +386,12 @@ NODE_TYPES: dict[str, NodeType] = {
|
||||
cls=WrenNode,
|
||||
params_schema=_schema_of(WrenNode),
|
||||
),
|
||||
"assistant": NodeType(
|
||||
title="Assistant",
|
||||
description="Answer a request with the AI provider, acting on what is wired to it.",
|
||||
cls=AssistantNode,
|
||||
params_schema=_schema_of(AssistantNode),
|
||||
),
|
||||
"stt": NodeType(
|
||||
title="Speech to text",
|
||||
description="Turn a microphone's audio into text, through a speech server.",
|
||||
|
||||
Reference in New Issue
Block a user