当前位置: 首页 > news >正文

Windows 下 Claude Code 接入 DeepSeek 与 Cowork 故障排查实录

目录

一、环境说明

二、错误一:Host Claude Code binary not available

1. 先确认命令行版本是否可用

2. 查看 Desktop 下载日志

3. 推荐修复方法

三、错误二:同时打开桌面端后,CLI 思考明显变慢

1. 检查 Claude Desktop 是否在后台下载

2. 其他可能原因

3. 处理办法

四、如何查看 Cowork 虚拟机镜像下载进度

五、错误三:VM service not running

1. 查看相关服务

2. 查看服务退出码

3. 查看详细服务日志

4. 启动 Cowork 服务

六、常用的一键诊断命令

七、最终排障顺序

最近我在 Windows 上折腾 Claude Code、Claude Desktop、DeepSeek 和 Cowork,连续遇到了几个看起来毫无关系的问题:

  • Claude Desktop 提示Host Claude Code binary not available

  • 同时打开 CLI 和桌面端后,CLI 一直处于思考状态

  • Cowork 后台下载了一个 2GB 多的虚拟机镜像

  • 镜像下载完成后,又提示VM service not running

这些问题容易被混在一起,但实际上分别属于四层:

DeepSeek API ↑ Claude Code CLI ↑ Claude Desktop ↑ Cowork Windows VM 服务

本文记录完整的诊断和修复过程。相关版本、路径会随安装方式变化,执行命令时请以自己的环境为准。

一、环境说明

本次排查环境:

操作系统:Windows Claude Code:2.1.x Claude Desktop:Microsoft Store/MSIX 版本 模型服务:DeepSeek Anthropic 兼容接口 终端:PowerShell

Claude Code 的用户配置通常位于:

%USERPROFILE%\.claude\settings.json

配置示例:

{ "env": { "ANTHROPIC_AUTH_TOKEN": "<你的 API Key>", "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic", "ANTHROPIC_MODEL": "<你的模型名称>", "API_TIMEOUT_MS": "300000" } }

注意:

  1. 不要把真实 API Key 发到论坛、截图或提交到 Git。

  2. 模型名称取决于你的 DeepSeek 服务或中转平台,不要照抄别人的名称。

  3. API_TIMEOUT_MS建议先设置为 5 分钟,即300000。设置成几十分钟会让连接故障表现为一直思考。

二、错误一:Host Claude Code binary not available

Claude Desktop 中出现:

Host Claude Code binary not available. Check that the download completed.

这个提示很容易让人误以为是 DeepSeek 接口出错。实际上,消息还没有发送到 DeepSeek,Claude Desktop 自己需要的 Claude Code 二进制文件没有准备完成。

1. 先确认命令行版本是否可用

Get-Command claude where.exe claude claude --version

如果 PowerShell 因执行策略拦截claude.ps1,可以直接运行:

claude.cmd --version

或者使用完整路径:

& "你的 Claude Code 安装目录\claude.cmd" --version

需要注意,终端中的 Claude Code 能运行,并不代表 Claude Desktop 的组件已经就绪。Desktop 会维护自己的版本和缓存,不一定直接使用 PATH 中的 CLI。

2. 查看 Desktop 下载日志

Claude Desktop 第三方模式的日志通常位于:

%LOCALAPPDATA%\Claude-3p\logs\main.log

搜索关键错误:

Select-String ` -Path "$env:LOCALAPPDATA\Claude-3p\logs\main.log" ` -Pattern "Claude Code binary|Downloading|checksum|ERR_NETWORK|All download attempts failed"

本次遇到的真实错误包括:

net::ERR_NETWORK_CHANGED net::ERR_CONNECTION_CLOSED Checksum mismatch All download attempts failed

根因不是 DeepSeek,而是 Claude Desktop 从downloads.claude.ai下载组件时,代理节点切换、连接中断或文件只下载了一部分,最终导致校验失败。

3. 推荐修复方法

先彻底退出 Claude Desktop,包括系统托盘中的后台进程,然后:

  1. 确保downloads.claude.ai能通过稳定网络访问。

  2. 使用代理时固定节点,暂时关闭自动选择和自动切换。

  3. 重新打开 Claude Desktop,让它重新下载。

  4. 不要在下载过程中反复退出或切换网络。

如果对应版本目录是空的,可以在完全退出 Claude Desktop 后删除这个空目录,再让 Desktop 重建:

$root = "$env:LOCALAPPDATA\Claude-3p\claude-code" Get-ChildItem $root

确认目标版本后再删除,避免误删其他文件:

Remove-Item "$root\<版本号>" -Recurse -Force

不要直接复制别人的claude.exe。版本、签名和校验标记不一致时,Desktop 仍可能拒绝启动。

三、错误二:同时打开桌面端后,CLI 思考明显变慢

当时 CLI 的表现是:

Misting... (2m 9s) 输入 Token:0 输出 Token:0

这里有个很重要的判断方法:

如果等待了很久,但输入、输出 Token 仍然都是 0,通常不是模型已经开始深度推理,而是请求还在以下某一层等待:

DNS / 网络连接 代理队列 TLS 建连 服务端限流 等待首个响应

1. 检查 Claude Desktop 是否在后台下载

本次问题的主要原因是 Claude Desktop 正在下载 Cowork 虚拟机镜像:

总大小约 2233.9 MB 平均速度约 1.2 MB/s

它占用了网络带宽和代理连接,CLI 同时访问 DeepSeek 时,首个响应时间就会明显变长。

可以用下面的命令查看实时日志:

Get-Content "$env:LOCALAPPDATA\Claude-3p\logs\main.log" -Tail 20 -Wait | Select-String "download.*%"

如果看到持续增长的百分比、下载速度和 ETA,就说明桌面端仍在下载。

2. 其他可能原因

如果没有后台下载,还要检查:

  • CLI 和 Desktop 是否共用同一个 API Key

  • 服务商是否限制同一 Key 的并发数

  • 代理软件是否限制单连接或总带宽

  • 是否频繁切换代理节点

  • API_TIMEOUT_MS是否设置得过大

  • 当前模型是否本来就有较长的推理时间

3. 处理办法

最简单的验证方法是:

  1. 完全退出 Claude Desktop。

  2. 重新启动 Claude Code CLI。

  3. 用相同问题测试首字响应速度。

如果速度立即恢复,基本可以确认是 Desktop 下载或并发占用造成的。

不希望关闭 Desktop 时,可以等待镜像下载完成,或者给downloads.claude.ai和 DeepSeek API 分配不同代理策略。

四、如何查看 Cowork 虚拟机镜像下载进度

实时查看:

Get-Content "$env:LOCALAPPDATA\Claude-3p\logs\main.log" -Tail 20 -Wait | Select-String "download.*%"

只查看最近一次进度:

Select-String "download.*%" ` "$env:LOCALAPPDATA\Claude-3p\logs\main.log" | Select-Object -Last 1

查看 Cowork 专用日志:

Get-Content "$env:LOCALAPPDATA\Claude-3p\logs\cowork_vm_node.log" -Tail 100

镜像目录通常是:

%LOCALAPPDATA%\Claude-3p\vm_bundles\claudevm.bundle

查看文件大小:

Get-ChildItem ` "$env:LOCALAPPDATA\Claude-3p\vm_bundles\claudevm.bundle" ` -Force | Select-Object Name, @{Name="SizeMB";Expression={[math]::Round($_.Length / 1MB, 1)}}, LastWriteTime

本次完整下载后能看到类似文件:

rootfs.vhdx.zst 约 2233.9 MB rootfs.vhdx 约 9016 MB initrd.zst 约 165.7 MB initrd 约 169.1 MB vmlinuz.zst 约 14.1 MB vmlinuz 约 14.3 MB smol-bin.vhdx 约 36 MB

压缩文件存在不代表整个流程已完成。还要确认:

  1. rootfs.vhdx已经解压生成。

  2. 日志出现All files ready

  3. 日志出现download_and_sdk_prepare completed

如果命令行停留在日志监听界面,可以按:

Ctrl + C

这只会停止Get-Content -Wait,不会停止 Claude Desktop、虚拟机服务,也不会删除已经下载的镜像。

五、错误三:VM service not running

镜像下载完成后,Claude Desktop 又提示:

无法启动 Claude 的工作区 VM service not running. The service failed to start.

此时问题已经不在下载层,而在 Windows 服务层。

1. 查看相关服务

Get-Service CoworkVMService,vmcompute,hns,WslService ` -ErrorAction SilentlyContinue | Select-Object Name,Status,StartType

主要服务:

CoworkVMService Claude 自己的 Cowork VM 服务 vmcompute Hyper-V 主机计算服务 hns 主机网络服务 WslService WSL 服务

本次排查时,vmcomputehnsWslService都正常,只有:

CoworkVMService Stopped

因此无需重新下载 2GB 镜像,也不用一上来就重装 Hyper-V。

2. 查看服务退出码

sc.exe queryex CoworkVMService sc.exe qc CoworkVMService

当时服务状态为:

STATE : STOPPED WIN32_EXIT_CODE : 1067

错误码1067表示服务进程意外终止。

3. 查看详细服务日志

Claude VM 服务的详细日志在:

C:\ProgramData\Claude\Logs\cowork-service.log

查看最后 100 行:

Get-Content "C:\ProgramData\Claude\Logs\cowork-service.log" -Tail 100

Claude Desktop 侧还可能持续出现:

connect ENOENT \\.\pipe\cowork-vm-service

这里的ENOENT不是普通文件丢失,而是 Claude Desktop 找不到 Cowork VM 服务创建的 Windows 命名管道。服务没运行,自然不会存在这个管道。

4. 启动 Cowork 服务

使用 PowerShell:

Start-Service CoworkVMService Start-Sleep -Seconds 3 Get-Service CoworkVMService

成功时应看到:

Status : Running

再检查是否会立即退出:

Start-Sleep -Seconds 5 sc.exe queryex CoworkVMService

确认命名管道:

[System.IO.Directory]::GetFiles("\\.\pipe\") | Where-Object { $_ -match "cowork-vm-service" }

正常输出:

\\.\pipe\cowork-vm-service

服务日志中也应出现:

Service ready. Listening on \\.\pipe\cowork-vm-service Client signature verified Persistent RPC: entering loop

此时回到 Claude Desktop,点击重试或重新打开 Cowork 工作区即可。

如果Start-Service提示权限不足,请以管理员身份打开 PowerShell。若服务启动后仍立即停止,再检查:

  • Windows 事件查看器中的Service Control Manager

  • C:\ProgramData\Claude\Logs\cowork-service.log

  • BIOS 中是否启用 CPU 虚拟化

  • vmcomputehns是否能正常启动

  • 安全软件是否拦截cowork-svc.exe

  • Claude Desktop 是否需要更新或重新安装

六、常用的一键诊断命令

查看 Claude CLI:

Get-Command claude -ErrorAction SilentlyContinue where.exe claude claude.cmd --version

查看最近的下载和 VM 错误:

Select-String ` -Path "$env:LOCALAPPDATA\Claude-3p\logs\main.log" ` -Pattern "download|checksum|ERR_NETWORK|VM service|binary not available" | Select-Object -Last 30

查看 Cowork 服务:

Get-Service CoworkVMService,vmcompute,hns,WslService ` -ErrorAction SilentlyContinue

查看详细 VM 日志:

Get-Content "C:\ProgramData\Claude\Logs\cowork-service.log" -Tail 100

启动 Cowork 服务:

Start-Service CoworkVMService

查看镜像是否完整:

Get-ChildItem ` "$env:LOCALAPPDATA\Claude-3p\vm_bundles\claudevm.bundle" ` -Force

七、最终排障顺序

以后再遇到类似问题,建议按下面的顺序处理:

1. claude.cmd --version 2. 检查 DeepSeek 配置,但不要泄露 API Key 3. 查看 Claude-3p\logs\main.log 4. 判断二进制文件或镜像是否仍在下载 5. 检查网络切换、代理中断和 checksum mismatch 6. 检查 CoworkVMService、vmcompute、hns 7. 查看 C:\ProgramData\Claude\Logs\cowork-service.log 8. 启动 CoworkVMService 并验证命名管道 9. 最后才考虑删除缓存或重新安装

这次最容易踩的坑,是把所有故障都归结为 DeepSeek。

实际上:

  • Host Claude Code binary not available是 Desktop 组件下载问题。

  • CLI 长时间 0 Token 通常是网络或队列等待。

  • VM service not running是 Windows 服务问题。

  • 日志监听窗口不退出,并不代表下载还没完成。

把问题分层,再顺着日志逐层检查,比反复卸载重装有效得多。

http://www.jsqmd.com/news/978496/

相关文章:

  • 从‘通道打乱’到‘通道分割’:图解ShuffleNet V1/V2的核心演进与PyTorch实现细节
  • 数据说话:低代码为何能省下七成开发成本
  • 南京口碑好的家电维修培训公司,家洁净教育上榜 - myqiye
  • 别再死磕Pytorch3D官方指南了!我的Linux(Ubuntu 20.04)保姆级安装避坑全记录
  • 科研小白入门:从零开始用NoteExpress管理文献PDF与插入引用(保姆级图文)
  • 技术方案初稿,可以从一次口述开始
  • Winhance中文版:Windows系统优化的终极免费解决方案
  • 别再手动改Excel了!用Python的openpyxl库批量处理单元格数据(附完整代码)
  • 【汽车雷达】基于线性调频脉冲(LMCW)雷达仿真(Matlab代码实现)
  • 从设计稿到完美还原:手把手教你定制el-table样式,搞定UI设计师的‘像素眼’
  • 别再手动输坐标了!Excel表格一键导入Arcmap生成点图层(附坐标转换公式)
  • 深入蜂鸟E203内核:手把手带你用VCS+Verdi调试RV32I指令执行全过程
  • 跟着 MDN 学JavaScript day_10:数组——数据的有序集合
  • 全志 T113-i 截屏调试记录
  • 手把手教你用Qt和QScada框架,从零搭建一个简易的工业组态监控界面
  • 如何解决区域企业技术需求挖掘不精准的问题?
  • 2026年,揭秘天水废铜回收,哪家才是行业黑马?
  • 从ESP-01S到ESP-12F:一个毕业生的物联网上云踩坑实录(附完整接线图)
  • 口碑好的过滤料厂家有哪些,三山鹅卵石厂上榜了吗? - mypinpai
  • 2026 小程序行业发展全景洞察:技术迭代与商业落地趋势解析
  • 从数据手册到PCB:手把手复现ADS1274评估板的核心电路与布局
  • 别再死记硬背了!用FFmpeg实战拆解音视频面试高频考点(附避坑指南)
  • 招聘平台岗位数据采集分析与可视化实战包(BOSS直聘/拉勾/智联)
  • Cesium画点总被‘吃掉’一半?别慌,这3个方法帮你搞定(附代码示例)
  • 手把手教你用ESP32解析北斗/GPS模块的NMEA数据(附完整Arduino代码)
  • 针刺无纺布多少钱,炎瑞无纺性价比高吗 - mypinpai
  • C语言实验3
  • 告别端口打架!彻底解决Windows SNMPTRAP服务与iReasoning MIB Browser的162端口冲突
  • 避坑指南:STM32F103C8T6驱动MFRC522读卡,SPI通信失败、读不到卡怎么办?
  • 你的抽卡数据分析师:HoYo.Gacha 让每一次十连都有意义