Merge remote-tracking branch 'origin/master' into feat/workflow

# Conflicts:
#	pyproject.toml
#	src/langbot/pkg/api/http/controller/main.py
#	src/langbot/pkg/core/app.py
#	src/langbot/pkg/core/stages/build_app.py
#	src/langbot/pkg/provider/modelmgr/requester.py
#	uv.lock
#	web/package-lock.json
#	web/package.json
#	web/pnpm-lock.yaml
#	web/src/app/home/components/dynamic-form/DynamicFormComponent.tsx
#	web/src/app/home/components/dynamic-form/DynamicFormItemComponent.tsx
#	web/src/app/home/components/home-sidebar/HomeSidebar.tsx
#	web/src/app/infra/entities/api/index.ts
#	web/src/app/infra/http/BackendClient.ts
#	web/src/i18n/locales/en-US.ts
#	web/src/i18n/locales/es-ES.ts
#	web/src/i18n/locales/ja-JP.ts
#	web/src/i18n/locales/ru-RU.ts
#	web/src/i18n/locales/th-TH.ts
#	web/src/i18n/locales/vi-VN.ts
#	web/src/i18n/locales/zh-Hans.ts
#	web/src/i18n/locales/zh-Hant.ts
#	web/src/router.tsx
This commit is contained in:
RockChinQ
2026-07-01 20:33:05 +08:00
773 changed files with 84040 additions and 16377 deletions
+335 -7
View File
@@ -47,6 +47,14 @@ stages:
label:
en_US: Langflow API
zh_Hans: Langflow API
- name: weknora-api
label:
en_US: WeKnora API
zh_Hans: WeKnora API
- name: deerflow-api
label:
en_US: DeerFlow API
zh_Hans: DeerFlow API
- name: expire-time
label:
en_US: Conversation expire time (seconds)
@@ -110,16 +118,96 @@ stages:
default:
- role: system
content: "You are a helpful assistant."
- name: knowledge-bases
- name: box-session-id-template
label:
en_US: Knowledge Bases
zh_Hans: 知识库
en_US: Sandbox Scope
zh_Hans: 沙箱作用域
zh_Hant: 沙箱作用域
ja_JP: サンドボックススコープ
vi_VN: Phạm vi Sandbox
th_TH: ขอบเขต Sandbox
es_ES: Alcance del Sandbox
ru_RU: Область песочницы
description:
en_US: Configure the knowledge bases to use for the agent, if not selected, the agent will directly use the LLM to reply
zh_Hans: 配置用于提升回复质量的知识库,若不选择,则直接使用大模型回复
type: knowledge-base-multi-selector
en_US: Determines how sandbox environments are shared across messages.
zh_Hans: 决定沙箱环境在不同消息间的共享方式。
zh_Hant: 決定沙箱環境在不同訊息間的共享方式。
ja_JP: メッセージ間でサンドボックス環境を共有する方法を決定します。
vi_VN: Xác định cách chia sẻ môi trường sandbox giữa các tin nhắn.
th_TH: กำหนดวิธีแชร์สภาพแวดล้อม Sandbox ระหว่างข้อความ
es_ES: Determina cómo se comparten los entornos sandbox entre mensajes.
ru_RU: Определяет, как песочницы используются совместно между сообщениями.
disable_if:
field: __system.box_scope_editable
operator: eq
value: false
disabled_tooltip:
en_US: >-
Sandbox scope can't be changed: either the Box sandbox is disabled
or unavailable (enable it in config.yaml with box.enabled = true and
ensure the runtime is reachable), or this deployment pins all
pipelines to a fixed scope.
zh_Hans: "无法修改沙箱作用域:Box 沙箱已禁用或不可用(请在配置中启用 box.enabled = true 并确认运行时连接正常),或本部署已将所有流水线固定为统一作用域。"
zh_Hant: "無法修改沙箱作用域:Box 沙箱已停用或無法使用(請在設定中啟用 box.enabled = true 並確認執行時連線正常),或本部署已將所有流水線固定為統一作用域。"
ja_JP: "サンドボックススコープを変更できません:Box サンドボックスが無効/利用不可(設定で box.enabled = true にしてランタイム接続を確認)、またはこのデプロイがすべてのパイプラインを固定スコープに制限しています。"
vi_VN: "Không thể thay đổi phạm vi sandboxBox sandbox bị tắt hoặc không khả dụng (bật box.enabled = true và đảm bảo runtime hoạt động), hoặc bản triển khai này cố định mọi pipeline về một phạm vi."
th_TH: "ไม่สามารถเปลี่ยนขอบเขต Sandbox:Box sandbox ถูกปิดหรือไม่พร้อมใช้งาน (เปิด box.enabled = true และตรวจสอบรันไทม์) หรือการ deploy นี้ล็อกทุก pipeline ไว้ที่ขอบเขตเดียว"
es_ES: "No se puede cambiar el alcance del sandbox: el sandbox de Box está desactivado o no disponible (actívelo con box.enabled = true y verifique el runtime), o este despliegue fija todas las pipelines a un alcance único."
ru_RU: "Невозможно изменить область песочницы: песочница Box отключена или недоступна (включите box.enabled = true и проверьте среду выполнения), либо это развёртывание фиксирует единую область для всех конвейеров."
type: select
required: false
default: []
default: "{launcher_type}_{launcher_id}"
options:
- name: "{global}"
label:
en_US: Global (shared by all)
zh_Hans: 全局(所有人共享)
zh_Hant: 全域(所有人共用)
ja_JP: グローバル(全員共有)
vi_VN: Toàn cục (chia sẻ cho tất cả)
th_TH: ทั่วไป (แชร์ทั้งหมด)
es_ES: Global (compartido por todos)
ru_RU: Глобальный (общий для всех)
- name: "{launcher_type}_{launcher_id}"
label:
en_US: Per chat (Recommended)
zh_Hans: 每个会话(推荐)
zh_Hant: 每個會話(推薦)
ja_JP: チャットごと(推奨)
vi_VN: Mỗi cuộc trò chuyện (Khuyến nghị)
th_TH: ต่อแชท (แนะนำ)
es_ES: Por chat (Recomendado)
ru_RU: По чату (Рекомендуется)
- name: "{launcher_type}_{launcher_id}_{sender_id}"
label:
en_US: Per user in chat
zh_Hans: 会话中每个用户
zh_Hant: 會話中每個用戶
ja_JP: チャット内のユーザーごと
vi_VN: Mỗi người dùng trong cuộc trò chuyện
th_TH: ต่อผู้ใช้ในแชท
es_ES: Por usuario en chat
ru_RU: По пользователю в чате
- name: "{launcher_type}_{launcher_id}_{conversation_id}"
label:
en_US: Per conversation context
zh_Hans: 每个对话上下文
zh_Hant: 每個對話上下文
ja_JP: 会話コンテキストごと
vi_VN: Mỗi ngữ cảnh hội thoại
th_TH: ต่อบริบทการสนทนา
es_ES: Por contexto de conversación
ru_RU: По контексту разговора
- name: "{query_id}"
label:
en_US: Per message (isolated)
zh_Hans: 每条消息(完全隔离)
zh_Hant: 每條訊息(完全隔離)
ja_JP: メッセージごと(隔離)
vi_VN: Mỗi tin nhắn (cách ly)
th_TH: ต่อข้อความ (แยกส่วน)
es_ES: Por mensaje (aislado)
ru_RU: По сообщению (изолированно)
show_if:
field: __system.is_wizard
operator: neq
@@ -152,6 +240,34 @@ stages:
field: rerank-model
operator: neq
value: ''
- name: tools
label:
en_US: Tools
zh_Hans: 工具
description:
en_US: Select plugin, MCP, skill, and built-in tools available to this Local Agent.
zh_Hans: 选择此内置 Agent 可以调用的插件、MCP、技能和内置工具。
type: rich-tools-selector
required: false
default: []
show_if:
field: __system.is_wizard
operator: neq
value: true
- name: knowledge-bases
label:
en_US: Resources
zh_Hans: 资源
description:
en_US: Select MCP resources and knowledge bases available to this Local Agent.
zh_Hans: 选择此内置 Agent 可以读取的 MCP 资源和知识库。
type: resources-selector
required: false
default: []
show_if:
field: __system.is_wizard
operator: neq
value: true
- name: dify-service-api
label:
en_US: Dify Service API
@@ -560,3 +676,215 @@ stages:
type: json
required: false
default: '{}'
- name: weknora-api
label:
en_US: WeKnora API
zh_Hans: WeKnora API
description:
en_US: Configure the WeKnora API of the pipeline
zh_Hans: 配置 WeKnora API
config:
- name: base-url
label:
en_US: Base URL
zh_Hans: 基础 URL
description:
en_US: The base URL of the WeKnora server (with /api/v1)
zh_Hans: WeKnora 服务器的基础 URL(包含 /api/v1
type: string
required: true
default: 'http://localhost:8080/api/v1'
- name: api-key
label:
en_US: API Key
zh_Hans: API 密钥
description:
en_US: The API key for WeKnora, generated from WeKnora frontend Settings → API Keys
zh_Hans: WeKnora 的 API 密钥,从 WeKnora 前端 设置 → API Keys 生成
type: string
required: true
default: ''
- name: app-type
label:
en_US: App Type
zh_Hans: 应用类型
type: select
required: true
default: agent
options:
- name: agent
label:
en_US: Agent (Smart Reasoning)
zh_Hans: Agent(智能推理)
- name: chat
label:
en_US: Chat (Knowledge Base RAG)
zh_Hans: 聊天(知识库 RAG
- name: agent-id
label:
en_US: Agent ID
zh_Hans: 智能体 ID
description:
en_US: The Agent ID to use. Built-in agents include builtin-quick-answer, builtin-smart-reasoning, builtin-data-analyst
zh_Hans: 要使用的智能体 ID。内置智能体:builtin-quick-answer、builtin-smart-reasoning、builtin-data-analyst
type: string
required: true
default: 'builtin-smart-reasoning'
- name: knowledge-base-ids
label:
en_US: Knowledge Base IDs
zh_Hans: 知识库 ID 列表
description:
en_US: List of WeKnora knowledge base IDs to use (one per line)
zh_Hans: 要使用的 WeKnora 知识库 ID 列表(每行一个)
type: array
required: false
default: []
- name: web-search-enabled
label:
en_US: Enable Web Search
zh_Hans: 启用网络搜索
description:
en_US: Whether to enable web search in agent mode
zh_Hans: 在 Agent 模式下是否启用网络搜索
type: boolean
required: false
default: false
- name: timeout
label:
en_US: Timeout
zh_Hans: 超时时间
description:
en_US: Request timeout in seconds
zh_Hans: 请求超时时间(秒)
type: integer
required: false
default: 120
- name: base-prompt
label:
en_US: Base Prompt
zh_Hans: 基础提示词
description:
en_US: Default prompt when user message is empty (e.g. only images)
zh_Hans: 当用户消息为空(例如仅图片)时使用的默认提示词
type: string
required: false
default: '请回答用户的问题。'
- name: deerflow-api
label:
en_US: DeerFlow API
zh_Hans: DeerFlow API
description:
en_US: Configure the DeerFlow LangGraph API of the pipeline
zh_Hans: 配置 DeerFlow LangGraph API
config:
- name: api-base
label:
en_US: API Base URL
zh_Hans: API 基础 URL
description:
en_US: The base URL of the DeerFlow server (e.g. http://127.0.0.1:2026)
zh_Hans: DeerFlow 服务器的基础 URL(例如 http://127.0.0.1:2026
type: string
required: true
default: 'http://127.0.0.1:2026'
- name: api-key
label:
en_US: API Key
zh_Hans: API 密钥
description:
en_US: Optional API key for DeerFlow (leave empty if not required)
zh_Hans: DeerFlow 的 API 密钥(如果不需要可留空)
type: string
required: false
default: ''
- name: auth-header
label:
en_US: Auth Header Name
zh_Hans: 鉴权请求头名称
description:
en_US: Custom auth header name. Leave empty to use "x-api-key"
zh_Hans: 自定义鉴权请求头名称,留空则使用 "x-api-key"
type: string
required: false
default: ''
- name: assistant-id
label:
en_US: Assistant ID
zh_Hans: 助手 ID
description:
en_US: The DeerFlow assistant/graph id (default lead_agent)
zh_Hans: DeerFlow 助手/图 ID(默认 lead_agent
type: string
required: true
default: 'lead_agent'
- name: model-name
label:
en_US: Model Name
zh_Hans: 模型名称
description:
en_US: Optional model override forwarded to DeerFlow configurable
zh_Hans: 可选的模型名称覆盖,会作为 configurable 转发给 DeerFlow
type: string
required: false
default: ''
- name: thinking-enabled
label:
en_US: Enable Thinking
zh_Hans: 启用思考
description:
en_US: Whether to enable DeerFlow thinking mode
zh_Hans: 是否启用 DeerFlow 思考模式
type: boolean
required: false
default: false
- name: plan-mode
label:
en_US: Plan Mode
zh_Hans: 规划模式
description:
en_US: Whether to enable DeerFlow plan mode
zh_Hans: 是否启用 DeerFlow 规划模式
type: boolean
required: false
default: false
- name: subagent-enabled
label:
en_US: Enable Subagents
zh_Hans: 启用子代理
description:
en_US: Whether to enable parallel subagent execution
zh_Hans: 是否启用并行子代理执行
type: boolean
required: false
default: false
- name: max-concurrent-subagents
label:
en_US: Max Concurrent Subagents
zh_Hans: 最大并发子代理数
description:
en_US: Maximum number of concurrent subagents (only effective when subagents are enabled)
zh_Hans: 最大并发子代理数(仅在启用子代理时生效)
type: integer
required: false
default: 3
- name: timeout
label:
en_US: Timeout
zh_Hans: 超时时间
description:
en_US: Request timeout in seconds (DeerFlow runs may take a long time)
zh_Hans: 请求超时时间(秒),DeerFlow 运行可能耗时较长
type: integer
required: false
default: 300
- name: recursion-limit
label:
en_US: Recursion Limit
zh_Hans: 递归上限
description:
en_US: LangGraph recursion limit for a single run
zh_Hans: 单次运行的 LangGraph 递归上限
type: integer
required: false
default: 1000