Repository navigation
Releases: Max-cu/SkillGo
Release list
SkillGo v1.0.0
SkillGo v1.0.0
SkillGo 1.0 聚焦一次性 Skill 任务的完整闭环:导入并发布技能,接收自然语言与附件,在独立沙箱执行,处理可恢复错误,最后将真实成果交付给网页用户或业务 API。
本次为重新发布的 v1.0.0,包含通用自动交付和默认配置调整。此前下载过该版本的用户请重新下载源码包;已有克隆需刷新 v1.0.0 标签。源码发布不会自动更新正在运行的实例。
本次发布重点
遵循 Skill,减少重复规划
- 管理员可按沙箱 Skill 版本开启“沿用 Skill 既定流程”。单 Skill 任务不再强制先生成另一份执行计划。
- 完整 Skill 的准备环节、输入分支、参考资料与自带校验保持原样;模型仍负责理解和执行,需要时可主动规划。
- 多 Skill 任务保留普通规划路径。开关默认关闭,由管理员审核后开启。
- 网页、异步 API 和重试任务均从绑定版本继承联网与既定流程设置;创建后的任务不受后续按钮切换影响。
让交付环节更直接
- 新部署默认使用文件接收模式,复用 Skill 自带检查,省去额外平台验证轮次;需要额外验证时可显式设置
SKILLGO_ARTIFACT_DELIVERY_ONLY=false。 - 通用最终操作交付默认对全部账号、Skill 和文件格式可用,无需版本白名单。
- 模型在最后一组操作执行前声明准确产物路径;全部操作成功、每个文件确为本组新建或内容更新且收集时大小与哈希一致,并满足原有完成条件后,可直接交付,省去独立结束轮次。
- 路径未知、旧文件未变化、操作失败或仍需查看结果时继续普通执行;不会扫描到任意文件就结束。
- 文件接收仍要求安全路径、真实非空文件、大小限制和实际持久化,不代表业务内容或版式通过审核。
- 保留既有工作流交付兼容适配,不修改上传的 Skill 包。
运行与维护
- 支持批量读取、批量命令和连续工作流,避免把确定的命令序列拆成多轮模型确认;工具失败仍交回模型处理。
- 上下文观测只记录统计信息,不增加摘要调用或改变模型输入,默认关闭。
- 持久化快照默认关闭,需要中断恢复的部署可自行启用;关闭快照不等于删除任务日志或最终产物。
- 清理无人调用的函数、旧测试转接入口和前端无效状态,合并重复附件解析,增加前端未使用符号检查。
- README 与执行/API 文档更新,统一前后端版本号为 1.0.0。
1.0 平台能力
Skill 导入与不可变版本、审核发布、多用户权限和审计;私有模型、视觉与 OCR 接入;隔离环境与依赖准备;任务级非 root gVisor 沙箱;进度、取消和重试;真实文件保存与下载;独立 Endpoint、幂等异步任务 API。
平台减少重复工作,实际耗时和产物质量仍取决于模型、Skill 与输入。没有同条件对照证据支持“始终快于其他框架”的承诺。
默认配置
| 设置 | 新部署默认值 |
|---|---|
| 沿用 Skill 既定流程 | 每个版本关闭 |
| 运行联网 | 每个版本关闭 |
SKILLGO_ARTIFACT_DELIVERY_ONLY |
true |
SKILLGO_DELIVERY_ONLY_SKILL_IDS |
空 |
SKILLGO_WORKFLOW_AUTO_DELIVERY_VERSION_IDS |
空 |
SKILLGO_CONTEXT_OBSERVABILITY |
false |
SKILLGO_DURABLE_CHECKPOINTS_ENABLED |
false |
发布不会覆盖已有实例的管理员设置或环境变量。上述开关相互独立,启用方法见 README 和对应文档。
升级到 1.0.0
- 等待任务和环境构建结束,备份数据库、文件存储及部署配置。
- 对照
.env.example和deploy/ecs.env.example保留原实例配置,不直接覆盖密钥。 - 使用固定标签升级 API、Web、Worker 与环境准备服务,按原部署保持副本数。
- 确认数据库版本、健康检查、登录和原 Endpoint 可用,再接收新任务。
标准部署可使用:
sudo SKILLGO_INSTALL_ROOT=/opt/skillgo \
SKILLGO_DEPLOY_ENV=deploy/ecs.env \
bash deploy/upgrade-skillgo.sh v1.0.0若启用了独立 environment-worker,还需在同一空闲维护窗口按原 Compose 配置重建并更新该服务;升级脚本的默认启动路径只覆盖常规 API、Web 与任务 Worker。
相对 v0.4.9,包含增量迁移 20261022_0009_skill_flow_policy,新增版本与任务的 follow_skill_flow 字段,默认 false,不删除已有记录。已经位于 0009 的实例无需重复迁移。服务按现有机制初始化/迁移数据库。
回退到只认识 0008 的旧代码前需要按部署流程处理数据库回退或恢复备份;降级会移除这两个策略字段,不能只替换镜像。
验证
发布提交通过后端测试、前端生产构建与运维检查;准确结果以对应提交的 GitHub Actions 为准。测试包含默认配置、完整验证兼容路径及通用交付的成功和失败边界。
发布由 Git 标签触发,附带 GitHub 自动生成的源码 ZIP/TAR;源码包不包含运行数据、密钥、模型配置或 Skill 私有资产。源码发布不会自动重启已有部署。
SkillGo v0.4.9
SkillGo v0.4.9
本版本聚焦大文件上传链路与 Agent 失败可恢复性:附件上传上限提升 20 倍至 200 MB 并修通整条代理/解析链路;update_plan 参数容错再补两处;命令失败改为只报实测事实。
主要更新
附件上传上限提升至 200 MB(729c05d + 2576f93 + 20b8c2e)
- 上限:任务附件、会话附件与工作区文件从每文件 10 MB 提升至 200 MB(
SKILLGO_WORKSPACE_MAX_FILE_BYTES),前端校验与 nginxclient_max_body_size同步调整;Skill 包维持 50 MB 不变。 - nginx 对
/api/关闭请求/响应缓冲,改为流式转发:大上传不再落到 web 容器 96m tmpfs(此前 96-201 MB 的上传会以 "no space left" 失败),大产物下载同样受益,并消除了"先落盘再转发"的额外延迟。 - API 容器
/tmptmpfs 64m→2g、mem_limit 768m→4g:Starlette 会把大于 1 MiB 的上传先写入 /tmp,此前超过约 64 MB 的 multipart 上传直接解析失败。实测 150 MB 直传 API 通过。
Agent 计划参数容错:success_criteria / validation_step_id(5bc20a0 + f1753b2)
- 与 v0.4.7 的 goal 修复同类:中途重规划时缺省/null 的
success_criteria沿用上次计划、validation_step_id沿用已记录的验证步骤,不再为可修复的参数形态烧掉一整轮纠错推理(私有算力下每轮约 40-80 秒)。 - 不可解读的形态(dict/int)仍快速拒绝;任务首个计划仍必须有目标/标准/验证步骤;完成时的验证门槛不变,省略字段只能保留已记录内容、不会丢失需求。
命令失败只报实测事实(ad2d15d)
- 未到期限即退出的命令此前只返回裸
{exit_code, stdout, stderr}:生产中两次 exit 137 且输出全空的失败让模型拿到不透明的错误信息。 - 现在返回
ok=false+SANDBOX_COMMAND_NONZERO_EXIT:退出码、实测耗时 vs 预算、有无输出、沙箱与 /workspace 完好——只报事实、不做原因归因(模型解读,平台报告)。 - 事件层记录
exit_code/elapsed_seconds,回退串携带同样事实,静默失败可直接从 job_events 分类;压缩观察保留事实字段,message/stderr 双空时以 stdout 尾部作为诊断。
升级
本版本无数据库迁移。默认配置变化:附件/工作区文件上限 200 MB、API 容器资源(/tmp 2g、内存 4g)、nginx 对 /api/ 流式转发。请在无运行中任务时执行:
sudo SKILLGO_INSTALL_ROOT=/opt/skillgo \
SKILLGO_DEPLOY_ENV=deploy/ecs.env \
bash deploy/upgrade-skillgo.sh v0.4.9验证
- 后端 513 项回归全部通过(本版本新增:
success_criteria/validation_step_id形态容错、非零退出事实 payload/事件记录/压缩观察等用例)。 - v0.4.9 全部修复已在生产环境逐项部署并运行时断言通过(6/6 容器);9 月 29 日当天 3 个 PPT 长任务全部成功(31-36 分钟)。
SkillGo v0.4.8
SkillGo v0.4.8
本版本聚焦长任务稳定性与推理效率:修复两类会把任务永久卡死或白白拖慢的问题,并为大产物任务放开容量上限。
主要更新
附件分析请求增加有界可恢复超时(c992790)
- 修复:视觉看图(
inspect_image)与 MinerU 文档解析此前沿用模型的"无限"总预算(timeout_seconds=0时 httpx 完全不设超时),单个挂死的 HTTP 请求会把任务永久卡在 RUNNING——实测一个 vision 请求挂死 45 分钟以上,而端点本身存活。 - 现在:看图读超时 600 秒(生产实测约 60 秒/次,10 倍余量)、大文档解析 1800 秒(与命令预算同量级),可通过
SKILLGO_ATTACHMENT_VISION_TIMEOUT_SECONDS/SKILLGO_ATTACHMENT_DOCUMENT_TIMEOUT_SECONDS调整。 - 超时映射为可恢复的
ATTACHMENT_MODEL_TIMEOUT工具结果,Agent 自动重试或跳过该页,任务不再死锁。 - 语义说明:读超时只在服务端零字节响应时触发,持续输出的慢请求不会被误杀;主模型用于长生成的无限总预算原样保留。
推理效率:前缀缓存 + 参数容错
- a400f4b:Agent 上下文投影顺序调整,把频繁变化的状态消息移到历史末尾,稳定可缓存前缀——私有化部署 10 万+ token 上下文的每轮 prefill 从约 70 秒降至 10-25 秒。
- 9a867e5:
update_plan的 goal 缺省或为 null 时沿用上次计划目标、字符串列表自动拼接,不再为可修复的参数形态烧掉一整轮纠错推理(私有算力下每轮约 40 秒);不可解读的形态仍快速拒绝,任务首个计划仍必须有目标。
产物与基础设施
- e31762a:任务产物大小上限从 50 MB 提升至 500 MB(默认值与
.env.example同步;此前一个 63 分钟翻译任务的 >50 MB 成品 PDF 在收集阶段被整体丢弃)。 - 84ec1d3:上传 PDF 附件不再强制 OCR 分析。
- 74bcbdd:修复 checkpoint 辅助容器泄漏。
- 2d76e82:修复版本号写入 package JSON 时混入 UTF-8 BOM 导致 CI 解析失败的问题。
升级
本版本无数据库迁移。默认配置变化:产物上限 500 MB、附件分析超时 600/1800 秒(均可通过环境变量覆盖)。请在无运行中任务时执行:
sudo SKILLGO_INSTALL_ROOT=/opt/skillgo \
SKILLGO_DEPLOY_ENV=deploy/ecs.env \
bash deploy/upgrade-skillgo.sh v0.4.8验证
- 后端 503 项回归全部通过(新增:挂死附件请求映射为可恢复错误、无限预算下附件超时仍有界、
update_plangoal 形态容错不烧轮次等用例)。 - v0.4.6~v0.4.8 各项修复已在生产环境逐项部署并运行时断言通过;修复后同类 PDF 翻译任务 18.2 分钟完成(此前 63 分钟全损),工程图纸校验任务 21.4 分钟完成。
SkillGo v0.4.4
SkillGo v0.4.4
本版本把任务改为完全无人值守、一口气执行到底:Agent 不再能够向用户追问。
主要更新
移除 ask_user 追问机制
- Agent 工具集中删除
ask_user:工具 schema、动作参数校验、模型响应解析(独占调用规则)、系统提示中的示例与规则全部同步移除。 - 系统提示新增明确的无人值守规则:缺少关键单位、范围或业务参数时,Agent 必须采用与输入和用户目标最一致的合理假设继续执行,把假设记录下来并在最终摘要中披露;只有输入本身不可用(文件损坏/无法解析)或任何合理解释都无法消除的矛盾,才允许用
block诚实终止。 - 模型若因旧习惯发出
ask_user,收到的是一条可恢复的工具返回(指引其自行假设并继续);若反复停留在该动作,由既有的重复动作卡死保护以SANDBOX_AGENT_STALLED如实失败——任务不会再被挂起等待人工。 - 同时修正此前一条系统规则"用 ask_user 暴露矛盾材料",改为自行选择最合理解释并在最终摘要说明。
历史兼容
waiting_user状态、任务对象的pending_question字段、网页回答入口与POST /api/v1/jobs/{id}/answer均保留,但只为 v0.4.3 之前已经挂起的历史任务服务;新任务不会再进入该状态。- 外部 API 文档与 Python 示例已更新:外部集成无需实现任何问答回调;示例客户端保留对历史
waiting_user任务的防御性退出。
升级
本版本无数据库迁移、无配置变更,重建 api、worker 镜像即可(请在无运行中任务时执行)。
sudo SKILLGO_INSTALL_ROOT=/opt/skillgo \
SKILLGO_DEPLOY_ENV=deploy/ecs.env \
bash deploy/upgrade-skillgo.sh v0.4.4验证
- 后端全部回归通过;原"追问挂起"端到端测试改写为"重复 ask_user 被可恢复指引纠正、持续停留按卡死保护失败且不产生任何 question 事件"。
SkillGo v0.4.3
SkillGo v0.4.3
本次发布把单条沙箱命令的执行预算从 900 秒提高到 3000 秒,并清理代码里散落的 900 秒硬编码。同时包含 v0.4.2 的全部快照健壮性改进(如从 v0.4.1 升级请一并阅读)。
主要更新
命令超时 900s → 3000s
SKILLGO_SANDBOX_COMMAND_TIMEOUT_SECONDS默认值与 ECS 配置统一改为 3000:图纸一致性校验等批量任务单批实际需要 30-45 分钟,此前每条命令在第 900 秒被精确终止(exit 124),模型只能反复续跑。- 工具层此前有 4 处独立硬编码 900(模型工具 schema 的 maximum/文案、动作参数校验、系统提示、超时恢复提示),现全部改为从该配置动态取值——以后调整预算只需改一处环境变量,不会再出现"env 改了但校验仍按 900 拒绝"的不一致。
run_python工具的 600 秒上限保持不变(一次性 Python 片段不适合长驻);任务级总超时仍为关闭(0)。- 超时语义不变:到期由作业容器内 GNU timeout 发 TERM(5 秒后 KILL),沙箱与 /workspace 保留,模型从脚本保存的批次状态恢复;只有 docker-exec 传输彻底卡死才回收容器。
v0.4.2 一并包含的快照改进
- 快照超容量/Docker 传输抖动不再杀死任务:跳过后续快照、记录中性事件,任务继续;完整性错误仍致命。
- 快照上限 256 MiB → 512 MiB。
/workspace/input不可变输入不再进入快照,恢复/换箱/依赖升级时从对象存储重新投放。- 快照辅助容器删除超时 60s → 180s 并重试一次,清理失败不掩盖主错误。
升级
本版本无数据库迁移。需要更新配置 SKILLGO_SANDBOX_COMMAND_TIMEOUT_SECONDS=3000 并重建 api、worker 镜像(请在无运行中任务时执行)。
sudo SKILLGO_INSTALL_ROOT=/opt/skillgo \
SKILLGO_DEPLOY_ENV=deploy/ecs.env \
bash deploy/upgrade-skillgo.sh v0.4.3验证
- 后端全部回归通过;超时预算相关断言改为从配置派生(schema maximum、校验上限 3000/3001 边界、系统提示动态渲染)。
SkillGo v0.4.2
SkillGo v0.4.2
本次发布聚焦长任务快照机制的健壮性:快照只是崩溃恢复保险,不应因为工作区较大就杀死已经产出有效结果的任务。同时把不可变的用户输入移出快照,降低重任务的每轮开销。
主要更新
快照超容量不再杀死任务
- 工作区快照超过容量上限(或 Docker 守护进程短暂不可用)时,平台不再终止任务:记录一条"已跳过工作区快照"中性事件后继续执行,本运行内不再重复尝试;最终产物的收集与校验完全不受影响。
- 路径越界、符号链接、校验和不符等完整性/安全错误仍然按致命处理,不会被降级放过。
- 事故背景:一个 6 页翻译任务产出 266 MiB 图片型 PDF(工作区 315 MiB),在轮次边界快照超过 256 MiB 上限后整个任务被
SANDBOX_INTERNAL_ERROR杀死,且辅助容器删除超时一度掩盖了真实原因。
快照容量上限 256 MiB → 512 MiB
- 依据线上 26 个真实快照的测量分布(中位数 14 MiB、P90 54 MiB、最大正常任务 127 MiB),为嵌图 PPTX、批量 OCR 等正当重任务留出 4 倍余量;恢复时内存峰值仍控制在 2 GiB worker 容器限额内。
用户输入不再进入快照
/workspace/input是平台投放、任务全程只读的不可变文件,与已有的大型 Skill 包采用同一机制:快照排除这些字节,崩溃恢复、手动沙箱切换、任务中依赖升级换箱时从对象存储重新投放原件(逐字节一致,input_refs哈希校验不受影响)。- 输入字节仅在恢复真正发生时才从存储读取,不在 worker 内存中常驻。
快照辅助容器清理加固
- 冻结视图辅助容器的删除超时由 60s 提高到 180s,失败自动重试一次;重试仍失败只记告警并留给垃圾回收,清理异常不再覆盖真正的导出错误。
升级
本版本无数据库迁移、无配置变更,重建 api 与 worker 镜像即可(worker 建议在无运行中任务时滚动重建)。
Git 工作区部署:
sudo SKILLGO_INSTALL_ROOT=/opt/skillgo \
SKILLGO_DEPLOY_ENV=deploy/ecs.env \
bash deploy/backup-skillgo.sh
sudo SKILLGO_INSTALL_ROOT=/opt/skillgo \
SKILLGO_DEPLOY_ENV=deploy/ecs.env \
bash deploy/upgrade-skillgo.sh v0.4.2验证
- 后端 496 项回归全部通过,新增 15 项覆盖:超容量降级端到端(任务照常 finish、告警只发一次)、完整性错误仍致命、辅助容器清理重试不掩盖主错误、输入文件排除与恢复/换箱重投放(含首条命令启动容器前的投放顺序)。
SkillGo v0.4.1
SkillGo v0.4.1
本次发布的主线是文档/图片理解的按需路由与扫描件原位处理:新增 inspect_document 工具,在 MinerU 结构化版面解析与视觉模型之间自动路由,并让数字版 PDF 跳过无谓 OCR。
主要更新
文档理解按需路由(inspect_document)
structure意图调用 MinerU/file_parse并请求content_list,返回每个文本块的type/text/bbox [x0,y0,x1,y1]/page_idx,支持pages页码范围,为扫描件 OCR、原位双语翻译与版面标注提供块级坐标。understand意图把渲染后的 PNG/JPEG/WebP 页面交给视觉模型回答版面问题;auto按文件类型自动选择(图片走视觉、PDF 走结构化解析)。- 完整块列表落盘
/workspace/work/document_inspection/<sha256>.json,模型上下文只返回路径与前 20 个样例块,避免大结果挤占上下文。 - 解析结果按文件摘要/意图/页码范围缓存(上限 32 条),同一文件不重复 OCR;失败不写缓存。
避免冗余 OCR
- 系统提示明确:存在可用文本层的数字版 PDF 直接用 PyMuPDF 抽取文字与块坐标(
page.get_text),不再调用 OCR;仅扫描件/图片版 PDF 或需要块级坐标时才使用inspect_document(structure)。
工具与可观测性
- 工具注册校验:
intent限定structure/understand/auto,pages必须为[start, end]两个 0 起始且 start ≤ end 的整数。 - 执行过程新增"解析上传文档"行动事件,携带
mode、page_count、block_count、block_types、cached与耗时数据。
升级
本版本无数据库迁移。MinerU 服务地址在平台模型连接中配置(接口类型 MinerU、能力 OCR),升级后在管理后台把 OCR 连接指向 MinerU 服务并使用"测试连接"验证(校验 /openapi.json 的 /file_parse 路径,不触发真实 OCR)。
Git 工作区部署:
sudo SKILLGO_INSTALL_ROOT=/opt/skillgo \
SKILLGO_DEPLOY_ENV=deploy/ecs.env \
bash deploy/backup-skillgo.sh
sudo SKILLGO_INSTALL_ROOT=/opt/skillgo \
SKILLGO_DEPLOY_ENV=deploy/ecs.env \
bash deploy/upgrade-skillgo.sh v0.4.1源码压缩包部署按现有安装方式更新源文件后重建 api、worker、web 镜像。
验证与能力边界
- 后端 481 项回归全部通过,含 MinerU 结构化解析、页码范围表单、错误映射、意图路由、块落盘与缓存等新增测试。
- 结构化解析要求 OCR 连接使用 MinerU 文件解析协议(
api_format=mineru);未配置时返回可恢复的DOCUMENT_STRUCTURE_BACKEND_UNAVAILABLE,不影响其余工具。 - 文档上传上限 30 MiB;支持 PDF、PNG、JPEG、WebP,其他类型在工具入口被拒绝。
完整变更见 CHANGELOG.md。
SkillGo v0.4.0
SkillGo v0.4.0
本次发布的主线是让长任务真正跑得完、断了能续:新增 Skill 能力环境自动准备与任务持久化快照恢复,命令超时不再摧毁沙箱,并系统治理 Agent 上下文浪费(同一文件重复读取、工具输出被过度截断)。执行过程界面同步升级为扁平行动流,模型思考摘要与工具调用理由直接可见。
主要更新
任务韧性与恢复
- 持久化任务快照与围栏恢复:Worker 崩溃或重启后,任务从检查点继续而不是从头再来;工作区快照/恢复改为流式处理,大工作区不再 OOM。
- 命令超时只杀子进程、不毁沙箱:超时由容器内 GNU
timeout(1)执行(TERM 后 5 秒 KILL),沙箱与/workspace完整保留,Agent 按脚本自身的断点状态续跑;默认命令预算 900 秒。 - 沙箱在安全的 Agent 轮次边界按同镜像恢复;Worker 恢复扫描不再误伤健康任务。
Skill 能力环境
- 能力预检与经验证的 golden runtime;任务开始前自动准备并绑定隔离的能力环境。
- 通用 PyPI 依赖准备:任意 wheel 依赖自动解析间接依赖并锁定版本/哈希,仅使用预编译 wheel;任务执行中最多可发起 2 次依赖升级,环境重建后继续任务。
Agent 上下文治理
- 不可变引用架:Skill 静态资料与用户输入首次读取后钉住,后续分页读由内存直接服务,消除同一文件被重复读取数十次的浪费。
read_file请求的窗口始终完整返回;command/run_python/run_verifier最近结果 52 KiB 以内全量保留,超限全文落盘并同时给出头部与尾部片段(报错栈通常在末尾)。- 计划支持目录引用(聚合哈希绑定);中途更新计划采用"中途信任、边界验证",最终交付仍严格校验真实产物。
界面与附件
- 执行过程改为扁平行动流:模型思考摘要、工具调用理由内联展示;执行计划与运行日志分区。
- 多附件 OCR/视觉分析并行(并发上限 3);PDF 附件强制 OCR,未配置时在发送前明确阻断;附件上传代理超时放宽到 905 秒。
- 平台默认模型单轮预算不限时;Worker 扩展到 5 副本,Worker/环境 Worker/任务沙箱内存上调到 2GB/1GB/2GB。
升级
本版本包含 1 个数据库迁移(20260911_0008_prepared_environments,能力/预备环境表),服务启动时自动执行;建议升级前按惯例备份数据库。
新增可配置项:SKILLGO_SANDBOX_TOOL_INLINE_BYTES(最近命令类结果内联阈值,默认 53248 = 52 KiB)。沙箱运行时镜像需要重建以支持 timeout(1) 包装与流式快照;API、Worker、前端镜像均需更新。
Git 工作区部署可使用以下命令;源码压缩包部署需按现有安装方式更新源文件,不能直接运行依赖 Git checkout 的升级脚本。
sudo SKILLGO_INSTALL_ROOT=/opt/skillgo \
SKILLGO_DEPLOY_ENV=deploy/ecs.env \
bash deploy/backup-skillgo.sh
sudo SKILLGO_INSTALL_ROOT=/opt/skillgo \
SKILLGO_DEPLOY_ENV=deploy/ecs.env \
bash deploy/upgrade-skillgo.sh v0.4.0验证与能力边界
- 后端 444 项回归通过;前端 TypeScript 检查与 Vite 正式构建通过。
- 生产环境实测:PPT 生成、图纸批量校验等长任务在快照恢复、超时续跑与引用架机制下成功完成,单任务工具操作 50+ 轮无重复读取、无超时摧毁沙箱。
- 引用架只钉住不可变静态内容(≤20KB 的 Skill 资料、用户输入);更大的文件与任务中生成的可变文件仍走正常分页读取,不会占用模型上下文预算。
完整变更见 CHANGELOG.md。
SkillGo v0.3.1
SkillGo v0.3.1
本次发布集中升级模型调用的传输韧性与超时语义:只要 Agent 持续产出即不掐断任务,真正的卡死在空闲检测窗口内被发现。解决长报告类任务(单轮巨量生成)在旧版本被总预算误杀的问题。
主要更新
- Agent 推理改为 SSE 流式接收,聚合增量内容、推理文本与工具调用分片;网关忽略流式请求时自动回退整体 JSON。
- 分层超时独立可配:连接 15 秒、首响应与流停滞默认 600 秒,可按模型在 agent_options 覆盖;模型单轮总预算支持
timeout_seconds=0不限时。 - 传输进展诊断:推理轮次事件记录首响应耗时、数据块数、字节数与重试次数;失败区分
MODEL_FIRST_RESPONSE_TIMEOUT与MODEL_STREAM_STALLED错误码并附带统计。 - 沙箱任务取消 wall-clock 总时限(
SKILLGO_SANDBOX_JOB_TIMEOUT_SECONDS=0可重新启用),推理轮数与工具操作上限放宽到 300/480 次且支持0=禁用;防失控依赖轮数上限、重复循环干预与分层空闲检测。 - 上下文分配优先保留最近一次完整工具交互,大观察结果落盘保存有界摘录;模型预算快照写入任务运行时记录。
升级
本版本无数据库迁移。更新 API、Worker 与前端后重启即可;按需调整模型连接的 timeout_seconds(建议报告类模型设 0)与沙箱超时环境变量。
Git 工作区部署可使用以下命令;源码压缩包部署需按现有安装方式更新源文件,不能直接运行依赖 Git checkout 的升级脚本。
sudo SKILLGO_INSTALL_ROOT=/opt/skillgo \
SKILLGO_DEPLOY_ENV=deploy/ecs.env \
bash deploy/backup-skillgo.sh
sudo SKILLGO_INSTALL_ROOT=/opt/skillgo \
SKILLGO_DEPLOY_ENV=deploy/ecs.env \
bash deploy/upgrade-skillgo.sh v0.3.1验证与能力边界
- 后端 238 项回归通过;前端 TypeScript 检查与 Vite 正式构建通过。
- 生产环境实测:同一校对任务从旧版多轮超时失败(第 10/25/30 轮)变为 44 轮完整成功,含单轮约 12 分钟的长生成。
- 空闲检测依赖响应流有数据到达;模型服务器静默挂起 TCP 连接且不发送任何字节的极端场景由流停滞检测在 600 秒内兜底。
完整变更见 CHANGELOG.md,超时问题排查过程见 模型超时调查记录。
SkillGo v0.3.0
SkillGo v0.3.0
本次发布集中升级任务拆解、Skill 编排与执行验证,并包含 v0.2.6 之后的 Skill 包导入兼容性和工作台交互修复。
主要更新
- 任务计划保存步骤依赖和输入输出文件哈希;文件变化后,相关步骤与下游阶段失效,支持重新规划。
- 专用验证器绑定实际产物和最新验证结果,失败写入会使旧验证失效,模型声明不能覆盖失败证据。
- 工作台提供可见的“自动选择 Skill”开关,默认关闭;开启后检索相关候选,零匹配时明确提示。
- 缺少必要信息时可向用户提问;回答持久化,任务携带已确认答案重新排队执行。
- 支持固定入口与 Agent 阶段混合运行;生成图片可调用已配置的视觉模型检查。
- 模型连接支持协议适配、推理强度、上下文与输出预算;执行上下文保留活动 Skill、原始要求及阶段证据。
- Skill 包导入兼容包装目录、唯一嵌套 SKILL.md、BOM 和部分缺失元数据,模型分析超时会回退到本地解析。
升级
本版本新增数据库迁移 20260907_0007,保存编排记忆与模型参数。升级前备份数据库、文件存储和配置,并同步更新 API、Worker 和前端。
Git 工作区部署可使用以下命令;源码压缩包部署需按现有安装方式更新源文件,不能直接运行依赖 Git checkout 的升级脚本。
sudo SKILLGO_INSTALL_ROOT=/opt/skillgo \
SKILLGO_DEPLOY_ENV=deploy/ecs.env \
bash deploy/backup-skillgo.sh
sudo SKILLGO_INSTALL_ROOT=/opt/skillgo \
SKILLGO_DEPLOY_ENV=deploy/ecs.env \
bash deploy/upgrade-skillgo.sh v0.3.0数据库包含新字段与状态,回滚前应停止任务并按备份恢复与旧代码匹配的数据。完整操作见 部署说明。
验证与能力边界
- 后端 206 项回归通过;前端 TypeScript 检查与 Vite 正式构建通过。
- 服务器已验证 PostgreSQL 迁移、服务健康及真实 gVisor 沙箱自检。
- 真实业务通过率和模型效果尚待独立测评。验证器真实执行不等于其已覆盖全部业务要求。
- 自动召回目前使用词项相关性排序;回答澄清问题后使用新沙箱重跑,尚不恢复半成品工作区。
完整变更见 CHANGELOG.md,编排实现与后续测评范围见 三批优化记录。