Skip to content

Lagoon v0.3.0-rc.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Oct 07:33
· 10 commits to main since this release
0cdf0ed

Lagoon v0.3.0-rc.1

这是 Lagoon 预发布版本,用于验证本次更新。

本次更新

  • 新增 DeepSeek Harness(dsh web)适配:Lagoon 从 OpenCode 专用客户端升级为真正的多 harness 控制端。添加服务器时选择「服务类型」即可在 OpenCode 与 DeepSeek Harness 之间切换,DSH 服务器填写实例地址与启动令牌(dsh web 启动链接里的 ?token=)。
  • 新增 HarnessClient 抽象层:ServerKind(opencode / dsh)随服务器资料持久化,控制器、全服务器总览与通知层只依赖统一接口,不再直接依赖 OpenCode 实现;后续接入新 harness 只需新增一个实现。
  • 新增 DshApi 协议适配:用启动令牌换取 dsh-auth-… 签名 Cookie;一元调用走 POST /api/<endpoint>(client-request 信封),流式数据走 /api/remote.mux 多路复用 WebSocket,全局事件走 $events 端点。
  • DSH 能力对齐:会话列表、创建、重命名、归档、分叉、子会话、模型目录与选择、发送(steer 打断当前轮次 / queue 排队)、停止、审批与问答。审批与问答在 DSH 侧是 $events 的 waterfall,回应通过 $events/result 结算,界面与通知和其它 harness 完全一致。
  • DSH 时间线翻译:把 DSH 的 turn/step/tool 事件日志折算成控制器认识的事件契约与消息模型(用户消息、assistant 文本 / Reasoning、工具调用与结果),任务状态、未读结果与系统实时更新沿用同一套归约。
  • 通用化界面文案:服务器状态、审批弹窗、归档页与新建会话提示不再硬编码「OpenCode」,改按当前服务器的 harness 名称显示。

验证

  • 本地:ANDROID_HOME=<sdk> ./gradlew :app:testDebugUnitTest :app:assembleDebug 全部通过(316 个单元测试,含新增的 6 个 DSH 协议测试:令牌换 Cookie、一元 RPC 信封、$events 就绪与事件、审批 waterfall 与结算、快照折算时间线、发送参数形状)。
  • 协议来源:DSH 的 RPC 信封、mux 帧格式、Cookie 名称、审批 outcome 词汇与会话事件结构均逐条对照 dsh 实现源码确认,并由 MockWebServer(含 WebSocket 升级)回归覆盖。
  • 发布工作流会重新执行 Android 单元测试并构建稳定签名的 Release APK。

已知限制

  • DSH 没有删除会话、compact、回退(revert)、改动列表与工作区文件浏览的 RPC,相关入口在这些服务器上返回「不支持」或退化为归档;时间线由会话事件驱动并按需重拉整页,暂不做 token 级流式渲染。
  • DSH 的访问令牌每个进程随机生成、只在 dsh web 启动时打开的链接里出现,实例重启后旧令牌失效需要重填;令牌错误不会保存服务器资料。
  • 真机验收仍需在目标设备与真实 DSH 实例上完成:连接、发送、停止、审批与问答回应,以及 Android 16 实时更新计数。

下载

自动验证

  • Android 单元测试和 APK 构建已由 GitHub Actions 执行。