Skip to content

Commit 182c0d4

Browse files
committed
feat: ship lime 1.6.1 rollout
1 parent db3bfae commit 182c0d4

File tree

152 files changed

+19899
-2435
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

152 files changed

+19899
-2435
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,3 +100,5 @@ governance/
100100
!src/lib/governance/*.json
101101
!src/lib/governance/*.mjs
102102
!src/lib/governance/*.test.ts
103+
104+
src-tauri/crates/aster-rust/target/

RELEASE_NOTES.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
1-
## Lime v1.6.0
1+
## Lime v1.6.1
22

33
### ✨ 主要更新
44

5-
- 本次 `v1.6.0` 已收口当前工作区全部改动,核心集中在 Agent 聊天工作台、General Workbench、Service Skill、Team Workspace、Artifact / Timeline 展示与输入发送主链
5+
- 本次 `v1.6.1` 已收口当前工作区全部改动,核心集中在 Agent 聊天工作台、General Workbench、Service Skill、Team Workspace、Artifact / Timeline 展示与输入发送主链
66
- `src/components/agent/**``src/components/workspace/**``src/lib/api/**``src/features/browser-runtime/**``src/components/settings-v2/**` 一批界面、运行时与回归测试已一并进入本次发布
77
- 浏览器运行时、现有会话桥接、工具展示、团队协作、项目选择、技能目录、工作台工具命令与内容同步相关边界已同步更新
88
- 工程文档 `docs/aiprompts/commands.md``playwright-e2e.md``quality-workflow.md` 已随当前实现一起更新
99

1010
### 🔗 依赖与版本同步
1111

1212
- `aster-core` / `aster-models` 已内置到 `src-tauri/crates/aster-rust/`,不再依赖外部仓库本地 override
13-
- 应用与 CLI 发布版本提升到 `1.6.0`
14-
- 应用版本入口已对齐到 `1.6.0`,覆盖 `package.json``src-tauri/Cargo.toml``src-tauri/tauri.conf.json``src-tauri/tauri.conf.headless.json`
15-
- `packages/lime-cli-npm/package.json`、README 发布示例与本地 `package-lock.json` 已同步到 `1.6.0`
13+
- 应用与 CLI 发布版本提升到 `1.6.1`
14+
- 应用版本入口已对齐到 `1.6.1`,覆盖 `package.json``src-tauri/Cargo.toml``src-tauri/tauri.conf.json``src-tauri/tauri.conf.headless.json`
15+
- `packages/lime-cli-npm/package.json`、README 发布示例与本地 `package-lock.json` 已同步到 `1.6.1`
1616
- `src-tauri/Cargo.lock` 会在本轮 Rust 校验后同步更新到当前 workspace 状态
1717

1818
### ⚠️ 发布说明
1919

20-
- 本次发布 tag 为 `v1.6.0`
20+
- 本次发布 tag 为 `v1.6.1`
2121
- 本次发布以当前工作区完整改动为准,不复用旧 tag
2222
- 当前 release note 已按这次完整发布内容刷新
2323

@@ -28,8 +28,8 @@
2828

2929
### 📝 文档同步
3030

31-
- 发布说明已更新为当前这次完整的 `v1.6.0` 内容,可直接作为 GitHub Release note 使用
31+
- 发布说明已更新为当前这次完整的 `v1.6.1` 内容,可直接作为 GitHub Release note 使用
3232

3333
---
3434

35-
**完整变更**: `v1.5.1` -> `v1.6.0`
35+
**完整变更**: `v1.6.0` -> `v1.6.1`

docs/aiprompts/README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
- `command-runtime.md` - `@` / `/` / 轻卡 / viewer / 功能方案包实施手册
2121
- `skill-standard.md` - 统一技能标准、skill / adapter / runtime binding 边界
2222
- `site-adapter-standard.md` - 站点适配器标准、来源导入边界、运行时收敛规则
23+
- `web-browser-scene-skill.md` - 网页 / 浏览器场景技能设计提案,说明如何把外部 web skill 思路收敛到 Lime 主线
2324
- `project-heatmap.md` - 仓库热力图与治理候选分析
2425
- `limecore-collaboration-entry.md` - 跨仓库联动入口
2526
- `../tech/harness/README.md` - Lime Harness Engineering 总入口与实施蓝图
@@ -57,7 +58,8 @@
5758
- **改 Tauri 命令 / Bridge / mock**:先读 `commands.md`,再看 `quality-workflow.md`
5859
- **`@` / `/` / 轻卡 / viewer / ServiceSkill 场景**:先读 `command-runtime.md`
5960
- **改 Claw 技能 / Service Skill / 统一 Skills 标准**:先读 `skill-standard.md`
60-
- **改站点适配器 / 导入外部 adapter**:先读 `site-adapter-standard.md`,再看 `quality-workflow.md`
61+
- **改站点适配器 / 导入外部 adapter**:先读 `site-adapter-standard.md`,再看 `web-browser-scene-skill.md``quality-workflow.md`
62+
- **做网页登录态访问 / 网页导出 / Markdown 落盘场景**:先读 `web-browser-scene-skill.md`
6163
- **改 Workspace / GUI 壳 / 主路径**:先读 `workspace.md``quality-workflow.md``playwright-e2e.md`
6264
- **做迁移 / 收口 / 去兼容层**:先读 `governance.md`
6365
- **改 Provider / 凭证加载 / Token 刷新**:先读 `providers.md``credential-pool.md`

docs/aiprompts/command-runtime.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
- 想为某个能力补“完整方案包”
2727

2828
如果当前需求已经涉及“命令触发 -> Agent 分析 -> binding -> 轻卡 -> viewer”其中两步以上,就默认属于命令运行时改动。
29+
如果命令还涉及网页登录态访问、网页导出、Markdown 保存、图片下载,再补读 [web-browser-scene-skill.md](web-browser-scene-skill.md)
2930

3031
## 固定产品判断
3132

docs/aiprompts/commands.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,8 @@ MCP bridge 当前唯一继续演进的工具命名事实源是:
332332
- 工具全名:`mcp__<server>__<tool>`
333333
- extension surface key:`mcp__<server>`
334334
- UI 展示名:继续优先显示 server 原名,例如 `lime-browser`
335+
- deferred 工具需要通过 `ToolSearch` 拉起时,优先使用精确 `select:mcp__<server>__<tool>`;如 `select:mcp__playwright__browser_click`
336+
- `ToolSearch` 空结果后不要继续改写成 `playwright_browser_click``read_file``system` 之类同义词重试;原生工具直接调用当前可见的 `Read / Write / Edit / Glob / Grep / Bash / WebFetch / WebSearch`
335337

336338
不要再新增或恢复以下旧命名心智:
337339

@@ -523,7 +525,7 @@ npm run verify:local
523525
- **站点能力主链**:继续收敛到 `site_list_adapters / site_recommend_adapters / site_search_adapters / site_get_adapter_info / site_get_adapter_launch_readiness / site_get_adapter_catalog_status / site_import_adapter_yaml_bundle / site_run_adapter`
524526
- **站点适配器导入主链**`site_import_adapter_yaml_bundle` 只负责把外部 YAML 来源编译为 Lime 标准并写入 `imported` 目录,不允许带入第二套 runtime、daemon 或自动唤醒浏览器链路
525527
- **站点 Agent 工具主链**:继续收敛到 `lime_site_list / lime_site_recommend / lime_site_search / lime_site_info / lime_site_run`
526-
- **站点技能首页入口主链**首页 / 工作区弹窗只负责补参数、组装 `initialUserPrompt + harness.service_skill_launch` 上下文并进入 `Claw`;真正执行统一收口到 `Claw` 首回合,不再由首页弹窗或工作区挂载副作用直接调用 `site_run_adapter`
528+
- **站点技能首页入口主链**`Claw` 首页、空态推荐和技能选择入口只负责选技能、在当前对话输入区上方挂起 A2UI 补参卡、组装 `initialUserPrompt + harness.service_skill_launch` 上下文并进入 `Claw`;真正执行统一收口到 `Claw` 首回合,不再由首页弹窗、工作区挂载副作用或前端直跑逻辑直接调用 `site_run_adapter`
527529
- **站点结果沉淀主线**`site_run_adapter` / `lime_site_run` 优先透传 `content_id` 写回当前主稿;只有缺少 `content_id` 时,才回退到 `project_id` 新建结果文档
528530
- **`markdown_bundle` 落盘回传主线**:当站点结果是 `markdown_bundle` 时,`saved_content` 除了 `content_id / project_id / title`,还应继续回传 `project_root_path / markdown_relative_path / images_relative_dir / meta_relative_path / image_count`,让聊天轻卡与 tool timeline 都能直接说明 Markdown 和图片实际保存到哪里
529531
- **`markdown_bundle` 消费主线**:当前端拿到 `saved_content.markdown_relative_path` 后,聊天轻卡、工具结果卡和站点工作台应优先导航到项目内真实 Markdown 文件,而不是继续打开一份运行摘要 artifact;后续 viewer 渲染相对图片时,也必须以该 Markdown 文件路径作为 base 解析本地资源

docs/aiprompts/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Lime 是一个以创作为中心的本地优先 AI Agent 交互工作台,基
2828
- `adapter / tool`:底层能力工件
2929
- `runtime binding`:最终执行绑定
3030

31-
统一技能标准见 [skill-standard.md](skill-standard.md),站点工件子标准见 [site-adapter-standard.md](site-adapter-standard.md)
31+
统一技能标准见 [skill-standard.md](skill-standard.md),站点工件子标准见 [site-adapter-standard.md](site-adapter-standard.md),网页 / 浏览器场景的专题设计见 [web-browser-scene-skill.md](web-browser-scene-skill.md)
3232

3333
## 项目结构
3434

docs/aiprompts/playwright-e2e.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
- 优先使用 **Playwright MCP** 做交互验证,不优先编写新的本地 Playwright 测试文件
2626
- 浏览器模式默认首页从 `http://127.0.0.1:1420/` 进入
27+
- 如果 Playwright 工具当前还在 deferred surface,优先用 `ToolSearch` 的精确选择名,例如 `select:mcp__playwright__browser_click`;不要把 `playwright_browser_click``browser click` 之类同义词反复丢给 `ToolSearch`
2728
- 能走真实后端就走真实后端;浏览器模式暂不支持或尚未桥接的能力,允许走 mock
2829
- `verify:gui-smoke` 内部的 browser runtime 校验默认走无界面浏览器会话;它只证明主链可启动,不替代后续真实页面交互验证
2930
- `lime-pet` 原生桌宠属于独立仓库与原生窗口壳,不纳入当前 WebView Playwright 的直接操控范围;在 Lime 主仓里只验证 `companion_*` API、状态事件与主窗口唤起链路,桌宠窗口移动、点击命中与原生层动画仍需额外手工 smoke
@@ -171,14 +172,15 @@ npm run test:contracts
171172

172173
### Claw 站点技能直跑门禁验证
173174

174-
1.`Claw` 首页打开一个站点型技能弹窗
175-
2. 如果当前没有附着真实浏览器会话,确认弹窗继续展示“需要先准备浏览器 / 重新检测会话”的门禁提示,且 `在 Claw 中执行` 主按钮处于禁用状态
176-
3. 点击 `去浏览器工作台`,确认只发生页面跳转,不会后台偷偷拉起 Chrome
177-
4. 在浏览器工作台附着到真实浏览器并打开目标站点后,回到 `Claw` 再次打开同一技能
178-
5. 确认此时主按钮变为可执行,点击后进入 `Claw` 工作区
179-
6. 确认进入 `Claw` 后会自动发送一条首回合技能任务消息,消息文本包含站点技能启动上下文,而不是由前端挂载副作用偷偷直跑
180-
7. 如果已有附着会话,确认 `Claw` 会通过 `lime_site_run` 执行并把结果写回当前主稿或项目资源
181-
8. 如果没有附着会话,确认不会再向 `Claw` 对话流注入“我已完成登录,继续执行”之类的确认卡;阻断必须停留在技能入口层
175+
1.`Claw` 首页或空态推荐区选择一个站点型技能
176+
2. 确认页面切回 `Claw` 对话态,并在输入区上方出现该技能的 A2UI 补参卡,而不是打开独立启动弹窗
177+
3. 如果当前没有附着真实浏览器会话,确认 A2UI 卡继续展示“需要先准备浏览器 / 重新检测会话”的门禁提示,且主提交按钮处于禁用状态
178+
4. 点击 `去浏览器工作台`,确认只发生页面跳转,不会后台偷偷拉起 Chrome
179+
5. 在浏览器工作台附着到真实浏览器并打开目标站点后,回到 `Claw` 再次选择同一技能
180+
6. 确认此时 A2UI 卡主按钮变为可执行,提交后进入 `Claw` 工作区并继续当前对话
181+
7. 确认进入 `Claw` 后会自动发送一条首回合技能任务消息,消息文本包含站点技能启动上下文,而不是由前端挂载副作用偷偷直跑
182+
8. 如果已有附着会话,确认 `Claw` 会通过 `lime_site_run` 执行并把结果写回当前主稿或项目资源
183+
9. 如果没有附着会话,确认不会再向 `Claw` 对话流注入“我已完成登录,继续执行”之类的确认卡;阻断必须停留在技能入口层
182184

183185
### Claw `@配图` 异步任务验证
184186

docs/aiprompts/quality-workflow.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,8 @@
8484

8585
如果本轮涉及 team runtime 工具面或主线程用户消息工具,还要同步检查 Rust catalog / inventory、runtime 注册、浏览器 fallback mock 与前端 tool display;`Agent / TeamCreate / TeamDelete / SendMessage / ListPeers` 必须保持同一组 current surface,`SendUserMessage` 也必须继续停留在 current 主线程工具面,`SubAgentTask` 只能继续停留在 compat 读取边界。
8686

87-
如果本轮涉及 MCP bridge runtime tool surface、inventory 或 ToolSearch,还要同步检查 Rust extension 注入、inventory 快照、浏览器 fallback mock 与 GUI 面板命名;当前唯一命名事实源是 `mcp__<server>__<tool>`,对应 extension surface key 为 `mcp__<server>`,不要让 mock 或 UI 退回裸 `server__tool`
87+
如果本轮涉及 MCP bridge runtime tool surface、inventory 或 ToolSearch,还要同步检查 Rust extension 注入、inventory 快照、浏览器 fallback mock 与 GUI 面板命名;当前唯一命名事实源是 `mcp__<server>__<tool>`,对应 extension surface key 为 `mcp__<server>`,不要让 mock 或 UI 退回裸 `server__tool`。同时,Lime runtime 里的 `ToolSearch` 当前事实源必须是 `ToolSearchBridgeTool``aster-rust` 自带 `ToolSearchTool` 只能停留在 compat 存量,不允许再抢占当前 runtime surface。
88+
如果本轮还需要对子工作区单独跑 Rust 定向测试,例如 `src-tauri/crates/aster-rust`,必须确认产物仍落在统一的 `src-tauri/target`,不要重新写回子目录自己的 `target/`;否则 `tauri dev` 会把构建产物当成源码变化,反复触发重编译。
8889

8990
如果本轮涉及 `create_skill_scaffold_for_app``SkillsPage / SkillScaffoldDialog`,或“聊天结果 -> Skill 脚手架”沉淀闭环,还要同步检查前端网关、Rust 模板、DevBridge 分发与默认 mock 是否仍保持同一条主链;若新增了结构化骨架字段,至少要确认 `何时使用 / 输入 / 执行步骤 / 输出 / 失败回退` 能真实落进生成后的 `SKILL.md`
9091

@@ -106,6 +107,7 @@
106107
- 默认先跑受影响 crate、模块或定向测试
107108
- 再根据边界扩散决定是否执行全量 `cargo test`
108109
- 目标是尽快暴露问题,而不是一上来把所有测试都跑满
110+
- 如果定向测试来自 `src-tauri/crates/aster-rust` 这类被 Tauri watch 覆盖的子工作区,先确认其 Cargo `target-dir` 已统一回 `src-tauri/target`,避免 watch 风暴导致 dev 无法启动
109111

110112
## 质量分层
111113

@@ -546,6 +548,7 @@ npm run verify:gui-smoke
546548
npm run smoke:workspace-ready
547549
npm run smoke:browser-runtime
548550
npm run smoke:site-adapters
551+
npm run smoke:agent-service-skill-entry
549552

550553
# 前端 / 桥接 / 契约
551554
npm test

docs/aiprompts/site-adapter-standard.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
它是 **站点适配器能力的工程标准文档**,不是某个外部项目的引入说明书。
1313

1414
如果讨论的是 Skills 总模型、`skill / adapter / runtime binding` 总边界,先读 [skill-standard.md](skill-standard.md),再回到本文。
15+
如果讨论的是网页登录态访问、长文导出、Markdown 落盘、图片下载这类浏览器场景编排,再补读 [web-browser-scene-skill.md](web-browser-scene-skill.md)
1516

1617
## 第一原则
1718

docs/aiprompts/skill-standard.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
其中:
1515

1616
- [site-adapter-standard.md](site-adapter-standard.md) 是站点适配器子标准
17+
- [web-browser-scene-skill.md](web-browser-scene-skill.md) 是网页 / 浏览器场景的专题设计文档
1718
- 本文负责技能总模型、事实源、分发和 UI 表达边界
1819

1920
## 第一原则
@@ -58,6 +59,7 @@
5859
- 发现仓库里开始出现多套 skill 定义、多套入口术语或多套运行语义
5960

6061
如果问题已经缩小到站点适配器字段、脚本、导入和执行,先回到 [site-adapter-standard.md](site-adapter-standard.md)
62+
如果问题已经是“网页登录态访问、导出 Markdown、下载图片、保存网页内容”这一类浏览器场景,再看 [web-browser-scene-skill.md](web-browser-scene-skill.md)
6163

6264
## 非目标
6365

@@ -424,9 +426,15 @@ Lime 技能能力必须明确区分三个对象:
424426
- 需要什么依赖
425427
- 结果去哪
426428

427-
### 2. 启动弹窗
429+
### 2. 补参与启动承载
428430

429-
启动弹窗统一应包含:
431+
Agent / Claw 主路径里的 skill 补参与启动,统一承载在当前对话输入区上方的 A2UI 卡片里,不再允许主产品流程回退到独立启动弹窗。
432+
433+
当前 `Claw` 首页、空态推荐、Skills 工作台、`@` / slash 场景入口,都应走“选技能 -> 在当前对话补参 -> 继续当前对话执行”。
434+
435+
只有开发调试或尚未迁完的历史兼容壳,才允许短期保留弹窗;这类弹窗不能作为新增入口,也不能继续代表主产品交互。
436+
437+
对话内 A2UI 卡统一应包含:
430438

431439
- 技能摘要
432440
- 补参表单
@@ -457,7 +465,7 @@ Lime 技能能力必须明确区分三个对象:
457465
- 负责表达:`name``description``license``compatibility``metadata``allowedTools`
458466
- 以及 Lime 运行时真正需要的标准状态:`resourceSummary``standardCompliance`
459467
- `ServiceSkillCatalog` / `ClientServiceSkillCatalog`
460-
- Lime 面向 Claw / 工作区 / 启动弹窗的**产品投影层**
468+
- Lime 面向 Claw / 工作区 / 对话内 A2UI 卡的**产品投影层**
461469
- 负责表达:卡片文案、补参表单、执行绑定、结果去向、主题目标、自动化入口等业务语义
462470

463471
强约束:

0 commit comments

Comments
 (0)