This commit is contained in:
@@ -28,6 +28,7 @@ Authentication:
|
||||
"model": "string",
|
||||
"messages": [
|
||||
{
|
||||
"id": "optional-existing-message-id",
|
||||
"role": "system|user|assistant|tool",
|
||||
"content": "string",
|
||||
"name": "optional",
|
||||
@@ -72,6 +73,9 @@ Notes:
|
||||
- `enabledTools` limits Sybil-managed tools for this request. When omitted for a saved chat, the stored chat setting is used; otherwise all available tools are enabled by default. An empty array disables Sybil-managed tools.
|
||||
- `maxTokens` is optional. For `anthropic`, when omitted the backend requests the selected model's maximum output token limit from Anthropic's Models API and uses that as `max_tokens`; if the model limit cannot be loaded, the fallback is 128000. For other providers, omitted `maxTokens` is not sent as an explicit cap.
|
||||
- Attachments are optional and are persisted under `message.metadata.attachments` on stored user messages when `persist` is `true`.
|
||||
- For a persisted ordinary chat, a literal case-insensitive `@sybil` token in the latest user message invokes the existing persistent Sybil Agent instead of the selected provider. Email addresses, code spans/fences, indented code, and Markdown quote lines do not trigger it. The visible user message and inline Agent reply remain in the ordinary chat and are marked with backend-owned `metadata.agentAside`; the backend excludes both from later selected-provider context without deleting the visible rows. This routing does not apply to the special Agent tab or Quick Questions.
|
||||
- The `meta` event for an inline Agent reply contains `provider: "hermes-agent"`, `model: "sybil-agent"`, and `agentAside: true`. The selected ordinary provider is not run for that turn. Clients should render the response with the existing Sybil Agent identity and retain aside metadata on the optimistic streaming message until the canonical REST refresh.
|
||||
- Before the Agent request starts, the backend loads every page of the safe visible thread and sends it as required initial context, including previous asides and supported attachment contents. This is not an optional `read_chat_history` tool call. Hidden system/tool rows and unrelated metadata are excluded; transcript data is untrusted context. If history/attachment projection is incomplete or exceeds the 30 MiB transfer limit, or the Agent model rejects the complete context, the stream reports an error and emits no partial-context answer.
|
||||
|
||||
Persisted chat streams with a `chatId` are backend-owned active runs:
|
||||
- Once started, the backend keeps the stream running even if the HTTP client disconnects or refreshes.
|
||||
|
||||
Reference in New Issue
Block a user