ThearchyHelios
|
5ac681c481
|
Copilot 模型可独立配置
此前 Copilot 的模型是兜底猜的:取第一个非 mock 且启用的 provider 的
默认模型。后端 GenerateIn 一直有 provider/model 字段,但前端从没传过,
于是禁用某个 provider 或调整创建顺序就会让 Copilot 静默换模型。
现在是独立设置(Setting 表 copilot 键),优先级:单次请求显式指定 >
保存的 Copilot 专用模型 > provider 兜底。做成独立设置是因为 Copilot
写的是编排本身,对指令遵循的要求和工作流节点不是一回事。
新增 GET/PUT /api/copilot/model 读写设置,并回报 effective_model
(区分显式配置与兜底);generate / generate-stream / explain 三处
统一走 copilot_model_spec;流首帧发 {op:'model'} 告知实际所用模型,
画布浮条上直接显示,不用猜。
前端 Copilot 弹窗加模型选择器,选择即持久化,下次打开记住;说明里
点明它只影响 Copilot 自己、且指令遵循弱的模型(如 Mock)跑不出结果。
验证:兜底→claude-opus-5;设为 deepseek-chat 后流首帧回报一致;
单次请求传 claude-opus-5 可覆盖设置;清空恢复兜底。浏览器实测选择
持久化跨弹窗、浮条显示模型名。
|
2026-09-14 11:01:47 +08:00 |
|
ThearchyHelios
|
1b595f699c
|
Copilot 流式生成:图在画布上实时长出来
此前点击生成后是 20-30 秒黑盒等待,模态框关着,用户看不到任何过程。
改成操作流协议:模型按 NDJSON 逐行输出 add_node / add_edge /
update_node / remove_node / done,后端边流边经 SSE 转发,前端每收
一个操作就应用到画布——节点带紫色描边逐个出现(临时摆位跟着入边源),
左下角浮条显示当前动作并可随时取消;done 后后端统一排版+校验,
以 final 事件整体落位,高亮几秒后淡出。修改现有图的场景只输出改动
操作,用户能看到 Copilot 具体动了哪里。
行解析对模型犯规免疫:markdown 围栏、夹杂的解释文字、done 之后的
多余输出都被跳过或截断(单测覆盖跨块行缓冲)。
顺手修结构化输出必失败的 bug:langchain 靠 title 字段识别裸 JSON
Schema dict,四处 with_structured_output 的 schema 都缺它,抛
ValueError: Unsupported function 后靠 fallback 文本解析兜底——
每次都白调一次模型。补上 title(llm 节点 output_schema、branch
语义分类、supervisor 路由、旧版 copilot generate)。
实测:首节点 7.2s 上画布(原先干等 27s),浏览器采样节点数
0→2→3→4→5→6 逐步生长,6 个新节点全部高亮,零页面错误。
|
2026-09-14 10:54:31 +08:00 |
|
ThearchyHelios
|
e905426dfe
|
发布门禁、操作者归属、治理遥测与前端支撑
审批记录批准人(X-Actor 先落库再恢复执行)。设置页可配操作者署名,
随请求头发送——这是归属记录不是身份认证,界面上写明了区别。
治理遥测三件套,全部从既有事件流取材:
- 工具白名单衰减报表:授了权但从未用过的工具摆上台面,放宽可被回收
- 探索问题聚类:同一问题反复出现(≥3 次)标记为晋升候选——模板生长
的触发器
- 轨迹→模板提取器:把探索性运行实际走过的路径确定性提取成草稿工作流
(剪掉未走的分支、输入参数化),人审发布后才成为模板——探索层的
价值在路径沉淀,不在单次答案
前端:口径卡节点与指标编辑器、出具契约配置、发布对话框(两级门禁、
问题列表)、试运行/正式运行双按钮、出具档位横幅(含缺数据声明与
未回指数字点名)、运行列表正式/探索徽标、运行详情版本与清单哈希、
提取模板按钮。
真模型验证闭环:周报模板 governed 发布 → formal 运行,Opus 5 正文
数字全部回指,但结尾'(约 100 字)'被校验器抓住降档——修 prompt
禁元话语而非加白名单,重发 v2 后正式档。8/8 模板回归通过。
|
2026-09-14 10:27:13 +08:00 |
|
ThearchyHelios
|
964eeaa829
|
AgentLab:可视化 Agent 编排实验台
在画布上拖拽编排 agent 工作流,并实时看着它执行。
后端 FastAPI + LangGraph:把画布 JSON 编译成 StateGraph,15 种节点
(模型/Agent/多Agent、工具/沙箱、分支/循环/子图、记忆/检索/整形、
人工介入/结构校验)。选 LangGraph 是因为可视化编排真正难的是暂停、
恢复和回放,而 checkpointer + interrupt() 正好把这几件事做在了底层。
前端 React + React Flow:节点元数据驱动属性面板与连接桩,运行时
节点高亮、边流动画、卡片内流式 token 全部由同一份事件流驱动。
关键实现:
- Agent 内工具审批用 @task 缓存模型调用,interrupt 重放时不重复计费
- 沙箱保持只读根文件系统,代码经 exec+base64 写入(put_archive 会被
只读容器拒绝),断网、非 root、内存/CPU/超时限额
- 检索为向量与 BM25 混合,本地哈希 embedding 零配置可用
- 分支条件走 AST 白名单求值器;HTTP 工具逐 IP 拦截内网与元数据地址
- Mock provider 让无 API Key 也能跑通完整链路
7 个内置模板全部冒烟通过,含真实模型端到端验证。
|
2026-09-13 17:27:00 +08:00 |
|