<!-- codsh-publication:grok-cli-dsh-rewrite:ticket-67 --> ## Parent https://github.com/Blackman99/codsh/issues/132 **Ticket:** 67 **Status:** ready-for-agent **User Stories:** 7, 18, 69(见父规格) ## What to build Linux 用户从预编译产物安装并完成第一阶段 dsh 对话、工具审批、取消和恢复。 ## Acceptance criteria - [ ] 目标架构和运行库要求明确,实际干净系统可安装,不以交叉编译通过代替可运行证明。 - [ ] 真实 PTY 驱动第一阶段流程与退出复原,Linux-specific 依赖缺失时错误可操作。 - [ ] 安装、更新、回退及数据目录策略在 Linux 一致;无需官方账号或 Rust 编译环境。 - [ ] 建立可供后续功能复用的平台运行测试,保留未测能力清单,完整 Linux 功能由最终矩阵验收。 ## Blocked by - #198 — Ticket 66: macOS 预编译安装、更新与回退 ## Delivery contract 用户于2026-09-20批准当前测试与任务拆分。按父规格的已安装产物/真实终端和公开协议测试验收;实际实现须带适用的文档、Changeset及必要检查。ready-for-agent表示任务已定义,不表示前置任务已完成,也不授权自动开始本轮实施、购买付费资源或发布软件版本。
Activity
feat(rust): Linux prebuilt install and first-phase platform run (#199)
Blackman99 commentedon Sep 28, 2026
已集成:Linux 预编译安装与第一阶段平台运行(#199)
集成提交:
a0281ca(已普通推送到rewrite/grok-dsh-20260920,未改动main)。实现内容
linux-x64与新增linux-arm64;OpenSSL 以 vendored 方式编入(运行时不再依赖系统 libssl),glibc 下限记录为 2.35。rust-artifact.mjs内置 ELF 读取,识别原生程序的 libc 与所需共享库;musl(Alpine)、过旧 glibc、缺失共享库均被拒绝并给出可操作提示(错误码libc/glibc/library),同时说明普通codsh(Node.js 运行时)照常可用。codsh --rust install-check新增runtime小节,check:rust-package校验该小节。scripts/rust-platform-test.py:可复用的"已安装产物"平台运行(install-check、安装/更新/回退、真实 turn、工具审批、取消、恢复),输出含环境信息与未测能力清单的platform-report.json,供 [Grok/dsh 68] Windows 产物与原生终端运行 #200/[Grok/dsh 69] 三平台原生能力验收 #201 复用。rust-platforms.yml新增linux-platform(GitHub 托管主机)与linux-containers(干净容器)两个 job;Changesetrust-linux-prebuilt.md(codsh-cli/codsh-bundlepatch)。检查(本地 box,Linux x64)
pnpm typecheck、cargo fmt --check通过。pnpm test:110 files passed / 2 skipped;2676 passed / 15 skipped。build+build:rust+check:rust-package+rust-install-test通过。test:rust:791 passed,4 个已知 Linux 失败(2×filesystem_sandbox、voicesubstitute_route…、privacydrafts_stay_local…),与基线一致。filesystem_sandbox.rstail_markerdead code、needless_return)。真实运行(GitHub Actions,集成提交 a0281ca 本身)
集成运行 Rust platforms #36384180623:全部成功(含 #198 的 3 个 macOS 安装 job)。均为已打包 tarball + 注册表 dsh(测试版本 0.1.5-rc.3),无官方账号、无 Rust 编译环境。
glibc)libc)开发期证据运行(
ci/199-linux-d):#36379948605,同样全部成功(Ubuntu 22.04 108797960195、24.04 108797960185、arm64 108797960292、bookworm 108797960288、trixie 108797960273、fedora 108797960422、bullseye 拒绝 108797960277、alpine 拒绝 108797960194)。拒绝提示原文:
the prebuilt Linux Rust client needs glibc 2.35 or newer, and this system has no glibc (musl, as on Alpine, is not supported).this Linux has glibc 2.31; the prebuilt Rust client needs glibc 2.35 or newer.install the package that provides <lib> (or add its directory to LD_LIBRARY_PATH)→then check again: codsh --rust install-checkplain \codsh` (the Node.js runtime) keeps working on this machine.`对照验收标准
~/.codsh-rust,不触碰旧~/.dsh/~/.grok);无需官方账号或 Rust 编译环境。scripts/rust-platform-test.py+platform-report.json未测能力清单;完整 Linux 功能留给 [Grok/dsh 69] 三平台原生能力验收 #201 最终矩阵。已记录的差异
rust-artifact.spec.mjs),CI 容器里没有构造真实缺库系统。platform-report.json的untested):系统剪贴板/图片粘贴、麦克风、桌面通知、真实终端模拟器与 tmux/SSH、真实鼠标上报、bubblewrap 沙箱、Wayland/X11 剪贴板与 OSC 52、非 Ubuntu 发行版上的 linux-arm64(交给 [Grok/dsh 69] 三平台原生能力验收 #201);长期压力([Grok/dsh 77] 三平台并发与长期资源压力 #209);真实付费模型([Grok/dsh 71] 固定任务集的真实模型评测 #203)。未改动
main,未发布包/标签/Release,未改仓库设置或 secrets。ci/199-linux、ci/199-linux-b、ci/199-linux-c、ci/199-linux-d保留未删。