diff --git a/.github/assets/badge-pypi-dark.svg b/.github/assets/badge-pypi-dark.svg index cf5e24e..4753904 100644 --- a/.github/assets/badge-pypi-dark.svg +++ b/.github/assets/badge-pypi-dark.svg @@ -5,5 +5,5 @@ v0.2.6 + font-size="13" font-weight="700" fill="#ffffff">v0.2.7 \ No newline at end of file diff --git a/.github/assets/badge-pypi-light.svg b/.github/assets/badge-pypi-light.svg index a7d98b3..496cf6b 100644 --- a/.github/assets/badge-pypi-light.svg +++ b/.github/assets/badge-pypi-light.svg @@ -5,5 +5,5 @@ v0.2.6 + font-size="13" font-weight="700" fill="#ffffff">v0.2.7 \ No newline at end of file diff --git a/.github/assets/wechat_group.jpeg b/.github/assets/wechat_group.jpeg index 3f8b244..068bfed 100644 Binary files a/.github/assets/wechat_group.jpeg and b/.github/assets/wechat_group.jpeg differ diff --git a/EvoScientist/llm/context_window.py b/EvoScientist/llm/context_window.py index 87c39a6..4f20a7e 100644 --- a/EvoScientist/llm/context_window.py +++ b/EvoScientist/llm/context_window.py @@ -22,8 +22,9 @@ _KNOWN_MODEL_CONTEXT_WINDOWS: dict[str, int] = { # Qwen 3.7 closed-source tiers — Max flagship and Plus (1M). "qwen3.7-max": 1_000_000, "qwen3.7-plus": 1_000_000, - # xAI Grok — per-model windows (build-0.1: 256K, 4.5: 500K). + # xAI Grok — per-model windows (build-0.1: 256K, 4.5/4.6: 500K). "grok-build-0.1": 256_000, + "grok-4.6": 500_000, "grok-4.5": 500_000, # Claude Haiku 4.5 — exception to the ``claude-`` family (200K, not 1M). "claude-haiku-4-5": 200_000, @@ -31,8 +32,9 @@ _KNOWN_MODEL_CONTEXT_WINDOWS: dict[str, int] = { # Covers OpenRouter ``minimax/minimax-m3`` (via split('/')[-1]) and direct # ``MiniMax-M3`` (via lowercased exact match). "minimax-m3": 1_000_000, - # Zhipu GLM-5.2 — 1M context, an exception to the ``glm-5`` family (203K). - # Matches OpenRouter ``z-ai/glm-5.2`` via split('/')[-1]. + # Zhipu GLM-5.3/5.2 — 1M context, exceptions to the ``glm-5`` family (203K). + # Matches OpenRouter ``z-ai/glm-5.x`` via split('/')[-1]. + "glm-5.3": 1_000_000, "glm-5.2": 1_000_000, # Volcengine Coding Plan's OpenAI-compatible alias for GLM-5.2. "glm-5-2": 1_000_000, diff --git a/EvoScientist/llm/registry.py b/EvoScientist/llm/registry.py index d558e60..8ada027 100644 --- a/EvoScientist/llm/registry.py +++ b/EvoScientist/llm/registry.py @@ -106,6 +106,7 @@ _MODEL_ENTRIES: list[tuple[str, str, str]] = [ ("gpt-5-mini", "gpt-5-mini", "openai"), ("gpt-5-nano", "gpt-5-nano", "openai"), # Google GenAI + ("gemini-3.7-flash", "gemini-3.7-flash", "google-genai"), ("gemini-3.6-flash", "gemini-3.6-flash", "google-genai"), ("gemini-3.5-flash", "gemini-3.5-flash", "google-genai"), ("gemini-3.5-flash-lite", "gemini-3.5-flash-lite", "google-genai"), @@ -169,6 +170,7 @@ _MODEL_ENTRIES: list[tuple[str, str, str]] = [ ("gpt-5.5", "openai/gpt-5.5", "openrouter"), ("gpt-5.4", "openai/gpt-5.4", "openrouter"), ("gpt-5.3-codex", "openai/gpt-5.3-codex", "openrouter"), + ("gemini-3.7-flash", "google/gemini-3.7-flash", "openrouter"), ("gemini-3.6-flash", "google/gemini-3.6-flash", "openrouter"), ("gemini-3.5-flash", "google/gemini-3.5-flash", "openrouter"), ("gemini-3.5-flash-lite", "google/gemini-3.5-flash-lite", "openrouter"), @@ -176,12 +178,14 @@ _MODEL_ENTRIES: list[tuple[str, str, str]] = [ ("gemini-3-flash", "google/gemini-3-flash-preview", "openrouter"), ("kimi-k3", "moonshotai/kimi-k3", "openrouter"), ("kimi-k2.6", "moonshotai/kimi-k2.6", "openrouter"), + ("glm-5.3", "z-ai/glm-5.3", "openrouter"), ("glm-5.2", "z-ai/glm-5.2", "openrouter"), ("glm-5v-turbo", "z-ai/glm-5v-turbo", "openrouter"), ("minimax-m3", "minimax/minimax-m3", "openrouter"), ("mimo-v2.5-pro", "xiaomi/mimo-v2.5-pro", "openrouter"), ("mimo-v2.5", "xiaomi/mimo-v2.5", "openrouter"), ("grok-build-0.1", "x-ai/grok-build-0.1", "openrouter"), + ("grok-4.6", "x-ai/grok-4.6", "openrouter"), ("grok-4.5", "x-ai/grok-4.5", "openrouter"), ("hy3", "tencent/hy3", "openrouter"), ("qwen3.8-max", "qwen/qwen3.8-max", "openrouter"), @@ -189,6 +193,7 @@ _MODEL_ENTRIES: list[tuple[str, str, str]] = [ ("qwen3.7-plus", "qwen/qwen3.7-plus", "openrouter"), ("qwen3.6-flash", "qwen/qwen3.6-flash", "openrouter"), ("qwen3.5-122b", "qwen/qwen3.5-122b-a10b", "openrouter"), + ("deepseek-v4-pro-0813", "deepseek/deepseek-v4-pro-0813", "openrouter"), ("deepseek-v4-pro", "deepseek/deepseek-v4-pro", "openrouter"), ("deepseek-v4-flash", "deepseek/deepseek-v4-flash", "openrouter"), # Volcengine Coding Plan (火山引擎代码计划 — coding-only endpoint) @@ -196,6 +201,7 @@ _MODEL_ENTRIES: list[tuple[str, str, str]] = [ ("glm-5.2", "glm-5-2", "volcengine-code"), ("kimi-k2.5", "kimi-k2-5", "volcengine-code"), # Zhipu CodePlan (智谱代码计划 — coding-only endpoint) + ("glm-5.3", "glm-5.3", "zhipu-code"), ("glm-5.2", "glm-5.2", "zhipu-code"), ("glm-5.1", "glm-5.1", "zhipu-code"), ("glm-5", "glm-5", "zhipu-code"), @@ -203,6 +209,7 @@ _MODEL_ENTRIES: list[tuple[str, str, str]] = [ ("glm-5v-turbo", "glm-5v-turbo", "zhipu-code"), ("glm-4.7", "glm-4.7", "zhipu-code"), # Zhipu (智谱 — general endpoint, default for simple lookups) + ("glm-5.3", "glm-5.3", "zhipu"), ("glm-5.2", "glm-5.2", "zhipu"), ("glm-5.1", "glm-5.1", "zhipu"), ("glm-5", "glm-5", "zhipu"), diff --git a/README.md b/README.md index 8292fdc..1dbbf29 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ - PyPI v0.2.6 + PyPI v0.2.7 @@ -151,7 +151,8 @@ Moving beyond traditional human-in-the-loop systems, EvoScientist adopts a human
📦 Release Highlights — version changelog -- **[07 Aug 2026]** **[v0.2.6](https://github.com/EvoScientist/EvoScientist/releases/tag/v0.2.6)** — Agent teams: invite installed expert skills into a session (`/expert `) for in-turn consults, parallel panels, or background jobs; configurable bind hosts for the langgraph dev backend and WebUI (loopback by default); Volcengine Coding Plan provider (`glm-5.2`, `kimi-k2.5`); Qwen3.8-Max on DashScope and OpenRouter (1M context); deepagents 0.7.5 with media placeholders instead of provider 400s; a blank tool-call ID fix for Kimi/Zhipu sessions. +- **[14 Aug 2026]** **[v0.2.7](https://github.com/EvoScientist/EvoScientist/releases/tag/v0.2.7)** — Faster startup (lazy imports, reusable kept-alive langgraph dev server, indexed thread listing); new models: Gemini 3.7 Flash (Google + OpenRouter), DeepSeek V4 Pro 0813, Grok 4.6, and GLM-5.3 (Zhipu + OpenRouter); encrypted-webhook channels reject unsigned POSTs; MCP stdio servers start reliably under redirected streams on Windows; sub-agent tools resolve at dispatch time; `/compact` history offload restored on deepagents 0.7.6. +- **[07 Aug 2026]** **[v0.2.6](https://github.com/EvoScientist/EvoScientist/releases/tag/V0.2.6)** — Agent teams: invite installed expert skills into a session (`/expert `) for in-turn consults, parallel panels, or background jobs; configurable bind hosts for the langgraph dev backend and WebUI (loopback by default); Volcengine Coding Plan provider (`glm-5.2`, `kimi-k2.5`); Qwen3.8-Max on DashScope and OpenRouter (1M context); deepagents 0.7.5 with media placeholders instead of provider 400s; a blank tool-call ID fix for Kimi/Zhipu sessions. - **[01 Aug 2026]** **[v0.2.5](https://github.com/EvoScientist/EvoScientist/releases/tag/v0.2.5)** — Unified human-in-the-loop approval across the main agent and sync + async sub-agents; deepagents 0.7.0 with leaner built-in prompts and a recursive `delete` tool gated behind the same approval as `execute`; Requesty and Atlas Cloud as new LLM providers; fixes for unnamed tool calls, interrupted tool-call history on sync sub-agents, and deploy-mode port propagation. - **[26 Jul 2026]** **[v0.2.4](https://github.com/EvoScientist/EvoScientist/releases/tag/v0.2.4)** — Claude Opus 5 selectable on Anthropic and OpenRouter (incl. fast), plus Gemini 3.6 Flash and 3.5 Flash Lite on Google and OpenRouter; Kimi K3 now works over Anthropic-protocol channels (Kimi For Coding, custom endpoints), covering structured output, history replay, and multi-turn thinking; fixes for interrupted tool-call history, skill-install path leaks, and OpenRouter SSE streaming (pinned below 0.11). - **[18 Jul 2026]** **[v0.2.3](https://github.com/EvoScientist/EvoScientist/releases/tag/v0.2.3)** — Kimi K3 selectable on Moonshot and OpenRouter (1M context); async sub-agent runs no longer get stuck pending thanks to orphaned-run cleanup; Telegram slash commands; provider fixes (DeepSeek native SDK, GPT-5.x via ChatGPT OAuth, OpenAI `reasoning_effort`); quieter tool-selector streaming and smaller checkpoints. diff --git a/README.zh-CN.md b/README.zh-CN.md index c3c7366..e16e86b 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -15,7 +15,7 @@ - PyPI v0.2.6 + PyPI v0.2.7 @@ -160,7 +160,8 @@ EvoScientist 超越了传统的人在回路(Human-in-the-Loop)模式,采
📦 版本更新摘要(changelog) -- **[2026 年 8 月 7 日]** **[v0.2.6](https://github.com/EvoScientist/EvoScientist/releases/tag/v0.2.6)** — Agent teams:可将已安装的专家技能邀请进会话(`/expert `),支持轮内咨询、并行面板与后台任务;langgraph dev 后端与 WebUI 绑定地址可配置(默认仅回环);新增火山引擎代码计划 provider(`glm-5.2`、`kimi-k2.5`);Qwen3.8-Max 可在 DashScope 与 OpenRouter 选用(1M 上下文);deepagents 0.7.5,不支持的媒体改为占位符、不再触发 provider 400;修复 Kimi/Zhipu 会话的空白 tool-call ID 问题。 +- **[2026 年 8 月 14 日]** **[v0.2.7](https://github.com/EvoScientist/EvoScientist/releases/tag/v0.2.7)** — 启动更快(依赖延迟加载、langgraph dev 服务保活复用、会话列表索引查询);新增模型:Gemini 3.7 Flash(Google 与 OpenRouter)、DeepSeek V4 Pro 0813、Grok 4.6、GLM-5.3(智谱与 OpenRouter);配置加密 webhook 的渠道拒绝未签名 POST;MCP stdio 服务在重定向流下可正常启动(修复 Windows 报错);子 agent 工具改在派发时解析;`/compact` 历史 offload 适配 deepagents 0.7.6。 +- **[2026 年 8 月 7 日]** **[v0.2.6](https://github.com/EvoScientist/EvoScientist/releases/tag/V0.2.6)** — Agent teams:可将已安装的专家技能邀请进会话(`/expert `),支持轮内咨询、并行面板与后台任务;langgraph dev 后端与 WebUI 绑定地址可配置(默认仅回环);新增火山引擎代码计划 provider(`glm-5.2`、`kimi-k2.5`);Qwen3.8-Max 可在 DashScope 与 OpenRouter 选用(1M 上下文);deepagents 0.7.5,不支持的媒体改为占位符、不再触发 provider 400;修复 Kimi/Zhipu 会话的空白 tool-call ID 问题。 - **[2026 年 8 月 1 日]** **[v0.2.5](https://github.com/EvoScientist/EvoScientist/releases/tag/v0.2.5)** — 主 agent 与同步/异步子 agent 统一 human-in-the-loop 审批;升级 deepagents 0.7.0,内置 prompt 更精简,新增递归 `delete` 工具、与 `execute` 同级审批;新增 Requesty 与 Atlas Cloud 两个 LLM provider;修复无名工具调用、同步子 agent 的中断工具历史,以及 deploy 模式端口传播。 - **[2026 年 7 月 26 日]** **[v0.2.4](https://github.com/EvoScientist/EvoScientist/releases/tag/v0.2.4)** — Claude Opus 5 可在 Anthropic 与 OpenRouter 中选用(含 fast),Google 与 OpenRouter 另新增 Gemini 3.6 Flash 与 3.5 Flash Lite;Kimi K3 打通 Anthropic 协议通道(Kimi For Coding、自定义端点),结构化输出、历史回放、多轮 thinking 均可用;修复中断的工具调用历史、技能安装路径泄漏,以及 OpenRouter SSE 流式回归(固定到 0.11 以下)。 - **[2026 年 7 月 18 日]** **[v0.2.3](https://github.com/EvoScientist/EvoScientist/releases/tag/v0.2.3)** — Kimi K3 可在 Moonshot 与 OpenRouter 中选用(1M 上下文);清理孤儿运行后,异步子代理不再卡在 pending 状态;Telegram 斜杠命令;provider 修复(DeepSeek 原生 SDK、ChatGPT OAuth 下的 GPT-5.x、OpenAI `reasoning_effort`);tool-selector 流式输出更安静,checkpoint 体积更小。 diff --git a/pyproject.toml b/pyproject.toml index 12a3ed7..36af129 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "EvoScientist" -version = "0.2.6" +version = "0.2.7" description = "EvoScientist: Towards Self-Evolving AI Scientists for End-to-End Scientific Discovery" readme = "README.md" requires-python = ">=3.11" diff --git a/uv.lock b/uv.lock index db6128d..e53bc83 100644 --- a/uv.lock +++ b/uv.lock @@ -953,7 +953,7 @@ wheels = [ [[package]] name = "evoscientist" -version = "0.2.6" +version = "0.2.7" source = { editable = "." } dependencies = [ { name = "deepagents", extra = ["quickjs"] },