diff --git a/README.en.md b/README.en.md index 620364d0..8fb6a7e7 100644 --- a/README.en.md +++ b/README.en.md @@ -54,7 +54,7 @@ Navigation: [Introduction](https://xerrors.github.io/Yuxi/) | [Quick Start](ht **1. Clone and initialize** ```bash -git clone --branch v0.7.0.beta3 --depth 1 https://github.com/xerrors/Yuxi.git +git clone --branch v0.7.0 --depth 1 https://github.com/xerrors/Yuxi.git cd Yuxi # Linux/macOS diff --git a/README.md b/README.md index 3b816532..8aba9955 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ **1. 克隆代码并初始化** ```bash -git clone --branch v0.7.0.beta3 --depth 1 https://github.com/xerrors/Yuxi.git +git clone --branch v0.7.0 --depth 1 https://github.com/xerrors/Yuxi.git cd Yuxi # Linux/macOS diff --git a/backend/package/pyproject.toml b/backend/package/pyproject.toml index 7c67cf07..04ec18e2 100644 --- a/backend/package/pyproject.toml +++ b/backend/package/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "yuxi" -version = "0.7.0.beta3" +version = "0.7.0" description = "Yuxi 智能知识库与知识图谱平台核心后端包" readme = "README.md" requires-python = ">=3.12,<3.14" diff --git a/backend/package/uv.lock b/backend/package/uv.lock index 39a51374..b6ff825d 100644 --- a/backend/package/uv.lock +++ b/backend/package/uv.lock @@ -5264,7 +5264,7 @@ wheels = [ [[package]] name = "yuxi" -version = "0.7.0.beta3" +version = "0.7.0" source = { editable = "." } dependencies = [ { name = "agent-sandbox" }, diff --git a/backend/package/yuxi/agents/models.py b/backend/package/yuxi/agents/models.py index c575d2dc..f877015d 100644 --- a/backend/package/yuxi/agents/models.py +++ b/backend/package/yuxi/agents/models.py @@ -6,7 +6,6 @@ from yuxi.models.providers.cache import model_cache from yuxi.utils import get_docker_safe_url from yuxi.utils.logging_config import logger - # 这些提供商的 OpenAI 兼容流式接口,在 LangGraph v3 事件流累积工具调用时会丢失 # tool_call 的关键字段(siliconflow MiniMax 丢 name、alibaba 百炼丢 id),空值会被写入 # checkpoint,导致工具结果无法按 tool_call_id 关联、工具状态永远停留在“进行中”。 diff --git a/backend/pyproject.toml b/backend/pyproject.toml index 7b152a80..c6f02b17 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "yuxi-workspace" -version = "0.7.0.beta3" +version = "0.7.0" description = "基于大模型的智能知识库与知识图谱智能体开发平台,融合了 RAG 技术与知识图谱技术,基于 LangGraph v1 + Vue.js + FastAPI + LightRAG 架构构建" readme = "README.md" requires-python = ">=3.12,<3.14" diff --git a/backend/uv.lock b/backend/uv.lock index 30fc23e0..521d51bf 100644 --- a/backend/uv.lock +++ b/backend/uv.lock @@ -5489,7 +5489,7 @@ wheels = [ [[package]] name = "yuxi" -version = "0.7.0.beta3" +version = "0.7.0" source = { editable = "package" } dependencies = [ { name = "agent-sandbox" }, @@ -5646,7 +5646,7 @@ requires-dist = [ [[package]] name = "yuxi-workspace" -version = "0.7.0.beta3" +version = "0.7.0" source = { virtual = "." } dependencies = [ { name = "arq" }, diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index dc7b3477..badf555d 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -30,7 +30,7 @@ services: build: context: . dockerfile: docker/api.Dockerfile - image: yuxi-api:${YUXI_VERSION:-0.7.0.beta3} + image: yuxi-api:${YUXI_VERSION:-0.7.0} container_name: api-prod working_dir: /app networks: @@ -68,7 +68,7 @@ services: build: context: . dockerfile: docker/api.Dockerfile - image: yuxi-api:${YUXI_VERSION:-0.7.0.beta3} + image: yuxi-api:${YUXI_VERSION:-0.7.0} container_name: worker-prod working_dir: /app networks: @@ -145,7 +145,7 @@ services: context: . dockerfile: docker/web.Dockerfile target: production - image: yuxi-web:${YUXI_VERSION:-0.7.0.beta3} + image: yuxi-web:${YUXI_VERSION:-0.7.0} container_name: web-prod ports: - "80:80" diff --git a/docker-compose.yml b/docker-compose.yml index 7d6e67dc..95ec4c9d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -38,7 +38,7 @@ services: build: context: . dockerfile: docker/api.Dockerfile - image: yuxi-api:${YUXI_VERSION:-0.7.0.beta3} + image: yuxi-api:${YUXI_VERSION:-0.7.0} container_name: api-dev working_dir: /app volumes: @@ -86,7 +86,7 @@ services: build: context: . dockerfile: docker/api.Dockerfile - image: yuxi-api:${YUXI_VERSION:-0.7.0.beta3} + image: yuxi-api:${YUXI_VERSION:-0.7.0} container_name: worker-dev working_dir: /app volumes: @@ -125,7 +125,7 @@ services: build: context: ./docker/sandbox_provisioner dockerfile: Dockerfile - image: yuxi-sandbox-provisioner:${YUXI_VERSION:-0.7.0.beta3} + image: yuxi-sandbox-provisioner:${YUXI_VERSION:-0.7.0} container_name: sandbox-provisioner volumes: - ./docker/volumes/yuxi:/app/saves @@ -179,7 +179,7 @@ services: context: . dockerfile: docker/web.Dockerfile target: development - image: yuxi-web:${YUXI_VERSION:-0.7.0.beta3} + image: yuxi-web:${YUXI_VERSION:-0.7.0} container_name: web-dev volumes: - ./web/src:/app/src diff --git a/docs/.vitepress/theme/components/YuxiHome.vue b/docs/.vitepress/theme/components/YuxiHome.vue index 5137ea81..eb0d3191 100644 --- a/docs/.vitepress/theme/components/YuxiHome.vue +++ b/docs/.vitepress/theme/components/YuxiHome.vue @@ -453,7 +453,7 @@ const vReveal = {
# 1. 克隆并初始化
-git clone --branch v0.7.0.beta3 --depth 1 https://github.com/xerrors/Yuxi.git
+git clone --branch v0.7.0 --depth 1 https://github.com/xerrors/Yuxi.git
 cd Yuxi && ./scripts/init.sh
 
 # 2. 使用 Docker 启动
diff --git a/docs/develop-guides/changelog.md b/docs/develop-guides/changelog.md
index 0bb7e38b..e26e9383 100644
--- a/docs/develop-guides/changelog.md
+++ b/docs/develop-guides/changelog.md
@@ -4,7 +4,7 @@
 
 同一版本的多次功能更新时,应以功能为单位进行更新,比如之前添加了 A 功能的更新,在后续的更新中修复了因 A 功能引入的 bug,那么这个修复说明应该和 A 功能描述放在一起,而不是新增一条修复记录,功能更新同理。
 
-## v0.7.0 (开发中)
+## v0.7.0 (2026-06-13)
 
 ### 破坏性变更
 
@@ -18,7 +18,7 @@
 
 ### 开发记录
 
-- 发布版本号更新至 `0.7.0.beta2`,同步 package、Docker 镜像标签与快速开始分支引用。
+- 发布版本号更新至 `0.7.0`,同步 package、Docker 镜像标签与快速开始分支引用。
 - 新增内置「深度研究」多智能体:编排器 Agent(`deep-research`,ChatbotAgent 后端)负责澄清、拆解、并行调度子智能体与综合成稿,配套两个子智能体 `research-explorer`(围绕单个子问题多轮检索网页/知识库并返回带引用发现)和 `fact-verifier`(对抗式核验关键论断、标注冲突与置信度);完整研究方法论沉淀为新增内置 Skill `deep-research`(依赖 `tavily_search`),编排器运行时读取并据此调度。三者随 `lifespan` 启动通过 `AgentRepository.ensure_deep_research_agents` 幂等落库(已存在不覆盖管理员修改)。
 - 新增内置 `general-purpose` 通用任务子智能体:使用 `SubAgentBackend` 与空运行配置,作为 `task` 工具的通用委派目标,由启动初始化自动写入数据库。
 - 收敛 MCP 创建与编辑入口:前端移除整段配置文本入口和模式切换器,仅保留表单字段提交;后端 MCP 创建/更新请求拒绝额外配置字段,避免绕过表单约束。
diff --git a/docs/intro/quick-start.md b/docs/intro/quick-start.md
index 7988a8b4..61f4c08e 100644
--- a/docs/intro/quick-start.md
+++ b/docs/intro/quick-start.md
@@ -20,7 +20,7 @@
 
 ```bash
 # 克隆最新版本
-git clone --branch v0.7.0.beta3 --depth 1 https://github.com/xerrors/Yuxi.git
+git clone --branch v0.7.0 --depth 1 https://github.com/xerrors/Yuxi.git
 cd Yuxi
 ```
 
@@ -28,7 +28,7 @@ cd Yuxi
 
 | 版本 | 适用场景 |
 |------|----------|
-| v0.7.x | 当前开发版本,包含最新特性 |
+| v0.7.0 | 当前稳定版本,推荐生产使用 |
 | main | 开发版本,包含最新特性(可能不稳定) |
 
 ### 步骤二:配置环境变量
diff --git a/web/package.json b/web/package.json
index 883fd197..2b20ee8f 100644
--- a/web/package.json
+++ b/web/package.json
@@ -1,6 +1,6 @@
 {
   "name": "yuxi-web",
-  "version": "0.7.0.beta3",
+  "version": "0.7.0",
   "private": true,
   "type": "module",
   "scripts": {
diff --git a/web/src/components/AgentChatComponent.vue b/web/src/components/AgentChatComponent.vue
index 1d6ffcda..d698d5a2 100644
--- a/web/src/components/AgentChatComponent.vue
+++ b/web/src/components/AgentChatComponent.vue
@@ -1285,7 +1285,8 @@ const historyConversations = computed(() => {
 
 function getMessageRequestId(message) {
   const metadataRequestId = message?.extra_metadata?.request_id
-  if (typeof metadataRequestId === 'string' && metadataRequestId.trim()) return metadataRequestId.trim()
+  if (typeof metadataRequestId === 'string' && metadataRequestId.trim())
+    return metadataRequestId.trim()
   if (message?.type === 'human' && typeof message.id === 'string' && message.id.trim()) {
     return message.id.trim()
   }
@@ -1341,10 +1342,8 @@ function mergeOngoingUserMessageIntoHistory(historyConvs, ongoingMessages) {
 
 const conversations = computed(() => {
   const historyConvs = historyConversations.value
-  const {
-    historyConvs: mergedHistoryConvs,
-    ongoingMessages: mergedOngoingMessages
-  } = mergeOngoingUserMessageIntoHistory(historyConvs, onGoingConvMessages.value)
+  const { historyConvs: mergedHistoryConvs, ongoingMessages: mergedOngoingMessages } =
+    mergeOngoingUserMessageIntoHistory(historyConvs, onGoingConvMessages.value)
 
   // 如果有进行中的消息且线程状态显示正在流式处理,添加进行中的对话
   if (mergedOngoingMessages.length > 0) {
diff --git a/web/src/components/AgentMessageComponent.vue b/web/src/components/AgentMessageComponent.vue
index 4af9226c..31ec88fe 100644
--- a/web/src/components/AgentMessageComponent.vue
+++ b/web/src/components/AgentMessageComponent.vue
@@ -1,9 +1,9 @@