Repository navigation
feat(docker): 接入 API-24 原生容器终端 - #1
Merged
Merged
Conversation
xiaoyumuxi
marked this pull request as ready for review
November 2, 2026 14:46
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
容器详情原先没有接入 Lithe 已公开的 API-24,无法直接进入容器 Shell。本次增加“打开终端”,经插件后端请求 Lithe 原生终端,使用当前 Docker socket 和实际容器 ID 启动交互会话。
改动
terminal.create权限,后端先发现create/show/reopen/dispose能力;旧宿主、缺少工作区、权限或平台不支持时保留明确失败。docker --host unix://<socket> exec --interactive --tty <canonical container ID> <shell>,清除可能覆盖所选引擎的 Docker context/host/TLS 环境变量。停止或暂停的容器拒绝启动,Shell 限定为/bin/sh、/bin/bash、/bin/ash。macos-15-intel,保留 universal 双架构校验,并增加引擎启动超时和失败日志,修复托管 ARM runner 启动 VZ 失败。验证
actionlint .github/workflows/ci.yml .github/workflows/release.yml:通过。npm --prefix ui run check、npm --prefix ui test:通过,3 项前端测试。cargo fmt --manifest-path backend/Cargo.toml --all -- --check、cargo clippy --locked --manifest-path backend/Cargo.toml --all-targets -- -D warnings:通过。后端 27 项测试通过,逐项计时 HTML/JUnit 已生成;新增 argv/引擎隔离测试耗时约 2 ms。
node scripts/package.mjs:universal macOS 安装包构建及校验通过(arm64 / x86_64)。真实 Core + Docker 集成检查通过:API-24 请求权限/上下文路由、当前 socket 与 canonical ID、无效 Shell 和停止容器拒绝、包文件字节不变;临时容器与测试后端已清理。
真实 Docker 数据预览检查了标签栏右侧布局与窄面板换行,临时预览已关闭。
Lithe 主仓库的运行时 bundle 只读、测试稳定性和功能矩阵校验通过;本次改动自检未发现需要阻塞合并的问题。
GitHub CI 在提交
8cd7428全部通过:run 41463743301,包含 Page、Backend,以及 Intel macOS 上的 universal 打包、Colima 启动、真实 Core + Docker 集成、引擎清理和归档验证。待验收
API-24 首版仅支持本机 macOS,Docker CLI 必须位于终端 PATH,容器中必须有所选 Shell。Core-only 测试没有原生窗口,对终端请求明确返回不可用,没有伪造终端启动成功。安装插件后的完整原生交互(输入、Ctrl-C、焦点、缩放、关闭重开、取消确认及禁用清理)仍待整机验收,因此保留 Draft。