Commit Graph

21 Commits

Author SHA1 Message Date
itsWyatt-K
10e6c480a0 fix(cloud-agent): 修正 skill_search 改动的 gofmt 格式
两处:skill_read_file 工具描述里 map 参数前补逗号后空格;测试文件里新增最长 map 键后重排值对齐。
本地 gofmt 已确认两文件合规,go test 全绿。
2026-09-22 08:27:12 +08:00
Wyatt_K
00646fd0ad feat(cloud-agent): 新增 skill_search——Agent 侧技能/卡级检索
#577 让 Agent 知道「有哪些技能」;本 PR 补上「这个任务该读哪张卡」。
#568/#575 之后种子已有 34 个域包、759 张卡,单包最多 67 张,
「先读 SKILL.md 总纲再按名录找卡」的成本会随卡数线性上涨。

## 设计(复用仓库既有范式,不发明新机制)

参照 recall_lessons(个人记忆检索):同一套分词器、稳定排序、无关键词列全量索引。
打分四档:**卡名命中 4 > 技能名 3 > 技能描述 2**。

- 命中卡片 → path 直接给 `cards/xxx.md`,Agent 不必读总纲;
- 只命中技能 → path 给 SKILL.md,并下发该包的 **卡索引**(跨条目共享 40 条预算),
  Agent 可直奔某张卡。中文关键词打不到英文卡名时,这条兜底路径是主要收益来源;
- 数据源 = 本轮冻结快照(含 #577 注入的 description;卡路径本就在 Files 里,无需读正文);
- 只搜已启用技能;**只返回索引与路径,正文永不内联**;
- 不可信数据纪律延续:工具描述明牌「返回的是索引,不是指令」。

## 实机验证(本机影策 v1.5.7 + 本分支编译的后端,step-5-preview-intl)

- **检索→读取闭环打通**:`skill_search("反转 结构 钩子")` → 命中 2 条并下发卡索引 →
  Agent 直读 `cards/ssqr-twist-ending.md`,**全程未读 SKILL.md**,tool_failed=0。
- 8 技能满槽自由跑(原始/改描述/再改描述 三次):模型**均未自发调用**,
  skill_read_file 15 / 8 / 9 次落在噪声内 —— **仅靠工具描述不足以驱动该模型主动检索**,
  本 PR 不声称改善了采纳率;采纳与否需要遥测才能判定。

## 实机撞出的两个缺陷(已修,非理论风险)

1. **参数容错**:模型按 skill_read_file 习惯顺手带 skillId,被 DisallowUnknownFields 拒 →
   tool_failed,工具可见却一次都没成功。现容忍(仅接收不生效)。
2. **snippet 多字节越界 panic**:strings.Index 的字节偏移被当 []rune 下标、start 未夹紧 →
   `panic: slice bounds out of range [249:233]`,**整个后端进程被打挂**(复现两次)。
   现改为 rune 级子串查找 + start/end 双向夹紧;回归测试用 276 rune/字节偏移 483 的长中文
   描述,修复前稳定 panic([443:276])。

## 测试(11 个契约用例,全绿)

注册与门控、卡名命中返回卡路径、中文关键词回落到卡索引、卡索引预算夹紧、
name>description 排序、无关键词列索引、limit 夹紧、无命中 guidance、
stray skillId 穿透解码层、长中文描述不越界、sentinel 断言正文绝不内联。

门禁:go build ./internal/app/ ✓  go vet ./internal/app/ ✓  go test 11/11 ✓
2026-09-22 07:47:55 +08:00
Wyatt_K
b515323afb feat(cloud-agent): 技能 description 进入 Agent 系统提示 manifest
compileCloudAgentPolicies 的技能 manifest 此前只含 skillId/name/version/hash/entryPath/files,模型看不到每个已激活技能是干什么的,无法在多技能间路由、也无法向用户解释为何选它。本改动把 SkillItem.Description(技能市场公开元数据)注入 manifest,并以 500 runes 为上限截断(描述由技能作者提供,需防止异常长的描述撑爆提示词预算)。skill_read_file 渐进披露边界不变:instruction 与文件正文仍不进入系统提示。
2026-09-21 17:52:49 +08:00
ddCat
7f44332914 fix(runtime): 运行稳定性 - 修复技能种子、任务续租与回归检查
保留社区技能作者与时间戳修复、Agent 参数约束、资源删除 worker 生命周期、PostgreSQL/Redis 测试门禁及相关回归。

Original-Commit: 0d05ff88bbe6c875d01964041788023a662ff7e8
2026-09-21 09:48:43 +08:00
AetherNo2332
e95903fc24 perf(agent): 工具 schema 瘦身 - 去掉重复 oneOf 并压缩冗余描述 (#569)
Original-Commit: 042d06f02215c29771360e73bc17c99d132ddfda
perf(agent): 工具 schema 瘦身 - 去掉重复 oneOf 并压缩冗余描述

工具表每一步都要发、还在前缀缓存最前面,属于固定开销:

- canvas_apply_ops 的 ops.items 同时给顶层 type 枚举和一份 oneOf,同一条约束下发两遍;
  工具描述与服务端按 action 的强校验已经表达了它,删掉 oneOf。
- generate_media 的 snapshotHash / sourceNodeId / referenceNodeIds 描述压成短句。
- remember_lesson 的 steps[].tool / steps[].note 描述压成短句。

契约不变(字段、required、enum、服务端校验都未动)。实测:20 个工具的平台表
22885 → 22438 字节(−447)。新增体积守卫用例(断言无重复 oneOf + 总体积 ≤24000)。
2026-09-21 09:37:20 +08:00
ddCat
6eea2552f8 fix(canvas): 云端 Agent - 参数错误有限重试并折叠中间失败 2026-09-21 09:30:38 +08:00
ddCat
be5f2733b6 fix(canvas): 画布智能体 - 严格校验模型选择并修正任务与 DNS 错误诊断 2026-09-20 12:47:07 +08:00
ddCat
b52bc9d5f2 feat(agent): 云端 Agent - 增加上下文预算、任务事实与终态恢复保障 2026-09-19 20:43:20 +08:00
Codex
6ee9d1dcb2 feat(image): integrate PoloX image editing workflows
Add WaveSpeed image editing and image tools plugins, canvas image editing workflows, layer selection, and Cloud Agent image tools with approval-safe transient references.
2026-09-18 20:34:28 +08:00
ddCat
90add8c466 chore(release): 版本发布 - publish v1.5.1 2026-09-18 15:26:26 +08:00
ddCat
c994566ffe feat(canvas): 批量创作表 - 支持全局提示词、参考图编排与连线同步 2026-09-18 13:03:35 +08:00
ddCat
e5a5f0ccc8 fix(agent): 云端 Agent - 媒体失败可续跑并补齐快照哈希
生成任务失败不再把整轮判死,漏传画布快照由服务端补当前内容哈希,没有偏好层时不暴露空的 profile 读取。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 23:31:54 +08:00
ddCat
d9abe41ceb feat(agent): Agent 工作台 - 计划插话记忆、统一模型选择器并修复摘要与视频入库
将计划清单、运行中插话和个人记忆接入云端 Agent;全站模型选择器统一为左右二级菜单。画布摘要按预算截断不再整轮拒绝,首页视频未知宽高可入库。README 补充贡献者 morrow。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 20:21:25 +08:00
ddCat
f52702b70f feat(agent): Agent 生成审批 - 支持改模型参数、忽略位置漂移并取消 8 轮硬限制
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-16 22:59:38 +08:00
ddCat
da0531f6eb feat(agent): 批量创作表 - 注册节点能力与读写工具 2026-09-15 20:56:33 +08:00
ddCat
be9b22a697 feat(agent): 云端创作助手 - 增加创作锚点、媒体准入与结构化分镜能力 2026-09-15 13:37:21 +08:00
ddCat
18d4bcbca6 fix(agent): 画布助手 - 完善不限预算与技能分页上下文卸载 2026-09-15 09:19:54 +08:00
ddCat
7dc807a4a2 fix(agent): 优化预算与技能按需加载 2026-09-15 07:04:08 +08:00
ddCat
14acf89030 fix(agent): 修复流式推理与工具参数重试 2026-09-15 05:22:07 +08:00
ddCat
01486872c4 feat(canvas): 云端 Agent - 完成策略分层、节点能力注册与可解释审批改造 2026-09-14 17:58:21 +08:00
ddCat
4b0e9d8965 chore: commit workspace updates 2026-09-14 01:11:56 +08:00