docs(changelog): 发布 0.3.7

This commit is contained in:
Autumn-27 committed 2026-08-31 12:24:38 -04:00
1 parent 7cc467c159
commit f66ac54fd6
1 file changed
+40 -1
+40 -1
View File
@@ -4,12 +4,32 @@
## [Unreleased]
## [0.3.7] - 2026-08-31
### LLM
#### 新增的功能
- 模型配置新增「输出上限」,并可选择上限用哪个请求字段名:上限限制单次回复最多生成多少 token,随每次请求发出,0(默认)= 不发送该字段、由服务端默认值决定;它与「上下文窗口」是两回事——后者是模型总容量,只在本地用来算压缩阈值,不出现在请求里。字段名开关仅对 `openai`(Chat Completions)格式有意义:空(默认)发 `max_tokens`,绝大多数兼容网关只认它;OpenAI 官方推理模型(o 系列 / GPT-5)反过来只认 `max_completion_tokens`,收到 `max_tokens` 会直接报 `unsupported_parameter`,这类端点需手动切到新字段。两种格式各自定死了字段名(Anthropic 为 `max_tokens`、Responses API 为 `max_output_tokens`),故非 openai 格式该开关置灰并在保存时清空。同时补上一条此前从未接通的链路:planner / worker / chat / 主 Agent / 目标拆解五处都没设过输出上限,openai 系压根不发、Anthropic 走 SDK 的 8192 兜底,光加配置项而不接这条线,填了数字也不会生效;现在取值与「流式输出」一样按配置每轮解析,故障转移切换后下一轮即生效。旧库升级后行为完全不变(新列默认 0 与空字段名)。
- 后台点「测试」时把每次 HTTP 尝试的状态码与网关原始响应体打进服务端日志(响应体裁到 4K),便于诊断 401、额度文案、空帧、返回 HTML 页面等情况,不再只能看到 UI 折叠后的 ok / err。该日志不依赖「LLM 记录」开关。
#### 修改的功能
- 任务 LLM 配置链改为任何状态都可修改,不再限制「运行中 / 暂停 / 配置链耗尽」:任务结束(done / failed / timeout)后主 Agent 对话仍走这条链,链上模型出问题时原先既不能改也就没法继续交互。后端 HTTP 与 DB 事务两处终态拦截一并去掉,前端弹窗对终态任务也开放编辑与保存。终态任务保存时不再重开额度阻塞意图(那些意图会被挪到 open,既没有 worker 执行、也不再满足「重跑意图」的条件),想继续跑仍走重跑意图 / 新增目标,由它们把任务重新拉回运行态。
### Agent
#### 修改的功能
- 「给运行中的 Worker 发消息调方向」改为复用已有的暂停 / 恢复 + transcript resume 机制,行为与主 Agent 对话一致:此前走的是一套自建的介入持久化协议,牵动调度屏障、恢复流程与十余处活动查询过滤。现在消息经下一轮输入注入,意图在专属 goroutine 里直接跑,不受 3 槽 worker 池限制、随发随跑;前端保留消息框并恢复「直接继续」按钮,发送改由 SSE 承载。无 DB schema 改动。取舍:消息仅存内存、不做崩溃恢复,且发消息时该任务可能瞬时超并发一个 worker(低频场景,可接受)。
### 任务
#### 修复的问题
- 修复归档大型任务时内存耗尽(OOM)崩溃的问题:归档改为流式写入快照,不再把整个任务一次性读进内存;同时补齐冷归档路径上的三处恢复缺口——现代安装的流量只存在 SQLite 里,此前在 PostgreSQL 提交与 SQLite 提交之间崩溃会让已归档任务的流量滞留在热存储且无从恢复,现在无论有无历史目录都会写暂存日志,缺失的 `journal.json` 也按可丢弃处理。
- 修复任务较多时系统卡顿的问题:加载对话与加载界面存在明显延迟。任务列表、任务上下文与探索记录的查询一并优化,前端的仪表盘、对话页与任务详情页同步减少了重复请求。
### 资产
#### 修改的功能
@@ -31,6 +51,23 @@
- 发现页新增「全部发现」平铺视图并设为默认,与原「按任务分组」视图通过页头 Tab 切换:分组视图要逐个任务展开才看得到漏洞,只想跨任务扫一眼列表时反而绕路。平铺视图是一张跨任务大表(每页 10/20/50/100 条),行为与分组视图完全一致——勾选导出、行内展开看证据与详细报告、行内改名称/类别/严重度、改处置状态、深入、删除。两个视图共用统计卡片与筛选条,切换不丢筛选,当前视图与筛选项一并记在本地;轮询只打当前视图,行内改动会同步写两边缓存,切过去不会看到过期数据。
- 发现页新增「按资产」视图:左侧资产树(企业 → 根域名 / IP → 子域名 → 服务 → 接口,企业层只在资产确实有归属时才出现),右侧是选中节点整棵子树下的发现,与另外两个视图共用同一张表和同一批筛选条件。树只收有发现的资产,祖先链按需补齐(发现只挂在最深的接口上时,上面几层照样能拼出来),节点上的计数是子树聚合并按发现去重的;资产已删除或本就没关联资产的发现进「未关联资产」桶。与另外两个视图不同,资产视图不轮询——进入视图、改筛选、页内增删改发现、或点树上的刷新按钮时才查询,左树是导航结构,没必要每 5 秒重算。树上每层只显示相对上一层的增量(子域名去掉根域名后缀、服务显示 `https :443`、接口只显示路径),完整值在悬停提示与面包屑里;节点过多时整层丢弃接口/服务层级并给出提示,计数仍计入上层。
#### 修复的问题
- 修复手机端会话详情里会话记录被挤压看不全的问题:窄屏下折叠会话列表,把宽度让给记录本身。
### 依赖
#### 修改的功能
- 升级 norma v0.3.2 → v0.3.3:新增 `Config.MaxTokensField`,让 OpenAI Chat Completions 的输出上限可以改发 `max_completion_tokens`(推理模型只认这个键)。两个键互斥、只发其中一个,默认仍是 `max_tokens`。
- 升级 `golang.org/x/mod` v0.37.0 → v0.40.0,修复两处依赖安全告警。
### 贡献者
- [@Autumn-27](https://github.com/Autumn-27)
- [@neouks](https://github.com/neouks)
- [@begininvoke](https://github.com/begininvoke)
## [0.3.6] - 2026-08-27
### LLM
@@ -350,7 +387,9 @@
- [@Autumn-27](https://github.com/Autumn-27)
- [@neouks](https://github.com/neouks)
[Unreleased]: https://github.com/Autumn-27/ARTEX/compare/v0.3.5...HEAD
[Unreleased]: https://github.com/Autumn-27/ARTEX/compare/v0.3.7...HEAD
[0.3.7]: https://github.com/Autumn-27/ARTEX/compare/v0.3.6...v0.3.7
[0.3.6]: https://github.com/Autumn-27/ARTEX/compare/v0.3.5...v0.3.6
[0.3.5]: https://github.com/Autumn-27/ARTEX/compare/v0.3.4...v0.3.5
[0.3.4]: https://github.com/Autumn-27/ARTEX/compare/v0.3.3...v0.3.4
[0.3.3]: https://github.com/Autumn-27/ARTEX/compare/v0.3.2...v0.3.3