12 Commits

Author SHA1 Message Date
ymq
9ec38df6b4 feat(gateway): 会话模型选择持久化到项目——设置后持续生效直到再次选择
问题:项目选择模型后不持久化,每次进入会话都回退固定缺省值。
根因:前端模型下拉的 model_id 后端不消费;无项目级模型存储;
     会话只读用户全局 default_llm_id,sd_projects.default_model 无写入路径。

修复(通用层,所有产线共用):
- resolve_project 读出 sd_projects.default_model(项目级、跨会话持久)
- run_message 新增 model_id 参数:_resolve_and_persist_model 校验
  (兼容 llm.id/llm.model_id 两种取值 + 多租户隔离)后持久化到项目
- 模型优先级:本次显式选择 > 项目已设 > 个人全局 > 产线默认
  (个人全局从压过一切降为兜底,项目设置不再被全局覆盖)
2026-08-28 12:26:18 +08:00
ymq
09f8b85f66 feat(gateway): run_message/AgentExecutor 支持 default_pipeline_id
无当前项目时按入口指定产线装载能力(替代硬回退 sdlc_general)。
投标产线会话入口传 bidding_general 即可复用通用 agent 多 session 界面。
2026-08-27 13:12:34 +08:00
ymq
f8fef7a7d5 feat(session): 当前项目按会话隔离(session_id),多tab各自项目互不覆盖
- workspace.get_session_project_id: 按 session_id 读 pipeline_session_settings,回退全局
- get_workspace_dir/get_workspace_path 支持 session_id 参数
- gateway.resolve_project 按会话解析 pid(default_llm 仍按用户全局)
- _persist_project: 有 session_id 时写 pipeline_session_settings + 全局兜底
2026-08-24 16:40:42 +08:00
ymq
8bc1b4e571 feat(session): gateway/executor 支持 session_id 多会话隔离
web 多 tab 独立会话:run_message 加 session_id,会话 key 从 channel:user_id
扩展为 channel:user_id:session_id(空则向后兼容单会话);AgentExecutor 历史
加载/保存按 session_id 隔离,空则回退 project 级隔离。
2026-08-20 17:38:18 +08:00
ymq
41232c8295 feat: 危险命令确认改为会话级——保留单次确认,新增「全部确认」选项(approve_all)授权后本会话不再询问 2026-08-19 14:09:27 +08:00
ymq
7787898456 feat(project-space): 项目空间隔离——通用助手('general')与专业产线(pipeline_id)项目空间不共享
- workspace.build_workspace_path: {base}/{org}/{space}/{name},重名追加短ID
- get_workspace_dir 兜底路径加空间段
- AgentExecutor 加 generic 标志派生 self.space;create_project/switch_project 按空间过滤
- gateway 传 generic
2026-08-19 11:38:23 +08:00
ymq
6add7ff4fa fix: /task 弹窗 widget url 用 base_url 拼完整绝对路径(前端 absurl 需完整 URL) 2026-08-18 12:53:55 +08:00
ymq
bb29d6d634 fix(gateway): resolve_project 改两步查询避免 JOIN 触发 collation 冲突 2026-08-17 13:33:28 +08:00
ymq
286f0cb4dd feat(llm): 个人选择模型(default_llm_id)接入会话agent+org_id改用户机构优先 2026-08-17 13:31:04 +08:00
ymq
0bc3587a75 fix: generic模式传generic给load_agent_config(真不装产线能力) 2026-08-16 18:04:28 +08:00
ymq
6e61dbbbb9 feat: gateway.run_message加generic参数(纯通用模式跳过resolve_project+不装产线能力) 2026-08-16 18:02:42 +08:00
ymq
2cdd3cb986 feat: gateway服务层(统一消息入口+会话生命周期+通道注册)+AgentIO适配走gateway 2026-08-15 10:02:54 +08:00