Open
feat: 支持 Remote-WSL/SSH 远端日志解析 + 纯 JS zip 解压(yauzl),版本升级至 0.0.3 #23
feat: 支持 Remote-WSL/SSH 远端日志解析 + 纯 JS zip 解压(yauzl),版本升级至 0.0.3 #23
Open
liruichenAdd on Aug 10
liruichenCollaborators
Aug 10

当前PR是否有AI参与:

    1. AI Agent 平台: opencode
    2. AI 模型: Claude (deepseek-v4-flash)
    3. Prompt上下文: 支持 Remote-WSL/SSH 远端日志解析、zip 解压去 CLI 依赖、最近记录 URI 化

PR功能描述 / 为什么需要这个合入:

本 PR 从 chore/bump-version-0.0.2 分支合并到 main,包含 1 个提交,修改 20 个文件。

变更类型

修改方案:

  1. Remote-WSL/SSH 支持:package.json 的 extensionKind 由 ui 改为 workspace,新增 src/resourceUri.ts 统一处理远端 URI(vscode-uri 解析、宿主 fsPath 与 URI 互转),本地窗口在 Windows/macOS/Linux 读本地日志,WSL/SSH 窗口在远端宿主读远端日志。
  2. zip 解压去 CLI 依赖:src/archive.ts 的 .zip 提取改用纯 JS yauzl 惰性读取(替代原先依赖系统 tar/unzip CLI 的探测式流程),带条目数/解压总量上限、zip-slip 路径校验、拒绝符号链接与特殊文件;新增 src/yauzl.d.ts 类型声明与 test/backend/_zip-fixture.ts 测试夹具。
  3. 最近打开记录 URI 化:DumpHistoryEntry 增加 uri/sourceUri/kind 字段,归档缓存过期后可凭 sourceUri 从原压缩包自动重建;recentDumpsModel.ts 新增 historyKey 稳定去重键,recentDumpsProvider.ts 支持按 source/uri 删除与树视图展示可重建条目。
  4. 归档缓存生命周期:extension.ts 接入 cleanupArchiveCache,解压目录改到 globalStorageUri 下的 archive-cache,MCP 侧同步传入缓存根目录。
  5. 工程化:版本升级至 0.0.3;deploy 脚本跨平台化(scripts/deploy.mjs,从 BMCSTUDIO_CLI/PATH/常见安装目录定位 Studio CLI);README 重写(特性、Remote-WSL/SSH 使用、项目结构);新增 .gitattributes;新增 test/backend/extension-manifest.test.ts 校验 manifest 的 extensionKind/依赖。

验证方案:

  • npm test:95 个测试文件、666 个用例全部通过(含新增 zip 解压、manifest、最近记录 URI 用例)。
  • npm run golden:40 个 API route 冻结输出门禁保持通过。
  • npm run lint:ESLint + Prettier 检查通过。
  • 手动验证:本地打开 .zip/.tar.gz dump、解压缓存清理、远程 WSL 窗口打开远端 dump。

测试建议:

  • 重点回归 zip 解压(路径逃逸、符号链接、超大条目拦截)与归档缓存重建流程。
  • 建议在 Remote-WSL / SSH 窗口各验证一次"打开压缩包 → 最近打开 → 清缓存后重新打开"链路。

自验证报告:

该PR关联的issue

(格式为 fixes #<issue号>, 或者resolves #<issue号>): 无

希望检视人员了解:

  • 行为变化:.zip 解压不再依赖系统 tar/unzip,纯 JS 实现;最近打开记录新增 uri 字段,旧格式记录兼容迁移。
  • 版本从 0.0.1 直接升至 0.0.3(中间 0.0.2 的变更已合入 main)。
likedislike
Merge blocked
openUBMC-robotopenUBMC-robotCollaborators
Aug 10 Set zybwh,xuhaijun,DataSculptor as approver
openUBMC-robotopenUBMC-robotCollaborators
Aug 10 Added label: sig/sig-CICD
openUBMC-robot
openUBMC-robotCollaborators
Aug 10 Comments:

欢迎来到 openUBMC 社区

Hey @Polaris404 , 感谢你对社区的贡献.

机器人使用手册

有关指令的使用,可以点击 说明文档 或 论坛 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。

联系指引

有疑问可以联系 SIG: sig-CICD ,
维护者是: @DataSculptor, @xuhaijun, @zybwh ,
优秀贡献者是: @Larry_Li_006, @Polaris404 .

likedislike
openUBMC-robotopenUBMC-robotCollaborators
Aug 10 Added label: openUBMC-cla/yes
openUBMC-robot
openUBMC-robotCollaborators
Aug 10 Comments:

CLA 签署成功

Polaris404, 感谢您的代码贡献。 所有的代码贡献者都已完成了 CLA 签署。 👍

likedislike
openUBMC-robotopenUBMC-robotCollaborators
Aug 10 Added label: needs-issue
openUBMC-robot
openUBMC-robotCollaborators
Aug 10 Comments:

关联 Issue 通知

@Polaris404 , 提交的PR需要关联issue,指导链接:https://forum.openubmc.cn/t/topic/208
如果已经关联了issue, 但是needs-issue标签仍然存在,你可以在评论 /check-issue 来移除它。

likedislike
LliruichenCollaborators
Aug 10 Change title to "test-pr-update", originally titled "test-pr".
LliruichenCollaborators
Aug 10 Change title to "feat: 支持 Remote-WSL/SSH 远端日志解析 + 纯 JS zip 解压(yauzl),版本升级至 0.0.3", originally titled "test-pr-update".
LliruichenCollaborators
Aug 10 Modify description of pull request
openUBMC-robotopenUBMC-robotCollaborators
Aug 10 Added label: ai-co-authored
openUBMC-robotopenUBMC-robotCollaborators
Aug 10 Added label: ai-includes-code
openUBMC-robot
openUBMC-robotCollaborators
Aug 10 Comments:

The pipeline(pipeline number:78) is running. >>> Check Pipeline <<<.Please wait a moment...

likedislike
openUBMC-robotopenUBMC-robotCollaborators
Aug 10 Added label: ci-running
openUBMC-robotopenUBMC-robotCollaborators
Aug 10 Added label: ai-compliance-successful
openUBMC-robotopenUBMC-robotCollaborators
Aug 10 Removed label: ci-running
openUBMC-robot
openUBMC-robotCollaborators
Aug 10 Comments:
任务名称结果
pre-commit检查✅SUCCESS
静态检查✅SUCCESS
防投毒检查✅SUCCESS
开源合规检查✅SUCCESS
likedislike
openUBMC-robotopenUBMC-robotCollaborators
Aug 10 Added label: ci-successful