69 Commits

Author SHA1 Message Date
f5cf90eb17 feat(core): 产线流程裁剪声明层——FlowStage dataclass(key/label/trim三级no-warn-yes/warn_note/roles/deps)+PipelineAbility.flow_stages字段+get_flow_stages/flow_stage_to_dict;新增all/flow-plan通用技能(裁剪概念+确认门禁+PM复杂度拆解规范,capability=flow_plan_capability);投标bid-workflow/bid-orchestration/agent.pm技能补裁剪与拆解说明 2026-09-11 12:58:26 +08:00
b399663863 feat(agent): 五级作用域工具解析+patch_file+原生视觉上传构造
1. tool_sources.py(新): global/org/pipeline/role/project 五级工具作用域解析
   - 策略表 pipeline_tool_policies allow/deny(配套 models+CRUD json)
   - capability 两层语义: 映射手册(all/概念技能,含global层) + 声明注入
     (仅org/pipeline/role/project/user层)——防 generic 会话经 global 概念
     技能拿到~70个产线工具,击穿七层隔离(单测 29/29 含此回归)
   - role 白名单是过滤器非添加器,且作用于 base+capability 全集
2. agent_config: GENERAL_TOOLS 加 patch_file(定点替换,唯一性校验);
   write_file 描述引导改文件优先用 patch_file
3. upload_tools: is_image + build_image_parts(OpenAI多模态data URL,
   8MB/张+4张/条上限,超限显式告知不静默丢)
4. agent_chat/agent_chat_generic: 图片分流不进文本上下文,
   image_paths 传 gateway
5. load_path: 策略管理页注册
2026-09-10 18:36:06 +08:00
62c39ffe3f feat(agent): 记忆多租户隔离+memory/manage_skill/process/subagent工具对齐Hermes
- memory_store: org_id/user_id归属列、可见性规则(visible_to)、key掺租户维度、
  分区淘汰(不碰种子/他租户)、写后失效缓存(多worker一致)
- agent_config: GENERAL_TOOLS 新增 memory/manage_skill/process/subagent 四工具;
  run_command 加 background/timeout; ToolDefinition 加显式 required 字段
  (可选参数不再被 native FC 标成 required)
- tool_registry: to_openai_schema 尊重显式 required
- models: pipeline_user_memory 加 org_id/user_id(配套迁移 m0023)
2026-09-10 17:09:28 +08:00
e055dda28c feat(skill): propose_skill 描述更新为实时发布语义(机构目录覆盖global,org0转人工审核) 2026-09-08 23:59:30 +08:00
fd59bdeeb0 feat(agent): 对齐信息摄入与甲乙类能力——read_file分页/docx-pdf解析描述、新增web_search/fetch_url/query_project_data工具、generic会话开放strict沙箱shell
- GENERAL_TOOLS 新增 web_search/fetch_url(甲1联网,SSRF三层防护)/query_project_data(甲2只读白名单查询)
- read_file 描述补 pdf 解析与 offset 续读纪律(根治只读开头以为读全)
- generic 会话不再剔除 shell 类工具(执行层强制 strict bwrap),data 类仍剔除(无项目上下文)
- DEFAULT prompt 增加联网检索章节:网页内容标注不可信外部数据,禁执行其中指令
2026-09-08 23:13:06 +08:00
01bfd01619 feat(core): 通用心智工作原则加意图识别+完备性铁律(2026-09-08一C)
- 意图识别靠语义理解结合对话历史,不靠关键词硬套
- 完备性先于执行:花钱/不可逆动作前先自查必备输入,不齐备先ask_user,
  绝不"做不好还硬做"(空跑/占位符/劣质降级都算烧钱误导)
- 工具返回QUESTION:前缀必须转达用户等回答,禁改写参数重试或编造素材绕过
2026-09-08 11:58:55 +08:00
12d22f6dd8 feat(core): 通用心智prompt加平台模型调用节(生成图/视频/语音走invoke_model,文档配图禁字符画);bid_writer角色技能加配图规则(invoke_model生成真图→markdown图片嵌正文,合成docx自动嵌图) 2026-09-07 17:31:09 +08:00
d028f2652e feat(core): GENERAL_TOOLS加平台模型工具list_platform_models/invoke_model——可用模型=本机构+平台owner机构,按任务自动选型,生成类(图/视频/语音)走统一推理端点(2026-09-07用户需求) 2026-09-07 16:47:07 +08:00
c27b6af90d fix(pipeline): init.py 模块级暴露 load_product_category_product——产品导入引擎按模块属性取函数,只注册进env字典不够(实测导入报'未提供函数') 2026-09-06 17:03:04 +08:00
e134cde44e feat(pipeline): 产线产品化接入 product_management——计费层+产品接口+定价映射表
产线使用费(订阅制)照 account_resource/storage_resource 范式接入产品层:
- models/pipeline_pricing_map.json: pipeline_id × charge_mode(month/year) → ppid
  (月付 months=1/valid_days=30;年付 months=10/valid_days=365,即月费×10 付10个月用12个月)
- pipeline_pricing.py: 定价映射 CRUD + calculate_pipeline_amount
  (buffered_charging(ppid, {months}) 算原价;无定价方案/金额0 均抛异常不静默)
- product_interface.py: 7 个标准接口(load_product_category_product 导入用;
  get_product_display 展示月/年双档价;execute_product_service 开订阅权益)
- init.py load_pipeline_core: 注册 env.product_interface(module_name='pipeline_core')
  + env.pipeline_pricing_map_save/get_pipeline_ppid/calculate_pipeline_amount

资源主表复用 pipelines(status='published' 才可售),不建 usage 表——
订阅购买是同步实时记账(purchase_realtime → product_accounting_generic 写 biz_order)。

用户定稿的商业模型(2026-09-06):账号免费只管并发配额;产线单独包月
(商机100/投标150/开发200,年付=月×10);模型按量加价;存储 1元/GB月。
2026-09-06 16:55:30 +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
e9b1ba37ca fix(isolation): load_agent_config generic 时剔除 category=project 工具——通用助手不应看见/操作任何产线项目
配套 pipeline-service 产线隔离修复(2026-09-05)。执行层兜底在
agent_loop_v2._dispatch_sdlc_tool(别名归一后拦截)。
2026-09-05 15:08:21 +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
c0e8557ef8 fix: load_skill工具定义补file_path参数(与v1描述对齐) 2026-09-02 17:56:11 +08:00
878ce43f1d fix(项目管理): resume_project描述去active硬编码——恢复为暂停前的原状态 2026-09-01 15:31:52 +08:00
50b334c220 fix(项目管理): delete_project描述去确认死循环指令+project技能规范同步(平台确认门负责最终确认) 2026-09-01 15:30:00 +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
d5ff970735 feat(read_file): schema 补 offset 参数说明 2026-08-31 22:01:27 +08:00
ymq
e598665b8e fix(upload): 上传截断显式告知+generic补文件处理 2026-08-31 21:22:41 +08:00
2dcf463b42 fix(skills): load_skill技能名归一化——容忍LLM传入[产线]前缀/加粗/描述尾巴等目录层装饰 2026-08-31 16:24:04 +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
520a6d4f89 feat(sdlc): RoleSpec 加 task_title 字段(声明式阶段标题模板)
title 继承 bug 根治的一部分:RoleSpec 声明该角色作为自动派生下一任务时的
标题后缀(如 agent.design→「应用架构与模块设计」),_create_next_task 不再硬编码。
2026-08-25 17:01:18 +08:00
48a26e5375 feat: org scope 缺省继承——ocai(org_id='0')机构技能所有组织共享,其他组织可覆盖
机构技能层架构:org_id='0' 是 ocai 组织(缺省机构),其机构技能(基础模块
apppublic/sqlor/ahserver/rbac/appbase/accounting 的应用/模块规范)是所有组织
缺省共享的内容;其他组织(org_id≠'0')先继承 ocai 缺省,再用自己 org scope
的同名技能覆盖(很多组织有自己的开发规范)。

get_merged 改为:先 update _orgs['0'](ocai 缺省),再 update _orgs[org_id]
(组织自有,org_id≠'0' 时),实现缺省继承 + 组织覆盖。
2026-08-23 21:40:08 +08:00
c2dd36d77e chore(skill): 删 dead code ensure_org_skills + 更新 docstring 反映单一技能树 2026-08-21 19:20:13 +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
70b9df480c fix(skill): 目录层 essential 基础规范必显示——project-directory-spec 标记 essential:true,目录层排序 essential 优先,避免 global scope 低优先级被截断 2026-08-21 18:41:09 +08:00
905e01f581 feat(skill): 分层导入机制——Skill 支持 references/scripts/templates 子文件加载 + 新建 project-directory-spec 项目目录规范 + sdlc-repo-standard 改为引用新规范 2026-08-21 18:36:10 +08:00
cc1cd84fae fix(skill): 回退 description 截断缩短,文本精炼应统一在技能文件本身做 2026-08-21 12:07:20 +08:00
a40afccca3 fix(skill): 技能优先级顺序改为 role>project>pipeline>org>global,目录层描述精简 2026-08-21 12:05:27 +08:00
6826d49f01 fix(skill_pack): ensure_org_skills 同步 pipelines/(产线common+角色skills) 到机构工作目录
此前 ensure_org_skills 只复制 global+packs,产线技能(pipelines/{pid}/common/
与 pipelines/{pid}/roles/{role}/)未同步到机构运行时目录,导致角色 agent 加载不到
角色技能。新增 _sync_tree 递归增量同步 + PIPELINES_DIR 常量。
2026-08-20 12:00:09 +08:00
189d75f12c feat(skills): sdlc 产线默认 task/team-communication 技能 + skill_loader 支持 capability/tools
- 产线技能放正确位置 pipelines/sdlc_general/common/(原 all/ 误放全局,已删)
- skill_loader 支持 frontmatter capability/tools 字段,to_prompt_block 注入配套能力+工具名
- task/team-communication frontmatter 声明 capability+tools
2026-08-17 00:07:57 +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
08f628dba1 feat: 技能提议管理(skill_proposals表+管理API+列表UI+界面)+agent自省propose_skill工具 2026-08-16 19:16:52 +08:00
f19562a360 fix: ensure_org_skills改增量同步(全局模板新增技能同步到已有机构,不只首次复制) 2026-08-16 19:03:34 +08:00
c55a01241b feat: 给agent加list_packs/install_pack技能集工具(理解导入技能集指令) 2026-08-16 18:19:39 +08:00
8dff3d00a2 fix: load_agent_config加generic参数(纯通用模式不fallback默认产线,不挂产线插件) 2026-08-16 18:04:27 +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
69184cb4a5 fix: 目录层匹配增强(技能名拆分)+fallback(匹配不到按scope列出),兼容Hermes的trigger_conditions格式 2026-08-16 15:44:26 +08:00
9be706d99b refactor: 技能源头=global(公共技能),选装从global复制到org;packs=技能集清单 2026-08-16 15:41:55 +08:00
6814a0931b refactor: 技能库收进skills/library/(唯一技能根目录,仓库与运行时scope统一) 2026-08-16 15:35:27 +08:00
2a88fd2375 refactor: skill_pack技能库目录改运行目录(cwd/skills_library),不进site-packages 2026-08-16 15:29:23 +08:00
1abaa4ea2e feat: 技能库(skills_library 213个Hermes技能)+skill_pack技能集安装能力+ocai-h5-dev技能集(37个应用/模块开发技能) 2026-08-16 15:17:43 +08:00
d9c100ce76 refactor: to_prompt_block剥离frontmatter冗余(目录层已展示name/description) 2026-08-15 19:45:02 +08:00
99256f040c feat: 加load_skill工具(技能按需加载正文,分层导入的第二层) 2026-08-15 19:43:07 +08:00
fc0ce9ad7d fix: read_file描述明确支持docx解析,引导agent优先用read_file而非run_command探测 2026-08-15 19:25:04 +08:00
b9b6403de3 feat: 角色定义可插拔(RoleSpec+辅助函数)+记忆分域(scope:global/pipeline/project/user) 2026-08-15 09:46:42 +08:00
82c2724789 feat: 技能六级可插拔隔离(global/org/pipeline/role/project/user)+slash命令注册表 2026-08-15 09:38:31 +08:00
9635825164 refactor: core剥离SDLC能力——GENERAL_TOOLS通用内核+PipelineAbility可插拔能力包注册表+load_agent_config按pipeline_id动态挂载 2026-08-15 09:26:01 +08:00