44 Commits

Author SHA1 Message Date
e03e1fa213 fix(agent-chat): 确认框显示工具名+参数摘要——旧实现只读command字段致apply类工具显示空命令被迫盲确认 2026-09-05 21:25:49 +08:00
523ddf451d fix(isolation): 通用会话剔除shell类工具+上传落专属目录
- load_agent_config generic 时剔除 category=shell(run_command 无法圈禁在工作目录内,
  拿到即可遍历整个工作空间枚举各产线项目——第6层泄漏的 schema 层防线)
- upload_tools.resolve_upload_dir 加 generic 参数:通用会话上传落 _general/{uid}
  专属目录,与 AgentExecutor 文件根一致
- agent_chat_generic.dspy: 上传解析传 generic=True
2026-09-05 15:21:51 +08:00
d0ff880848 fix(agent): 完毕行样式改平铺color(bricks嵌套style无效铁律) 2026-09-05 11:07:16 +08:00
95824fb732 feat(agent): 对话应答结束后追加完毕行(Text otext+i18n,词条见pipeline-app/i18n/*/i18n.json) 2026-09-05 10:59:02 +08:00
0d5c5ea00f refactor(llm): 模型选择收敛到模型治理模块——agent_model_options改薄壳委托;旧llm CRUD(json/models/wwwroot/llm+init.py函数)删除;agent_config缺省模型名清空(交机构策略);llm_v1端点委托统一推理引擎 2026-09-04 17:05:00 +08:00
d05571cc96 fix: list_messages/模型下拉产线隔离缺口
- list_messages原无过滤返回全表→按user+session+pipeline过滤(跨产线/跨用户泄漏)
- agent_model_options接收pipeline_id并传给get_session_project_id,防跨产线项目劫持模型选中态
2026-09-02 19:05:33 +08:00
20250b326b feat(项目管理): GENERAL_TOOLS 5个项目管理工具定义(终止/删除类需确认)+停止词拦截放行项目指令+project技能安全规范
- agent_config: project_info/list_my_projects/pause/resume/delete_project 定义,后三者标requires_confirmation
- agent_chat.dspy: 停止词拦截排除含项目词指令(否则'终止项目'到不了agent)
- project SKILL.md: 会话agent项目管理安全铁律(代码层校验人类owner)
2026-09-01 11:51:49 +08:00
ymq
e598665b8e fix(upload): 上传截断显式告知+generic补文件处理 2026-08-31 21:22:41 +08:00
5955232ed5 fix(menu): require_project判断从渲染时移到点击时——切项目后菜单按钮不再永远报无项目
- agent_menus: 删除渲染时固化的报错脚本绑定,require_project/session_id/pipeline_id
  作为参数传给 agent_menu_open,点击时实时校验
- agent_menu_open: 点击时实时查会话项目(含产线隔离),无项目才提示切换
- 根治:页面加载时未切项目→按钮写死报错脚本→切了项目仍报「请先在会话中切换项目」
2026-08-31 18:38:55 +08:00
776e583be2 fix(upload): 会话上传文件复制进项目根目录+prompt告知路径——根治agent找不到上传文件 2026-08-31 17:54:27 +08:00
ymq
c848bda300 fix(generic): agent_chat_generic 透传前端模型选择 model_id 2026-08-30 15:07:35 +08:00
337a4c6f90 fix(model-select): 下拉值改llm.id显示llm.name——同名不同供应商不再合并 2026-08-30 09:49:38 +08:00
032fd853ee fix: agent_menus产线隔离——跨产线项目不劫持本产线菜单; 工作空间按钮带产线参数 2026-08-29 15:00:21 +08:00
34a13ebf37 refactor(pipeline_core): 移除产线管理三功能(产线定义/产线步骤/发布记录)死库存
- 证据: pipeline_steps、pipeline_versions 表恒为0行, 三功能上线后从未使用
- 产线定义已收敛为代码能力包(PipelineAbility)+pipelines表元数据,
  页面无法定义新能力(每种能力需先写代码注册handler), 在线开发属伪命题
- 删除: wwwroot 下 pipelines/pipeline_steps/pipeline_versions/pipeline_editor
  页面目录与配套 API dspy、json/models CRUD 定义、init.py 死函数、
  load_path.py 权限注册
- 保留: pipelines 表(agent 运行时读 name/default_model)、executor 引擎、
  agent/llm/skill_proposals 等模块主体
2026-08-28 16:34:02 +08:00
1c4b158a3f feat(agent): 会话模型选择持久化——agent_chat 传 model_id、下拉按项目模型选中
- agent_chat.dspy: 提取前端 model_id 传给 gateway.run_message(校验+持久化到项目)
- agent_model_options.dspy: selected 标记=当前项目已设模型(按 session_id 解析,
  无项目回退个人全局)——下拉每次打开都恢复项目当前模型,不回退首项
- agent/index.ui: 模型下拉带 session_id(多 tab 各自项目,下拉解析对的项目)
2026-08-28 12:26:18 +08:00
b5c7dd3f44 fix(agent_menus): 项目解析收敛到 get_session_project_id(含悬空引用防护)
不再手写 session→项目解析(与解析层语义漂移是「会话有项目、入口说没有」的根因之一)
2026-08-27 17:44:38 +08:00
ymq
f5689defa8 feat(agent): 会话入口支持 pipeline_id 传参(默认产线) 2026-08-27 13:12:45 +08:00
717651f4ab fix(llm-proxy): get_userorgid 是 async,补 await(否则 coroutine str 化超长 DataError 1406) 2026-08-25 14:13:45 +08:00
7c57550277 feat(llm-proxy): OpenAI 兼容代理端点 + token 签发/吊销/列表 dspy 2026-08-25 14:11:42 +08:00
7842d2570f feat(agent): 工作空间控件按会话传递session_id
- agent_menus.dspy 按 session 解析项目 + 工作空间按钮URL拼 session_id
- index.ui 默认tab/新建会话 tab 的 agent_menus urlwidget 带 session_id
2026-08-24 16:40:49 +08:00
023b2c6145 feat: 技能 publish 落点按 org_id 分流——组织自有规范落 org scope
机构技能层架构配套:技能提议 publish 时按提案 org_id 决定落点——
org_id='0'(ocai/平台)写 global(所有组织缺省共享);org_id≠'0' 写
skills/orgs/{org_id}/(组织自有开发规范,经 get_merged 的 org 缺省继承
+ 组织覆盖机制,该组织项目角色可见且覆盖 ocai 同名)。
2026-08-23 21:43:04 +08:00
349752b473 feat(agent): 产线功能菜单按 require_project 标记,无会话当前项目时点击报错 2026-08-22 18:55:00 +08:00
b9998ed00d refactor(skill): 单一技能树——七级 scope 全在全局 skills/ 下,去掉 ensure_org_skills 复制副本
- skill_loader: 加 project_common scope(projects/ 项目通用,不分 project_id) + project 私有改挂 orgs/{org_id}/{project_id}/,SCOPE_PRIORITY 七级
- skill_pack: ensure_org_skills 去复制逻辑改薄封装返回 get_skills_base(),删 _sync_tree/get_org_skills_dir dead code
- skill_pack.dspy/skill_proposals.dspy: base_dir 改全局 skills/,删同步所有机构循环
2026-08-21 19:18:45 +08:00
03745f38e9 feat(agent): 开发产线多会话 TabPanel + 新建会话按钮 2026-08-20 17:39:34 +08:00
ad2459b073 feat: agent 会话危险命令确认提示新增「全部确认」选项 2026-08-19 14:09:27 +08:00
65f547c400 fix: agent_chat 传 base_url 给 gateway(/task 弹窗 url 完整化) 2026-08-18 12:53:56 +08:00
195551261f fix: agent_chat.dspy reply 里 widget JSON 顶层透传(/task 弹窗渲染) 2026-08-18 12:42:11 +08:00
f842d2e70f feat(llm): agent模型下拉返回个人选择selected标记 2026-08-17 13:31:05 +08:00
ae7c55db48 fix(llm): 模型下拉严格本机构隔离 2026-08-17 13:22:26 +08:00
1254ff8d96 feat(llm): agent模型下拉按org_id过滤 2026-08-17 12:18:35 +08:00
17ad169829 refactor(team-communication): 移除配置表,规范改为 skill
团队角色/问题类型/冒泡路径不再用 DB 表 + CRUD,改为 team-communication skill
(产线默认规范,项目可覆盖):
- 删 pipeline_team_roles/pipeline_problem_types 两表 model+json+api dspy
- 回退 pipeline_core/init.py CRUD 函数 + load_path.py 路段
- 重写 team-communication SKILL.md 为分层可覆盖规范文档
2026-08-16 22:08:01 +08:00
ff02533cb6 feat(team-communication): 团队沟通配置 — 团队角色(+agentid) + 问题类型(冒泡路径)
新增通用问题冒泡的数据模型与配置 CRUD:
- models/json: pipeline_team_roles(角色+agentid,多agent区分) + pipeline_problem_types(escalation_path)
- pipeline_core/init.py: _simple_crud 通用 CRUD + 6 个 create/update/delete 注册
- wwwroot/api: 6 个 dspy 端点
- scripts/load_path.py: RBAC 路径
- skills_library/all/team-communication/SKILL.md: 团队沟通技能
2026-08-16 21:25:38 +08:00
670e73d8e5 fix: 菜单按钮查询参数不预先 urlencode,避免前端双重编码
bricks_fetch 的 url_parse 会把 url 查询参数提取后 encodeURIComponent 再编码一次,
dspy 里若已 urlencode 则 title(emoji/中文)被双重编码成 %F0%9F... 明文。
改为直接拼原始值,由前端统一编码一次。
2026-08-16 19:29:19 +08:00
34f4c5b79c fix: 菜单按钮 url 用 entire_url 生成绝对路径,避免前端 absurl 相对路径拼接错误
agent_menus.dspy 按钮 url 原用相对路径(/pipeline_core/api/...),前端 absurl 对
以 / 开头的 url 拼接产生 /pipeline_core/api//pipeline-sdlc/... 双斜杠错误。
改用 entire_url() 生成绝对 URL(与 agent/index.ui 的 ability_menu 一致)。
2026-08-16 19:24:56 +08:00
08f628dba1 feat: 技能提议管理(skill_proposals表+管理API+列表UI+界面)+agent自省propose_skill工具 2026-08-16 19:16:52 +08:00
6daac16190 fix: agent会话dspy加confirm事件处理分支(友好提示而非原始JSON) 2026-08-16 18:52:52 +08:00
085623f700 fix: 功能弹窗尺寸改width/height百分比(85%/80%),cwidth/cheight字符单位太小 2026-08-16 18:41:19 +08:00
b886bf8623 fix: agent_menu_open弹窗urlwidget用entire_url包裹(修复相对路径拼错500) 2026-08-16 18:39:02 +08:00
b62390ccde feat: 功能菜单按钮改urlwidget事件+通用弹窗agent_menu_open控制大小+固定工作空间按钮 2026-08-16 18:34:10 +08:00
6b81f8dc50 feat: 纯通用会话入口(agent_chat_generic+agent_generic界面,无产线插件) 2026-08-16 18:02:41 +08:00
73c41e832f feat: 技能检索LLM化(get_skill_catalog+按名构建)+PipelineAbility.menus产线功能菜单+agent_menus.dspy+agent界面菜单栏 2026-08-16 17:19:47 +08:00
5ff1358116 feat: 多租户隔离-技能运行时目录改机构工作目录(ensure_org_skills从全局模板复制) 2026-08-16 15:51:32 +08:00
bf5d12a389 feat: pipeline-core通用会话agent(AgentIO界面+agent_chat.dspy+模型选项)+skill_pack选装API 2026-08-16 15:20:21 +08:00
d9a1903d7a feat: pipeline-app独立产线后端服务
3个业务模块:
- pipeline_core: 产线定义(pipelines/steps/versions)
- pipeline_ops: 运营(定价/供应量/使用记录)
- pipeline_dist: 分销(分销商/独立定价/API密钥)

- ahserver独立部署(端口9090)
- 独立数据库pipeline
- 80个文件, 符合module/db-table/crud三规范
2026-08-03 16:09:55 +08:00