release: v0.2.10 (#452)
This commit is contained in:
@@ -5,5 +5,5 @@
|
||||
<rect x="54" y="5" width="62" height="24" rx="6" fill="#1565c0"/>
|
||||
<text x="85" y="22" text-anchor="middle"
|
||||
font-family="Inter, -apple-system, system-ui, sans-serif"
|
||||
font-size="13" font-weight="700" fill="#ffffff">v0.2.9</text>
|
||||
font-size="13" font-weight="700" fill="#ffffff">v0.2.10</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 555 B After Width: | Height: | Size: 556 B |
@@ -5,5 +5,5 @@
|
||||
<rect x="54" y="5" width="62" height="24" rx="6" fill="#2563eb"/>
|
||||
<text x="85" y="22" text-anchor="middle"
|
||||
font-family="Inter, -apple-system, system-ui, sans-serif"
|
||||
font-size="13" font-weight="700" fill="#ffffff">v0.2.9</text>
|
||||
font-size="13" font-weight="700" fill="#ffffff">v0.2.10</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 555 B After Width: | Height: | Size: 556 B |
Binary file not shown.
|
Before Width: | Height: | Size: 257 KiB After Width: | Height: | Size: 253 KiB |
@@ -39,8 +39,8 @@ from .events import NO_OP_SINK, MiddlewareEventSink
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
# Default threshold: only run tool selection when tools exceed this count.
|
||||
# Base tools are ~14; selector activates when MCP tools push count above 26.
|
||||
DEFAULT_TOOL_THRESHOLD = 26
|
||||
# Base tools are ~29; selector activates when MCP tools push count above 42.
|
||||
DEFAULT_TOOL_THRESHOLD = 42
|
||||
DEFAULT_ALWAYS_INCLUDE_TOOLS: frozenset[str] = frozenset(
|
||||
{
|
||||
"think_tool",
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<a href="https://pypi.org/project/EvoScientist/"><picture>
|
||||
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/EvoScientist/EvoScientist/main/.github/assets/badge-pypi-light.svg">
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/EvoScientist/EvoScientist/main/.github/assets/badge-pypi-dark.svg">
|
||||
<img alt="PyPI v0.2.9" src="https://raw.githubusercontent.com/EvoScientist/EvoScientist/main/.github/assets/badge-pypi-light.svg" height="28">
|
||||
<img alt="PyPI v0.2.10" src="https://raw.githubusercontent.com/EvoScientist/EvoScientist/main/.github/assets/badge-pypi-light.svg" height="28">
|
||||
</picture></a><a href="https://EvoScientist.github.io/"><picture>
|
||||
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/EvoScientist/EvoScientist/main/.github/assets/badge-website-light.svg">
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/EvoScientist/EvoScientist/main/.github/assets/badge-website-dark.svg">
|
||||
@@ -151,6 +151,7 @@ Moving beyond traditional human-in-the-loop systems, EvoScientist adopts a human
|
||||
<details>
|
||||
<summary>📦 Release Highlights — version changelog</summary>
|
||||
|
||||
- **[05 Sep 2026]** **[v0.2.10](https://github.com/EvoScientist/EvoScientist/releases/tag/v0.2.10)** — New models: Claude Fable 5.1, GPT-6 Astra, Gemini 3.8 Flash, and Meta Muse Spark 1.3; proactivity phase 1: a first-contact profile bootstrap that eases cold start; optional acceptance checklists for scheduled tasks; tool selection only kicks in above 42 tools; deepagents 0.7.13.
|
||||
- **[29 Aug 2026]** **[v0.2.9](https://github.com/EvoScientist/EvoScientist/releases/tag/v0.2.9)** — New models: GLM-5.3-Flash (Zhipu + OpenRouter), Qwen3.8-Flash (DashScope + OpenRouter), and Tencent HY4 preview (OpenRouter), all with 1M context; deepagents 0.7.11.
|
||||
- **[21 Aug 2026]** **[v0.2.8](https://github.com/EvoScientist/EvoScientist/releases/tag/v0.2.8)** — Deploy-mode graph rebuilds drop from ~15 s to under a second; resume commands no longer crash and empty session history; Novita AI as a new LLM provider; NVIDIA BioNeMo Agent Toolkit in onboarding's recommended skill packs; bounded routed reasoning with empty truncations surfaced as errors; a subscription OAuth recipe in the docs; deepagents 0.7.8.
|
||||
- **[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.
|
||||
|
||||
+2
-1
@@ -15,7 +15,7 @@
|
||||
<a href="https://pypi.org/project/EvoScientist/"><picture>
|
||||
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/EvoScientist/EvoScientist/main/.github/assets/badge-pypi-light.svg">
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/EvoScientist/EvoScientist/main/.github/assets/badge-pypi-dark.svg">
|
||||
<img alt="PyPI v0.2.9" src="https://raw.githubusercontent.com/EvoScientist/EvoScientist/main/.github/assets/badge-pypi-light.svg" height="28">
|
||||
<img alt="PyPI v0.2.10" src="https://raw.githubusercontent.com/EvoScientist/EvoScientist/main/.github/assets/badge-pypi-light.svg" height="28">
|
||||
</picture></a><a href="https://EvoScientist.github.io/"><picture>
|
||||
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/EvoScientist/EvoScientist/main/.github/assets/badge-website-light.svg">
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/EvoScientist/EvoScientist/main/.github/assets/badge-website-dark.svg">
|
||||
@@ -160,6 +160,7 @@ EvoScientist 超越了传统的人在回路(Human-in-the-Loop)模式,采
|
||||
<details>
|
||||
<summary>📦 版本更新摘要(changelog)</summary>
|
||||
|
||||
- **[2026 年 9 月 5 日]** **[v0.2.10](https://github.com/EvoScientist/EvoScientist/releases/tag/v0.2.10)** — 新增模型:Claude Fable 5.1、GPT-6 Astra、Gemini 3.8 Flash、Meta Muse Spark 1.3;主动性第一阶段:首次对话建立用户档案,缓解冷启动;定时任务可附加验收清单;工具选择器仅在工具超过 42 个时启用;升级 deepagents 0.7.13。
|
||||
- **[2026 年 8 月 29 日]** **[v0.2.9](https://github.com/EvoScientist/EvoScientist/releases/tag/v0.2.9)** — 新增模型:GLM-5.3-Flash(智谱与 OpenRouter)、Qwen3.8-Flash(DashScope 与 OpenRouter)、腾讯 HY4 preview(OpenRouter),均为 1M 上下文;升级 deepagents 0.7.11。
|
||||
- **[2026 年 8 月 21 日]** **[v0.2.8](https://github.com/EvoScientist/EvoScientist/releases/tag/v0.2.8)** — deploy 模式图重建从约 15 秒降至 1 秒内;resume 命令不再崩溃清空会话历史;新增 Novita AI provider;onboard 推荐技能包新增 NVIDIA BioNeMo Agent Toolkit;路由 reasoning 参数收敛、空截断显式报错;文档新增订阅 OAuth 配置指南;升级 deepagents 0.7.8。
|
||||
- **[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。
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "EvoScientist"
|
||||
version = "0.2.9"
|
||||
version = "0.2.10"
|
||||
description = "EvoScientist: Towards Self-Evolving AI Scientists for End-to-End Scientific Discovery"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.11"
|
||||
@@ -43,7 +43,7 @@ dependencies = [
|
||||
"lazy-loader>=0.5",
|
||||
"markdownify>=1.2",
|
||||
"tzlocal>=5.0",
|
||||
"langchain-mcp-adapters>=0.2",
|
||||
"langchain-mcp-adapters>=0.3.2",
|
||||
# <8.2.7: 8.2.7 Kitty "report-all-keys" breaks CJK input on iTerm2
|
||||
"textual>=8.0,<8.2.7",
|
||||
]
|
||||
|
||||
+19
-2
@@ -2757,6 +2757,21 @@ class TestPatchOpenrouterStripResponsesReasoning:
|
||||
# =============================================================================
|
||||
|
||||
|
||||
def _anthropic_httpx():
|
||||
"""Return the httpx flavour the installed anthropic SDK accepts as ``http_client``.
|
||||
|
||||
anthropic >= 1.0 is built on ``httpx2`` and rejects an ``httpx.Client``.
|
||||
"""
|
||||
import anthropic
|
||||
from packaging.version import Version
|
||||
|
||||
if Version(anthropic.__version__) >= Version("1"):
|
||||
import httpx2 as httpx
|
||||
else:
|
||||
import httpx
|
||||
return httpx
|
||||
|
||||
|
||||
class TestAnthropicStripForeignReasoning:
|
||||
def test_strip_removes_reasoning_content_blocks(self):
|
||||
"""reasoning_content blocks are dropped; text and thinking survive."""
|
||||
@@ -2832,9 +2847,10 @@ class TestAnthropicStripForeignReasoning:
|
||||
import json
|
||||
|
||||
import anthropic
|
||||
import httpx
|
||||
from langchain_core.messages import AIMessage, HumanMessage
|
||||
|
||||
httpx = _anthropic_httpx()
|
||||
|
||||
monkeypatch.setenv("CUSTOM_ANTHROPIC_BASE_URL", "https://compat.example.com")
|
||||
monkeypatch.setenv("CUSTOM_ANTHROPIC_API_KEY", "test-key")
|
||||
model = get_chat_model("moonshotai/kimi-k3", provider="custom-anthropic")
|
||||
@@ -2904,9 +2920,10 @@ class TestAnthropicStructuredOutput:
|
||||
import json
|
||||
|
||||
import anthropic
|
||||
import httpx
|
||||
from pydantic import BaseModel
|
||||
|
||||
httpx = _anthropic_httpx()
|
||||
|
||||
class Pick(BaseModel):
|
||||
answer: str
|
||||
|
||||
|
||||
Reference in New Issue
Block a user