feat(ui): update UI backend references from 'rich' to 'tui' in onboarding and interactive components

This commit is contained in:
X-iZhang
2026-03-08 16:44:28 +00:00
parent a118d3ed23
commit 260ee95697
6 changed files with 20 additions and 15 deletions
+1 -1
View File
@@ -34,7 +34,7 @@ class StreamingTUIBackend(Protocol):
class RichStreamingBackend:
"""Default Rich backend wrapper around the existing streaming renderer."""
name: str = "rich"
name: str = "cli"
def run_streaming(
self,
+1 -1
View File
@@ -1290,7 +1290,7 @@ def run_textual_interactive(
memory_path = _shorten_path(str(paths.MEMORY_DIR))
if memory_path:
self._append_system(f"Memory dir: {memory_path}", style="dim")
self._append_system("UI: textual", style="dim")
self._append_system("UI: tui", style="dim")
return
if cmd == "/new":
+1 -1
View File
@@ -475,7 +475,7 @@ def _step_ui_backend(config: EvoScientistConfig) -> str:
config: Current configuration.
Returns:
Selected backend name ("rich" or "textual").
Selected backend name ("tui" or "cli").
"""
choices = [
Choice(title="TUI (full-screen interface, recommended)", value="tui"),
+7 -5
View File
@@ -56,7 +56,7 @@ Going beyond traditional human-in-the-loop systems, EvoScientist introduces an A
- **🔌 MCP & Skills** — Plug in MCP servers or install skills from GitHub on the fly.
## 🎯 ᯓ➤ Roadmap
- [x] 🖥️ TUI powered by Rich and Textual
- [x] 🖥️ Full-screen TUI and classic CLI interfaces
- [x] 📻 EvoMemory v1.0 shipped
- [x] ⚒️ 200+ predefined skills built in
- [x] 🧩 Built-in research-lifecycle skills shipped
@@ -171,8 +171,8 @@ The easiest way to configure API keys is the interactive wizard:
```bash
EvoSci onboard
```
It walks you through provider selection, key validation, model choice, and workspace setup.
> [!TIP]
> It walks you through provider selection, key validation, model choice, and workspace mode.
<details>
<summary> 📟 Manual configuration via environment variables </summary>
@@ -207,7 +207,7 @@ cp .env.example .env # then fill in your keys
## ⚡ Quick Start
```bash
EvoSci # or EvoScientist — interactive mode
EvoSci # or EvoScientist — interactive mode (TUI by default)
```
![demo](.github/assets/EvoScientist_cli.png)
@@ -220,9 +220,11 @@ EvoSci # or EvoScientist — interactive mode
<summary>Common examples</summary>
```bash
EvoSci # interactive mode (TUI by default)
EvoSci -p "your question" # single-shot mode
EvoSci --workdir /path/to/project # open in a specific directory
EvoSci -m run # isolated per-session workspace
EvoSci --ui textual # alternative TUI backend
EvoSci --ui cli # classic CLI (lightweight)
EvoSci serve # headless mode — channels only, no interactive prompt
```
+8 -5
View File
@@ -59,13 +59,13 @@ EvoScientist 超越了传统的人在回路(Human-in-the-Loop)模式,引
- **🤖 多智能体协作** — 6 个子智能体(规划、调研、编码、调试、分析、写作)协同工作。
- **🧠 持久化记忆** — 上下文、偏好和研究发现跨会话保持。
- **🔬 科学工作流** — 需求采集 → 规划 → 执行 → 评估 → 撰写 → 验证。
- **🌐 多模型供应商** — Anthropic、OpenAI、Google、NVIDIA——一处配置,随时切换。
- **🌐 多模型供应商** — Anthropic、OpenAI、Google、NVIDIA、SiliconFlow、OpenRouter、Ollama——一处配置,随时切换。
- **📱 多渠道接入** — CLI 为中心;Telegram、Discord、Slack、飞书、微信等——共享同一智能体会话。
- **🔌 MCP 与 Skills** — 即插即用 MCP 服务器,或从 GitHub 一键安装技能包。
## 🎯 ᯓ➤ 路线图
- [x] 🖥️ 基于 Rich 和 Textual 的 TUI 界面
- [x] 🖥️ 全屏 TUI 和经典 CLI 双界面
- [x] 📻 EvoMemory v1.0 已上线
- [x] ⚒️ 200+ 预置技能已内置
- [x] 🧩 内置研究全流程技能已上线
@@ -182,7 +182,8 @@ git pull && uv sync --dev
EvoSci onboard
```
向导将引导你完成供应商选择、密钥验证、模型选择和工作区设置。
> [!TIP]
> 向导将引导你完成供应商选择、密钥验证、模型选择和工作区模式设置。
<details>
<summary> 📟 通过环境变量手动配置</summary>
@@ -217,7 +218,7 @@ cp .env.example .env # 填入你的密钥
## ⚡ 快速上手
```bash
EvoSci # 或 EvoScientist — 交互模式
EvoSci # 或 EvoScientist — 交互模式(默认 TUI)
```
![demo](.github/assets/EvoScientist_cli.png)
@@ -230,9 +231,11 @@ EvoSci # 或 EvoScientist — 交互模式
<summary>常用示例</summary>
```bash
EvoSci # 交互模式(默认 TUI)
EvoSci -p "你的问题" # 单次查询模式
EvoSci --workdir /path/to/project # 在指定目录下启动
EvoSci -m run # 隔离的会话级工作区
EvoSci --ui textual # 替代 TUI 后端
EvoSci --ui cli # 经典 CLI(轻量)
EvoSci serve # 无头模式——仅渠道,无交互提示符
```
+2 -2
View File
@@ -745,7 +745,7 @@ class TestRunOnboard:
# Mock all questionary calls
mock_q.select.return_value.ask.side_effect = [
"rich", # UI backend
"tui", # UI backend
"anthropic", # Provider
"claude-sonnet-4-5", # Model
"daemon", # Workspace mode
@@ -796,7 +796,7 @@ class TestRunOnboard:
mock_load.return_value = EvoScientistConfig()
mock_q.select.return_value.ask.side_effect = [
"rich", # UI backend
"tui", # UI backend
"anthropic",
"claude-sonnet-4-5",
"daemon",