-
Notifications
You must be signed in to change notification settings - Fork 1
Chat Features EN
中文 | English
End-to-end streaming across the whole stack: upstream SSE → line-by-line parsing in Rust → Tauri Event → character-by-character rendering in the frontend. Assistant messages support Markdown (react-markdown + remark-gfm): bold, lists, tables, and code blocks.
- Multi-byte characters (Chinese/emoji) won't be garbled when split across TCP chunks: the stream is buffered by bytes and decoded by complete lines
- When the upstream returns non-standard formats, the message body is fuzzy-matched automatically (compatible with the
contentarray, legacytext,output_text, and other variants) -
finish_reasoncase/alias normalization is automatic (length / MAX_TOKENS / max_output_tokens, etc.); truncation is explicitly flagged - If the upstream rejects the
toolsparameter (a 4xx error mentioning tool/function/schema), BIT automatically falls back to a text-based convention protocol and re-probes in the next session
Chat input supports pasting/selecting images (data URL arrays); the backend converts them into the OpenAI / Claude / Gemini multimodal content formats respectively before sending.
Messages typed while the AI is busy enter a queue and are sent one by one automatically:
- Each queued message carries a sequence number (pill style)
- Click and hold to drag to reorder in real time; the order settles when you release
- Double-click a pill to remove that message
- Compatible with WKWebView (macOS); does not rely on the HTML5 drag-and-drop API
- The history window holds 96 messages; beyond that it falls back in 8-message aligned steps—the message prefix of adjacent requests is byte-for-byte identical, hitting prompt caches on every provider (automatic on OpenAI / Gemini; equally effective on compatible endpoints like DeepSeek / Kimi)
- The input area shows real-time cache hit rate stats with color grading: ≥80% green, 50–80% gray, <50% yellow
- A single AI reply can trigger multiple tool calls, executed concurrently (up to 16), with results fed back in call order
- The call process is displayed line by line as cards in the conversation
- If any tool fails (or is interrupted), nothing is lost: the error details are returned to the model so it can keep reasoning
- A session can be interrupted at any time: requests and tool execution stop immediately
Tool descriptions and system prompts are entirely in English (best compatibility with older models), and the in-session history alignment strategy keeps long conversations from being truncated too early.
中文
- 首页
- 使用:安装指南 · 芯片与操作系统支持 · 快速上手 · 对话功能 · TUI-终端模式 · FAQ
- 进阶:工具系统 · MCP-集成 · 记忆与技能 · 远程访问与-API · 自动更新 · 审计日志
- 参与:开发与构建
English
- Home
- Usage: Installation Guide · Chips & OS Support · Quick Start · Chat Features · TUI Terminal Mode · FAQ
- Advanced: Tool System · MCP Integration · Memory & Skills · Remote Access & API · Auto Update · Audit Log
- Development: Development & Build