diff --git a/EvoScientist/cli/tui_backends.py b/EvoScientist/cli/tui_backends.py index ea51ce3..1d8bc87 100644 --- a/EvoScientist/cli/tui_backends.py +++ b/EvoScientist/cli/tui_backends.py @@ -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, diff --git a/EvoScientist/cli/tui_interactive.py b/EvoScientist/cli/tui_interactive.py index 8f8b6a3..be07020 100644 --- a/EvoScientist/cli/tui_interactive.py +++ b/EvoScientist/cli/tui_interactive.py @@ -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": diff --git a/EvoScientist/config/onboard.py b/EvoScientist/config/onboard.py index 3de1bb0..8184075 100644 --- a/EvoScientist/config/onboard.py +++ b/EvoScientist/config/onboard.py @@ -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"), diff --git a/README.md b/README.md index 9b91ab5..0eeb012 100644 --- a/README.md +++ b/README.md @@ -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.
📟 Manual configuration via environment variables @@ -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 Common examples ```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 ``` diff --git a/README.zh-CN.md b/README.zh-CN.md index 2092782..826d723 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -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] +> 向导将引导你完成供应商选择、密钥验证、模型选择和工作区模式设置。
📟 通过环境变量手动配置 @@ -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 — 交互模式 常用示例 ```bash +EvoSci # 交互模式(默认 TUI) EvoSci -p "你的问题" # 单次查询模式 +EvoSci --workdir /path/to/project # 在指定目录下启动 EvoSci -m run # 隔离的会话级工作区 -EvoSci --ui textual # 替代 TUI 后端 +EvoSci --ui cli # 经典 CLI(轻量) EvoSci serve # 无头模式——仅渠道,无交互提示符 ``` diff --git a/tests/test_onboard.py b/tests/test_onboard.py index 847e715..11d4c19 100644 --- a/tests/test_onboard.py +++ b/tests/test_onboard.py @@ -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",