Skip to content

Releases: IGNGserver/Lagoon

Lagoon v0.3.0-rc.2

Lagoon v0.3.0-rc.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Oct 09:57
7cffeca

Lagoon v0.3.0-rc.2

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

本次更新

  • DeepSeek Harness 适配补全:按 @deepseek-ai/dsh@0.2.x 的真机契约重写协议层(完整契约见新增的 docs/dsh-protocol.md)。修复了此前与 0.2.0-rc.2 不兼容的调用信封(payload 必须只含一个 args 对象、字段是方法形参名),并改用浏览器式根路径交换换取长寿命 Cookie。
  • 鉴权:GET /?token=… 换签名 Cookie 为主(默认 30 天、跨 dsh 重启仍有效,解决「重启要重填令牌」),GET /connect?token=…&interactions=answer 的 API Peer 为备选;401 时自动重新交换。
  • 实时流式:消费 session/follow 的 assistant-stream 帧(text-delta / reasoning-delta),assistant 文本与 Reasoning 现在实时上屏;耐久消息到达时自动收口,重试会清掉上一次尝试的片段。
  • 状态与去重:api-session/status 折算成运行状态(未关注的会话也能实时收尾);消息页与实时流按事件 seq 去重,避免重连/刷新后内容重复;修正 api-session/removed 的纯字符串参数。
  • 审批与问答:瀑布事件折算成与其它 harness 相同的权限/表单提示;其他客户端结算时按 cancel 帧撤回本地待办并回到运行态;问答表单改为控制器认识的结构,回答按 DSH 的问题 id 结算。
  • 新能力:工作区文件浏览(workspaceFiles,列表/预览/二进制提示)、会话改动列表与逐文件对比(workspace/changes 摘要 + /api/changes.summary|diff)、后台任务状态(job/list)、斜杠命令面板与 /compact(commands/list|execute,不再把命令当普通文本发送)、归档/取消归档、分叉、模型目录与选择。
  • 语义差异显式化:DSH 没有删除会话与消息级回退,分别折算为「归档」与「分叉」提示;引用的服务器文件折算成路径文本随消息发送;已知错误码折算成中文文案。
  • 文档:新增 docs/dsh-protocol.md(认证、传输、命名空间、事件与帧、限制),更新 README 与 docs/ARCHITECTURE.md。

验证

  • 本地:ANDROID_HOME=<sdk> ./gradlew :app:testDebugUnitTest :app:assembleDebug 全部通过(331 个单元测试,其中 DSH 协议测试 21 条:鉴权两条路线、{args} 信封、工作区清单、inbox 投影、文件读写与二进制降级、改动摘要合并与补丁渲染、命令列表/执行//compact、后台作业、实时流式增量、运行状态折算、turn/end 原因、瀑布撤回、问答结算、能力矩阵、工厂路由)。
  • 真机:在 @deepseek-ai/dsh@0.2.0-rc.2(dsh web --port 3099)上逐条核对:根路径交换返回 303 + dsh-auth-… Cookie、session/list|create|rename|selectModel|cancel|page|projections、workspace/follow|create|archiveSession、workspaceFiles/list|read、commands/list|execute、job/list、session/follow(含 assistantStream)、$events ready 帧;请求/响应形状与实现一致(见 docs/dsh-protocol.md)。
  • CI:构建与测试 job 通过(https://github.com/IGNGserver/Lagoon/actions/runs/39115988768 ,4m17s)。
  • 发布工作流会重新执行 Android 单元测试并构建稳定签名的 Release APK。

已知限制

  • DSH 处于 developer preview,跨版本可能破坏性变更;适配按 0.2.x 形状实现,未知错误码/形状以明确失败呈现(gateway/arguments-invalid 会提示更新 Lagoon 或 dsh)。
  • DSH 没有删除会话、消息级回退与文件搜索;改动摘要只在 dsh 进程内、会话存活期间提供(重启后旧轮次没有对比)。
  • 工作区文件访问需要会话身份;没有会话的目录无法浏览。引用的服务器文件以路径文本发送,文件附件(receipt)暂不支持。
  • 真机验收仍需在目标设备与真实 DSH 实例上完成:发送、停止、审批与问答回应、多客户端结算撤回、Android 16 实时更新计数。

下载

自动验证

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

Lagoon v0.3.0-rc.1

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
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 执行。

Lagoon v0.2.5-rc.5

Lagoon v0.2.5-rc.5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Oct 16:29
a61f9d6

Lagoon v0.2.5-rc.5

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

本次更新

  • 修复问答与表单(Question/Form)提交或取消后会话仍卡在“等待你的回答”的问题:收到回答或取消后立即恢复为运行态并更新任务总览,同时记录已处理请求墓碑,避免迟到的对账响应把已回答的问题重新拉回列表。
  • 修复后台多服务器概览(AllServersOverview)中表单已在电脑端处理后、持久化的“等待回答”状态无法自动清除的问题。
  • 修复从系统通知栏直接点击非当前服务器的“允许一次 / 拒绝 / 停止”操作后,后台多服务器概览未能立即结算并刷新状态的问题。
  • 修复待处理通知去抖复核权限时若遇到瞬时网络失败,会一并吞掉同会话待回答提问通知的问题。
  • 修复本地注册项目未持久化 sandboxes(git worktree 目录列表)以及新添加项目缺少 serverId 标记的问题:重启应用或离线回退后,worktree 会话仍能正确归属到所属项目,项目选择器中的会话计数保持准确。
  • 修复单服务器跨连接返回首页时,homeProjection 未同步携带该服务器任务概览(summary)的问题。
  • 修复服务端返回空 {} 或 {"error":{}} 时,界面直接弹出 {} 的问题,现统一回退为可读的 HTTP 状态说明;增强动态表单对 default: null、混合类型默认值、非法正则 pattern 与整型 integer 字段的兼容与校验。
  • 改进会话内「文件」面板与目录浏览器:点开文件预览后提供「← 返回列表」入口,搜索时优先展示搜索结果而不再被已打开的文件预览遮挡;目录浏览器搜索增加请求序号防乱序与搜索状态提示。
  • 改进输入框 Agent 与模型选择器:Agent 选择器新增「默认 Agent」选项以支持恢复会话默认配置;模型选择器在顶部展示「最近使用」分组。

验证

  • 本地:在 BUILD_SCRATCH_ROOT(~/.build)下执行 :app:testDebugUnitTest :app:assembleDebug 全部通过(含新增的表单状态恢复、后台概览表单清理、空错误信封、表单默认值/正则/整型校验、worktree 持久化及跨服计数单测)。
  • CI:PR #104 的 构建与测试 通过(:app:testDebugUnitTest + :app:assembleDebug)。
  • 发布工作流会重新执行 Android 单元测试并构建稳定签名的 Release APK。

已知限制

  • 尚未在真实 Android 设备上逐项复测多服务器通知栏快捷操作与 Android 16 / HyperOS 实时更新胶囊动效。
  • 关闭「自动连接」的服务器在“全部服务器”模式中显示为未连接,点开该服务器时建立连接。
  • 全部服务器模式仍只聚合每台服务器首页的会话,更早的会话切换到对应单服务器后加载。

下载

自动验证

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

Lagoon v0.2.5-rc.4

Lagoon v0.2.5-rc.4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Oct 13:10
bd9411d

Lagoon v0.2.5-rc.4

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

本次更新

  • 修复刷新时偶现 StandaloneCoroutine was cancelled 报错:被取代的刷新不再把协程取消当成失败提示。
  • 修复首页长期显示“部分数据待同步 · 下拉重试”:已删除的 worktree 目录会让服务端返回 500,现在按目录退避重试,只有影响当前可见状态的读取失败才标记待同步;离线的服务器不再被显示为“待同步”。
  • 恢复服务器资料里「自动连接此服务器」开关的作用:关闭后不再常驻后台连接,点开该服务器时才建立连接。
  • 修复多服务器模式:服务端已删除的会话不再残留;“全部服务器”列表中的状态与通知按服务器归因;离线服务器上失联的运行任务不再永久占用灵动岛与前台服务。
  • 通知修复:同一轮中的第二次提问也会提醒;删除服务器或关闭通知会撤销该服务器的旧通知;关闭通知的服务器不再进入全局汇总;权限被电脑端处理后手机上的“需要授权”通知会撤下。
  • 自动授权失败改为退避重试,不再每轮对账重复请求;实时事件触发的控制面读取合并窗口放宽到 3 秒,降低多服务器同时输出时的请求量。
  • 离线缓存更可靠:超限时保留最新消息并标记“不完整”(不再让旧缓存冒充完整会话),补充保留排队/重试/上下文整理状态与撤销边界;缓存完整性检查不再卡在主线程。
  • Agent 选择器改用服务器实际提供的 agent 列表;目录浏览器与搜索结果去重;问答表单的异常字段不再导致页面崩溃。
  • 服务器返回的失败原因(字符串或嵌套对象)统一解析;工具报错为字符串时也能显示。
  • 其他:跨服务器切换保留尚未发送的手机附件;通知深链不会在屏幕旋转后重复跳转;选择新会话目标失败时有明确提示;后台定时同步超时/失败会退避重试;发送目标已切换时明确提示而不是静默丢弃。

验证

  • 本地::app:compileDebugKotlin、:app:compileDebugUnitTestKotlin 通过;:app:testDebugUnitTest 307 项全部通过(含新增的取消安全、目录退避、缓存截断、错误信封、多服务器投影与自动连接回归)。
  • CI:PR #102 的 构建与测试 通过(:app:testDebugUnitTest + :app:assembleDebug,job 用时 4 分 12 秒)。
  • 发布工作流会重新执行 Android 单元测试并构建签名 Release APK。

已知限制

  • 尚未完成 Android 真机验收:多服务器并发、已删除目录、离线服务器、连续下拉刷新、通知与前台服务表现需要在目标设备上确认。
  • 关闭「自动连接」的服务器在“全部服务器”模式中显示为未连接,需要点开时才建立连接。
  • 服务端对不存在的目录返回 500 空响应是 OpenCode 的可改进点,客户端已做容错。
  • 全部服务器模式仍只聚合每台服务器首页的会话,更早的会话切换到对应单服务器后加载。

下载

自动验证

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

Lagoon v0.2.5-rc.3

Lagoon v0.2.5-rc.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 23:12
2294133

Lagoon v0.2.5-rc.3

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

本次更新

  • 修复从“全部服务器”列表打开对话时错误切换单服务器视图的问题。
  • 保持已配置服务器的持续连接、实时汇总和断线重连,通知不再受页面筛选影响。
  • 修复授权请求已被其他客户端处理后手机仍显示“需要授权”的状态残留。
  • 新增“不显示授权窗口”和“自动授权”两个手机本地开关;自动授权仅允许一次,不修改服务器永久权限规则。
  • 隐藏授权造成的真实阻塞会显示为中性的“等待服务器处理”,不会伪装成正在执行或已完成。

验证

已知限制

  • 尚未完成 Android 真机及真实 OpenCode Server 的完整验收。
  • Android 强行停止应用、系统终止进程或前台服务受系统限制时,无法保证无限后台保活。
  • 开启自动授权会信任全部已连接服务器提出的权限请求,请仅对可信服务器启用。

下载

自动验证

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

Lagoon v0.2.5-rc.2

Lagoon v0.2.5-rc.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 13:17
e8228d2

Lagoon v0.2.5-rc.2

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

本次更新

  • 修复从“全部服务器”视图打开会话后,返回仍停留在单服务器视图的问题。
  • 从全部服务器进入会话后,返回最外层会话会恢复原来的全部服务器视图。
  • 子会话返回父会话时保持当前服务器上下文,不会提前切换。
  • 深链和全部服务器模式下的新建会话也会保留来源视图。

验证

  • GRADLE_USER_HOME=/home/lvziw/.gradle ANDROID_HOME=/home/lvziw/Android/Sdk ./gradlew --no-daemon --offline --console=plain :app:testDebugUnitTest :app:assembleDebug:通过。
  • 单元测试和 Debug APK 构建成功。

已知限制

  • 尚未在真实 Android 设备上进行手势返回和多服务器联调;导航回退逻辑已有单元测试覆盖。

下载

自动验证

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

Lagoon v0.2.5-rc.1

Lagoon v0.2.5-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 11:15
7f60bdc

Lagoon v0.2.5-rc.1

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

本次更新

  • 新增“全部服务器”模式,并行连接所有已配置的 OpenCode 服务器。
  • 聚合所有服务器的会话、运行中任务、待处理事项和未读结果;首页会显示每条会话的来源服务器。
  • 灵动岛与系统任务通知改为支持全部服务器汇总,并携带服务器与会话深链,点击后可定位到正确服务器。
  • 全部模式下新建会话可选择目标服务器和项目;原有单服务器模式保持不变。
  • 增加跨服务器同名会话、项目和任务摘要的隔离测试。

验证

  • ANDROID_HOME=/home/lvziw/Android/Sdk ./gradlew :app:testDebugUnitTest :app:assembleDebug:通过。
  • 单元测试 269 项通过,Debug APK 构建成功。

已知限制

  • 全部模式当前聚合每台服务器首页分页的首批会话;更早会话仍可切换到对应单服务器后加载。
  • 尚未在真实多服务器设备环境和真实 OpenCode Server 集群上联调。

下载

自动验证

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

Lagoon v0.2.4

Choose a tag to compare

@github-actions github-actions released this 12 Oct 23:19
4a068c6

Lagoon v0.2.4

这是 Lagoon 正式版本。

本次更新

  • 移除 Android 16 实时通知进度横条中央的应用图标,保留分段进度状态展示。
  • 保留普通通知中的应用图标,不影响通知识别。

验证

  • Android 单元测试与 Debug APK 构建通过。
  • GitHub Actions CI 构建与测试通过。

已知限制

  • 尚未在真实 Android 设备及各厂商系统上逐一验证实时通知横条的最终视觉效果。

下载

自动验证

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

Lagoon v0.2.4-rc.4

Lagoon v0.2.4-rc.4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Oct 23:05
4da1038

Lagoon v0.2.4-rc.4

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

本次更新

  • 修复多个并行后台子任务只识别到一个、或被误判为普通根任务的问题。
  • 兼容 session.created 直接会话信息与嵌套 properties.info 两种事件格式,补全子会话到根会话的父链映射。
  • 断线重连和权威对账时补拉缺失的子会话、shell 所属会话及其祖先,避免后台工作漏报。
  • 保持同一根会话在任务总览中只计为一个运行任务,同时正确维持多个并行后台子任务直到全部结束。
  • 补充后台 shell、多个并行子任务、嵌套会话事件和离线恢复的回归测试。

验证

  • ANDROID_HOME=/home/lvziw/Android/Sdk ./gradlew :app:testDebugUnitTest :app:assembleDebug:通过。
  • git diff --check:通过。

已知限制

  • 尚未在真实 Android 设备连接真实 OpenCode 服务上完成多后台任务端到端验收。
  • 发布工作流会在 GitHub Actions 中重新执行单元测试并构建、校验稳定签名的 Release APK。

下载

自动验证

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

Lagoon v0.2.4-rc.3

Lagoon v0.2.4-rc.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 10 Oct 14:50
291c978

Lagoon v0.2.4-rc.3

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

本次更新

  • 修复多客户端同时在线时工具调用权限在手机端被误判为“等待授权”且无法清除的问题。
  • 容错处理已在电脑端或其他端被自动批准(autoaccept)并注销的权限请求,手机端收到或回复已消费的权限(HTTP 404)时宽容放行并自动从待审批列表中移除,不再阻塞后续任务状态。
  • 通知栏快捷操作对已失效/已完成的授权请求做平滑收敛,避免异常报错。
  • 对齐事件流中 permission.replied 与 form.replied 的 ID 匹配逻辑。

验证

  • ANDROID_HOME=/home/lvziw/Android/Sdk ./gradlew :app:testDebugUnitTest :app:assembleDebug:通过,单元测试和 Debug APK 构建成功。
  • 新增单元回归测试 replyPermissionTolerates404WhenAlreadySettledElsewhere 验证 404 容错通过。

已知限制

  • 目前首发支持 OpenCode 2.x 协议实例,其他 harness 驱动将在后续版本逐步接入。
  • 真实设备上的实时更新(Live Updates)与超级岛展示效果依赖 Android 16 系统环境。

下载

自动验证

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