Skip to content

[Feature] 支持为每个数字员工独立绑定默认模型,并在会话中默认跟随员工配置 #64

Description

@oppsDayly

背景

StaffDeck 可以配置多个大模型,但不同数字员工可能需要使用不同模型。

例如:

  • 图策:使用 GPT-5.5
  • 人事助手:使用 DeepSeek
  • 材料分析员工:使用支持多模态的模型

因此,希望模型配置能够与数字员工绑定,而不是所有数字员工共用当前会话中选择的模型。

当前行为

  1. “编辑数字员工档案”页面没有模型选择项。
  2. 对话页面可以选择模型,但该选择似乎按租户保存在浏览器中。
  3. 切换到另一个数字员工后,仍然会继续使用之前选择的模型。
  4. 前端请求会携带当前选中的 model_config_id,从而覆盖数字员工自己的模型绑定。
  5. 后端已经存在数字员工模型绑定的数据结构和接口,但前端尚未提供完整的配置入口。

复现步骤

  1. 在模型管理中创建模型 A 和模型 B。
  2. 创建两个数字员工。
  3. 打开数字员工档案编辑页面。
  4. 无法为两个数字员工分别选择默认模型。
  5. 在对话页面选择模型 B。
  6. 切换到另一个数字员工。
  7. 新员工仍然使用模型 B,而不是自己的默认模型。

期望行为

数字员工档案

在数字员工编辑页面增加“模型配置”区域,至少可以配置:

  • 默认模型
  • 是否继承系统默认模型

第一阶段只支持数字员工的 default 模型即可,其他阶段模型可以后续作为高级配置开放。

对话页面

模型选择器增加:

  • 跟随数字员工配置(推荐,默认)
  • 临时指定其他模型

选择“跟随数字员工配置”时,前端不应发送请求级 model_config_id,由后端根据数字员工绑定关系选择模型。

建议的优先级

  1. 用户在当前对话中临时指定的模型
  2. 数字员工绑定的默认模型
  3. 租户或系统全局默认模型

验收标准

  • 可以在数字员工档案中查看和修改默认模型
  • 不同数字员工可以绑定不同模型
  • 对话页面默认选择“跟随数字员工配置”
  • 切换数字员工后,能够自动使用新员工绑定的模型
  • 只有用户主动选择模型时,才发送请求级模型覆盖参数
  • 数字员工没有绑定模型时,能够回退到系统默认模型
  • 模型被停用或删除时,有明确提示和回退行为
  • 保留会话级临时切换模型的能力
  • 增加模型选择优先级及员工切换场景的测试

相关代码线索

后端目前已有部分相关能力:

  • backend/app/agents/schema.pyAgentModelBindingInput
  • backend/app/api/agents.py:数字员工模型绑定接口
  • backend/app/agents/branching.pymodel_for_agent
  • backend/app/core/agent_loop.py:请求模型选择逻辑

前端相关位置:

  • frontend-enterprise/src/components/EmployeeProfileEditor.tsx
  • frontend-enterprise/src/pages/chat/chatHelpers.tsx
  • frontend-enterprise/src/pages/chat/useChatSession.ts

补充说明

后端模型绑定角色目前包含 defaultrouterstepresponse
general_skill。建议第一阶段先完整支持 default,其他阶段模型等运行时链路
全部接通后,再作为高级配置开放。

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions