zai-org / zai-org/feedback

[Bug] 升级zcode 3.5.3 以后点击左侧ssh 远程目录的刷新图标,无法链接

Open
#195 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

priority: P2 status: 待评估 type: Bug
Dominant language
No language data
Stars
22
Forks
1
PR merge metrics
No merged PRs in 30d

Description

提交前确认 · Pre-submission checklist
  • 我已搜索过现有 issue,确认这不是重复 / I searched existing issues and confirmed this isn't a duplicate.
  • 我已阅读 CONTRIBUTING.md / I've read CONTRIBUTING.md.
问题类别 · Category

稳定性 / 崩溃 · Stability / Crash

涉及的 Agent 框架 · Agent framework

ZCode Agent(自研)

严重程度 · Severity

阻塞使用 · Blocking (无法使用核心功能 / core function unusable)

复现频率 · Reproducibility

必现 · Always

问题描述 · Description

升级zcode 3.5.3 以后点击左侧ssh 远程目录的刷新图标,无法链接

Image
复现步骤 · Steps to reproduce
  1. 打开zcode
  2. 点击左侧ssh远程目录
期望表现 · Expected behavior
  1. 链接成功
实际表现 · Actual behavior
  1. 一直转圈,ssh链接不了。

btw: 新建ssh目录是可以链接的。

ZCode 版本 · ZCode version

3.5.3

设备 / 系统 / 浏览器 · Device / OS / Browser

win 11

截图 / 录屏 / 日志 · Screenshots / Recordings / Logs

}
[2026-07-28 10:12:20.473] [info] [pid:12484] [main] [host-log] (remote-workspace-ssh-6.12.232.139-2689f65c-1) [host] [remote] [2026-07-28 10:12:21.476] [pid:162793] [zcode-agent] ZCode agent process error {
workspaceKey: 'remote:ssh:xxx:22:xxx:/data/review/0722-mr894',
pid: undefined,
runtimeIdentity: 'remote:ssh:xxx:22:xxx:/data/review/0722-mr8941:unknown',
errorName: 'Error',
errorMessage: 'spawn /home/xxx/.zcode/server/agents/glm/zcode-agent ENOENT',
errorStack: 'Error: spawn /home/xxx/.zcode/server/agents/glm/zcode-agent ENOENT\n' +
' at ChildProcess._handle.onexit (node:internal/child_process:285:19)\n' +
' at onErrorNT (node:internal/child_process:483:16)\n' +
' at process.processTicksAndRejections (node:internal/process/task_queues:90:21)',
spawnPreflight: {
command: '/home/xxx/.zcode/server/agents/glm/zcode-agent',
args: [ 'app-server', '--stdio' ],
requestedCwd: '/data/review/0722-mr894-',
cwd: '/data/review/0722-mr894-',
cwdSource: 'command',
commandPathKind: 'absolute',
commandExists: true,
cwdExists: false
}
}
[2026-07-28 10:12:20.475] [info] [pid:12484] [main] [host-log] (remote-workspace-ssh-6.12.232.139-2689f65c-1) [host] [remote] [2026-07-28 10:12:21.477] [pid:162793] [zcode-agent-service] ZCode Protocol workspace/updateProviderRegistry 失败 {
durationMs: 40,
message: 'write EPIPE',
providerCount: 2,
revision: 'sha256:b238ef0b72901a5c9ea442b573856a212a7db9b4b26cbba136a18a4d701dce59',
workspaceKey: 'remote:ssh:xxx:22:xxx:/data/review/0722-mr894',
workspacePath: '/data/review/0722-mr894'
}
[2026-07-28 10:12:20.478] [warn] [pid:12484] [main] [host-log] (remote-workspace-ssh-6.12.232.139-2689f65c-1) [host] [2026-07-28 10:12:20.472] [pid:160] [zcode-host] [rpc:call] zcode-session.updateProviderRegistry FAIL (92.8ms) {"name":"Error","message":"write EPIPE","stack":"Error: write EPIPE\n at afterWriteDispatched (node:internal/stream_base_commons:159:15)\n at writeGeneric (node:internal/stream_base_commons:150:3)\n at Socket._writeGeneric (node:net:971:11)\n at Socket._write (node:net:983:8)\n at writeOrBuffer (node:internal/streams/writable:572:12)\n at _write (node:internal/streams/writable:501:10)\n at Writable.write (node:internal/streams/writable:510:10)\n at /home/xxx/.zcode/server/zcode-server.cjs:170443:24\n at new Promise ()\n at ZCodeStdioTransport.send (/home/xxx/.zcode/server/zcode-server.cjs:170442:11)"}
[2026-07-28 10:12:20.480] [info] [pid:12484] [main] [host-log] (remote-workspace-ssh-6.12.232.139-2689f65c-1) [host] [remote] [2026-07-28 10:12:21.477] [pid:162793] [zcode-agent] ZCode agent process cleanup completed {
workspaceKey: 'remote:ssh:xxx:xxx:/data/review/0722-mr894-明桥',
pid: undefined,
runtimeIdentity: 'remote:ssh:xxxx:xxx:/data/review/0722-mr894-明桥:1:unknown',
reason: 'protocol-close'
}
[2026-07-28 10:12:20.481] [info] [pid:12484] [main] [host-log] (remote-workspace-ssh-6.12.232.139-2689f65c-1) [host] [remote] /home/xxx/.zcode/server/zcode-server.cjs:169190
this.rejectAll(new Error(ZCode agent transport closed${suffix}));
^

Error: ZCode agent transport closed: spawn /home/xxx/.zcode/server/agents/glm/zcode-agent ENOENT
at /home/xxx/.zcode/server/zcode-server.cjs:169190:24
at Emitter.fire (/home/xxx/.zcode/server/zcode-server.cjs:158227:7)
at ZCodeStdioTransport.fireClose (/home/xxx/.zcode/server/zcode-server.cjs:170562:23)
at ChildProcess. (/home/xxx/.zcode/server/zcode-server.cjs:170416:12)
at Object.onceWrapper (node:events:633:26)
at ChildProcess.emit (node:events:530:35)
at ChildProcess._handle.onexit (node:internal/child_process:291:12)
at onErrorNT (node:internal/child_process:483:16)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21)

Node.js v22.16.0
[2026-07-28 10:12:20.505] [warn] [pid:12484] [main] [host-log] (remote-workspace-ssh-6.12.232.139-2689f65c-1) [host] [ssh] exec channel failed: code=1
[2026-07-28 10:12:20.507] [warn] [pid:12484] [main] [host-log] (remote-workspace-ssh-6.12.232.139-2689f65c-1) [host] [2026-07-28 10:12:20.505] [pid:160] [zcode-host] remote connection closed unexpectedly, exitCode=1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure by refreshing an existing SSH remote directory after upgrading to ZCode 3.5.3, then inspect the remote-workspace logs and zcode-server.cjs errors. Start with the zcode-agent spawn failure showing ENOENT and cwdExists false, and compare it with creating a new SSH directory. Done means the existing directory connects successfully instead of spinning indefinitely.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js
Domain
backend, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.