diff --git a/README.en.md b/README.en.md
index 409577ae..4b83df9c 100644
--- a/README.en.md
+++ b/README.en.md
@@ -8,7 +8,7 @@
[](https://github.com/xerrors/Yuxi/blob/main/LICENSE)
[](https://deepwiki.com/xerrors/Yuxi)
[](https://zread.ai/xerrors/Yuxi)
-[](https://www.bilibili.com/video/BV1DF14BTETq/)
+[](https://www.bilibili.com/video/BV1TZEx6NEit/)
diff --git a/README.md b/README.md
index 3b65b0ee..575960c8 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@
[](https://github.com/xerrors/Yuxi/issues)
[](https://github.com/xerrors/Yuxi/blob/main/LICENSE)
[](https://deepwiki.com/xerrors/Yuxi)
-[](https://www.bilibili.com/video/BV1DF14BTETq/)
+[](https://www.bilibili.com/video/BV1TZEx6NEit/)
diff --git a/backend/package/yuxi/agents/buildin/chatbot/prompt.py b/backend/package/yuxi/agents/buildin/chatbot/prompt.py
index 24931012..e60dc932 100644
--- a/backend/package/yuxi/agents/buildin/chatbot/prompt.py
+++ b/backend/package/yuxi/agents/buildin/chatbot/prompt.py
@@ -46,6 +46,7 @@ SOURCE_CITE_PROMPT = """
TODO_MID_PROMPT = """
你需要根据任务的复杂程度来使用 write_todos 来记录规划和待办事项,确保任务的每个步骤都被记录和跟踪。
+每个待办任务名称必须简短,控制在 20 个中文汉字以内。
"""
diff --git a/backend/server/routers/model_provider_router.py b/backend/server/routers/model_provider_router.py
index 9ddbddf3..bcf483d9 100644
--- a/backend/server/routers/model_provider_router.py
+++ b/backend/server/routers/model_provider_router.py
@@ -205,6 +205,7 @@ async def refresh_model_cache(
async def get_v2_models(
model_type: str = "chat",
_current_user: User = Depends(get_required_user),
+ db: AsyncSession = Depends(get_db),
):
"""获取 v2 格式的模型列表,按 provider 分组。
@@ -214,10 +215,16 @@ async def get_v2_models(
from yuxi.models.providers.cache import model_cache
grouped = model_cache.get_specs_grouped_by_provider(model_type)
+ providers = await get_all_model_providers(db)
+ provider_name_by_id = {
+ provider.provider_id: provider.display_name or provider.provider_id for provider in providers
+ }
result = {}
for provider_id, models in grouped.items():
result[provider_id] = {
+ "provider_id": provider_id,
+ "provider_display_name": provider_name_by_id.get(provider_id, provider_id),
"models": [
{
"spec": m.spec,
diff --git a/docs/.vitepress/theme/components/YuxiHome.vue b/docs/.vitepress/theme/components/YuxiHome.vue
index 66221d92..cf9c8c9f 100644
--- a/docs/.vitepress/theme/components/YuxiHome.vue
+++ b/docs/.vitepress/theme/components/YuxiHome.vue
@@ -3,7 +3,7 @@ import { ref, computed } from 'vue'
import { withBase } from 'vitepress'
const GITHUB = 'https://github.com/xerrors/Yuxi'
-const DEMO = 'https://www.bilibili.com/video/BV1DF14BTETq/'
+const DEMO = 'https://www.bilibili.com/video/BV1TZEx6NEit/'
// 关键数字(占位,后续替换为真实数据)
const stats = [
@@ -126,7 +126,7 @@ const shots = [
{ title: '对话工作台', desc: '类 ChatGPT 的智能体对话与产物交付' },
{ title: '智能体配置', desc: '挂载 Skills / MCP / 子智能体与中间件' },
{ title: '知识图谱可视化', desc: '实体关系抽取与子图检索展示' },
- { title: '拓展管理', desc: '统一管理 Skills 与 MCP 服务' }
+ { title: '智能体拓展', desc: '统一管理 Skills 与 MCP 服务' }
]
// 企业级
@@ -225,7 +225,7 @@ const vReveal = {
diff --git a/docs/develop-guides/changelog.md b/docs/develop-guides/changelog.md
index 06c34b91..547214f2 100644
--- a/docs/develop-guides/changelog.md
+++ b/docs/develop-guides/changelog.md
@@ -53,6 +53,7 @@
- 工作区知识库分类显示:知识库侧边栏按创建者分组为“我的知识库”和“共享知识库”,自己创建的知识库显示在“我的知识库”下,非自己创建的显示在“共享知识库”下;`knowledge_bases` 表新增 `created_by` 字段记录创建者 uid。
- 工作区文件上传支持多选:`/workspace/upload` 与 Viewer 工作区上传统一使用 `files` 多文件字段,一次最多上传 50 个文件,批量上传失败时清理本次已写入文件。
- 聊天附件新增 MinIO tmp 临时上传、可选 PDF/图片解析、确认后加入线程附件的流程;前端改为弹窗内上传、解析与确认。
+- 优化智能体对话页细节:状态面板隐藏空 section,待办名称限制为 20 个中文汉字以内,模型选择器展示供应商名称,并收紧附件状态标签与文件编辑浮动操作样式。
- 标准化 Agent run/SSE 执行链路:run 创建时持久化输入消息并提交后入队,worker 统一写入 Redis Stream envelope,SSE 输出 `event/data/id`、心跳注释、`Last-Event-ID` 回放和终止 `end` 事件;前端强制使用 run API 并支持 ask_user_question 中断后以 resume run 恢复;事件 envelope 构造收敛到统一 helper,前端优先使用 envelope 一级 `thread_id` 路由。
- Agent run SSE 新增 `verbose=false` 精简模式:默认仍返回完整事件载荷;精简模式仅在 SSE 输出前重建最小 payload,跳过 `metadata` 和空 `yuxi.agent_state`,将同一 data 内的 `request_id` 外提为单个字段,移除 chunk 中重复的 `meta`、`metadata`、`thread_id`、`response`、空 `namespace` 和图片 base64 等调试字段,保留消息增量、工具调用、工具结果、非空 Agent state、终止状态和 SSE 游标,前端订阅默认使用精简模式。
- 收敛后端模块边界:文档解析从 `plugins.parser` 移动到 `knowledge.parser`,内容审查从 `plugins.guard` 移动到 `services.guard`。
diff --git a/docs/develop-guides/roadmap.md b/docs/develop-guides/roadmap.md
index 9c4775fc..a4d8f7c8 100644
--- a/docs/develop-guides/roadmap.md
+++ b/docs/develop-guides/roadmap.md
@@ -13,6 +13,7 @@
- [ ] 调研将当前知识库映射为虚拟文件系统的可行性,先明确文件树映射、权限边界、内容读取与 Agent 工具调用形态,再决定是否实现
- [ ] 增强知识库检索体验:增强 metadata、标签等
- [ ] 优化思维导图构建的接口设计,支持增量构建和更新
+- [ ] 个人工作区增加可检索能力(但是不做向量化)
**智能体**
@@ -25,6 +26,7 @@
- [ ] 添加 Agent 独立调用接口,方便后续评估使用
**其他**
+- [ ] 历史对话新增分组(或者叫做项目)
- [ ] 集成 Memory,基于 deepagents 的文件后端实现,需要考虑定位
**仅设想**
diff --git a/web/src/components/AgentChatComponent.vue b/web/src/components/AgentChatComponent.vue
index da5f7522..789065d5 100644
--- a/web/src/components/AgentChatComponent.vue
+++ b/web/src/components/AgentChatComponent.vue
@@ -221,6 +221,7 @@