从npm权限到WSL2:Claude Code环境配置与多模型接入完整指南
我接手这个项目的时候最先接触到的其实是团队里不断冒出来的安装报错截图。有人卡在npm权限、有人在Windows上折腾半天跑不起来、还有人问能不能把Claude Code接到别的模型上。后来我把这些零散需求汇总成一个可复用的配置集合顺手起了个名字叫pstack-claude。名字灵感来自process stack思路很简单把AI编程助手相关的一系列进程、配置、依赖当成一个可控的栈来管理而不是装完就撒手不管。如果你正打算把Claude Code引入日常开发或者已经在用但被环境问题折腾得够呛这篇记录应该能帮你省下不少时间。下文会把安装选型、权限报错排查、Windows虚拟化平台问题、多模型接入这几个核心环节一一拆开讲所有操作都是我实际跑过的适合不同操作系统的开发者参考。1. 先从进程栈说起为什么AI编程助手需要专门管理1.1 pstack-claude的定位与诞生背景pstack-claude不是一个复杂的开源框架它更像一套我维护的工作流配置与脚本集合核心目标是让Claude Code在开发机上的安装、更新、模型接入、日常启动都保持稳定和可预期。项目名字里的pstack最初确实是从排查线上进程堆栈时借来的概念——我习惯用pstack命令看进程内部状态后来发现团队里的AI编程助手使用状态一样需要查看和管理。很多人的Claude Code装好之后遇到的问题是长期累积的Node版本换过几次、npm的全局目录权限乱了、自动更新失败、Windows开关虚拟化平台导致功能异常。这些问题单看都不难但串在一起就会消耗大量精力。pstack-claude的思路是把这些容易出错的环节沉淀成固定脚本和配置模板让环境始终处于可用状态。我把项目拆成几个主要模块环境检查脚本、安装与更新脚本、模型路由配置、常用配置模板。每个模块解决一类问题用户不用背一堆命令只要按脚本提示操作即可。这个项目在团队内部跑了几个月之后我也顺手把经验整理成了文档下文基本都是踩坑后沉淀下来的结论。1.2 为什么选择Claude Code作为核心组件选择Claude Code而不是其他方案主要看中三点。第一它跑在终端里和现有开发工具体系天然契合不需要为了某个AI功能切换IDE。第二它把代码生成、文件读写、命令执行整合在一个会话里能理解项目上下文而不只是做一个代码补全插件。第三它支持配置不同的模型接入点这意味着底层模型可以按需替换灵活性高。不过灵活性也带来了配置复杂度。很多人用了一阵子之后分不清哪些配置存到了系统级、哪些存到了项目级出了问题也不知道从哪下手。pstack-claude在这一点上做了约束所有自定义配置统一放到项目指定的配置文件里由脚本管理不在不同作用域里散落。这个设计在后面的多模型接入章节会具体展示。2. 安装Claude Code跨平台方案的选型与落地2.1 安装前必须确认的运行时环境无论什么操作系统Claude Code本质上是npm包跑在Node.js运行时上。所以第一步永远是确认Node环境别再装到一半才报版本错误。我常用的检查命令如下node -v npm -v这里有个容易被忽略的点Node版本不是越新越好但要满足Claude Code的最低要求。官方要求Node 18及以上我实测在Node 20和22上都很稳Node 16及以下会出现各种奇怪的API缺失报错别在这上面浪费时间排查。如果你的机器里同时有多个Node版本建议用nvm管理后面讲权限问题时你就能理解为什么nvm能省掉一大半烦恼。npm版本也需要看一眼。如果你的npm版本过旧安装包时解析依赖可能失败建议升到较新版本npm install -g npmlatest如果在Windows上用PowerShell执行npm命令时报执行策略错误先别慌这是脚本执行策略拦截不是npm本身的问题。可以改用npx方式启动Claude Code或者调整当前用户执行策略这个在章节3会顺带讲到。2.2 Windows环境安装的三种路径对比Windows用户安装Claude Code路径选择比macOS和Linux复杂一些因为涉及PowerShell、WSL2、Git Bash等多个终端环境。我把三种常见路径整理成表格安装路径终端环境优点缺点我是否推荐原生WindowsPowerShell / CMD直接、无需额外子系统某些功能依赖虚拟化平台文件路径权限问题多快速体验可选WSL2内部Ubuntu终端环境隔离好、权限清晰、与Linux工作流一致需要安装WSL2并启用虚拟化功能长期开发最推荐Git BashGit Bash终端无需完整Linux环境路径转换偶尔出问题依赖行为不一致不推荐原生Windows的安装命令很简单npm install -g anthropic-ai/claude-code安装完成后在PowerShell里直接运行claude即可。但如果你之后发现在使用中遇到Virtual Machine Platform或文件监视相关的报错大概率卡在Windows系统组件上不是工具本身的问题这个我在第4节会给出完整的分析。WSL2里安装命令与Linux一致不过要求你先有一个可用的WSL发行版# 在WSL终端中执行 npm install -g anthropic-ai/claude-code claudeWSL2这套方案之所以推荐核心原因是权限模型干净。Windows原生环境下npm全局目录往往指向一个需要管理员权限的路径而后台进程的启动者却是普通用户这种权限错位直接导致自动更新失败。WSL2里完全没有这个问题因为用户空间隔离得干净。2.3 Linux与macOS安装的快速路径Linux环境安装没有太多坑但也别直接跳到全局安装。我建议先检查npm全局目录的权限npm config get prefix如果输出的路径在当前用户家目录之外常见的是/usr/local说明之后很可能出现无权限写入的报错。两种解法任选其一一是改用nvm管理Node并把npm全局目录指向用户目录export NPM_CONFIG_PREFIX~/.npm-global export PATH~/.npm-global/bin:$PATH npm install -g anthropic-ai/claude-code二是把全局目录所有权交给当前用户但只是临时解法环境一换还得重来。macOS用户基本可以直接装唯一要注意的是如果你用了Homebrew安装Node某些权限模型下npm prefix会被指向Cellar目录同样会有更新失败问题。建议macOS用户像我一样设置用户级prefix一劳永逸。3. 权限与自动更新报错的完整排查链路3.1 现象auto-update failed: no write permission to npm prefix这条报错在我见过的Claude Code问题里出现频率极高。具体现象是运行claude命令时工具尝试自动更新版本但写入npm prefix对应的目录失败于是提示需要手动更新。问题在于很多人根本不知道npm prefix到底指向哪。先看问题本质。当你在终端执行npm install -g xxx时npm会把全局包放到prefix目录。如果这个目录位于系统级别的受保护位置比如/usr/local/lib/node_modules或Windows的Program Files而当前终端用户没有写权限那么在更新时会瞬间报错。这属于典型的权限错位。排查链路如下一步都不要跳# 第一步查看当前npm全局安装位置 npm config get prefix # 第二步查看该目录的权限归属 ls -ld $(npm config get prefix)正常输出应该类似/Users/你的用户名/.npm-global归属是你的用户。如果输出是/usr/local并且归属是root那问题定位了安装时用了管理员身份运行时用了普通用户身份。3.2 从报错信息反推安装方式这条经验是我排查多个同事环境后总结出来的只要看到no write permission to npm prefix几乎可以断定之前安装时使用过sudo或管理员权限。为什么这么说原因是普通用户执行npm install -g时就会立即报权限错误根本装不上既然之前装上了说明当时以高权限执行了安装。但之后运行claude时却是普通用户环境于是更新步骤就没有写权限了。这种安装时高权限、运行时低权限的组合是很多命令行工具报权限问题的经典模式。修复分两步第一步把已有全局包迁到用户可写目录第二步重新安装。先用nvm规范Node环境避免手工管理版本。然后执行mkdir -p ~/.npm-global npm config set prefix ~/.npm-global重新安装Claude Codenpm install -g anthropic-ai/claude-code为了让终端找到命令需要编辑~/.bashrc或~/.zshrc加上两行export PATH~/.npm-global/bin:$PATH改完重新打开终端运行claude --version验证。这之后自动更新就会正常工作因为bash启动时使用的是用户可写目录。3.3 验证更新与版本管理版本管理这块我踩过一个坑明明执行了更新命令却还是老版本。后来发现系统里同时存在两个安装副本一个在系统目录一个在用户目录shell优先加载了旧的那个。验证最直接的办法是打印版本时同时打印二进制路径which claude claude --version如果which claude指向的路径与npm config get prefix不一致说明PATH里有更早的目录截胡了。需要调整PATH顺序把~/.npm-global/bin提到最前面。日常更新的话直接跑claude update这比手动npm install -g更稳妥的原因在于它知道当前安装副本的具体位置不会因为PATH顺序偏差而更新错副本。4. Windows虚拟化平台与WSL环境选择的关键权衡4.1 Virtual Machine Platform报错的本质Windows用户运行Claude Code时偶尔会遇到提示说要启用Virtual Machine Platform英文报错类似Claudes workspace requires the virtual machine platform on Windows. Enable Virtual Machine Platform and restart.。这其实不是Claude Code独有的毛病而是它某些功能依赖WSL2相关的虚拟化能力。如果你之前没有启用Windows的虚拟机平台功能终端里跑的能力会受到限制。报错出现的时机通常在涉及文件系统层级操作或本地沙箱能力时。解决办法是用管理员身份打开PowerShell执行启用命令Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform执行后按提示重启系统。重启后再跑claude这个报错基本就消失了。需要注意虚拟化平台功能要求CPU支持虚拟化并且BIOS里开了相关选项。如果你已经是WSL2用户这个功能一定是开的。4.2 什么时候其实不需要开启虚拟化平台这里有个反直觉的经验不是所有用户都需要开WSL2。如果你只是用Claude Code做常规的对话式代码生成不涉及本地文件监控、命令自动执行等依赖进程隔离的特性那么不开虚拟化平台也能正常工作。但我的建议偏向保守——如果你打算长期使用还是开上比较好。原因有三一是后续功能迭代大多围绕工作区能力展开底层依赖虚拟化隔离二是开着WSL2并不影响日常使用反而多一个强大的Linux环境三是Windows原生环境的文件路径和权限问题比Linux复杂切换到WSL2后很多坑自动消失。4.3 WSL2里的最终安装方案我最终把pstack-claude的主要工作环境放在了WSL2的Ubuntu里日常使用模式是在Windows侧用Windows Terminal连接WSL终端所有Claude Code操作都在WSL内部完成。这样做的好处我实测非常明显。文件权限不会因为Windows的ACL机制产生意外npm全局前缀直接指向用户目录自动更新顺畅命令执行时的路径处理也是Linux原生行为。如果你受够了Windows终端里路径和权限的混乱这个切换成本其实不高。WSL内部安装就两个动作# 先确认Node环境 node -v # 安装Claude Code npm install -g anthropic-ai/claude-code装完运行claude会进入登录授权流程。完成之后Windows侧不需要再做任何额外安装你在终端里直接敲claude就能进入WSL环境里的工具。窗口标题会显示当前会话与模型信息一眼就能判断是在哪个环境运行的。这里有个使用细节Windows侧的PATH变量尽量不要加入WSL内部的可执行文件路径虽然能跑但两边的路径转换规则不一样容易产生玄学问题。宁可多敲一步wsl命令也别让两个环境互相污染。5. 让Claude Code跑在更适合的模型上多模型接入实践5.1 为什么不用改代码就能换模型Claude Code支持通过环境变量指定API接入点这就意味着底层模型不一定必须是官方服务。社区常见的做法是配置环境变量把请求指向兼容Anthropic接口的服务或自建网关从而接入DeepSeek、通义千问等不同模型。听起来很神奇原理其实不复杂。Claude Code调用的是Anthropic兼容的API协议只要目标服务实现了同一个协议工具自身不需要修改代码只需要知道往哪里发请求、用什么模型名。这就是pstack-claude引入模型路由模块的原因。把可切换的模型配置收敛到一处避免每次换模型都要手改环境变量。5.2 接入DeepSeek等模型的具体配置这里以DeepSeek为例演示怎么通过环境变量切换模型。原理同样适用于其他兼容接口。在项目目录下创建一个.env文件集中存放配置# .env 示例 ANTHROPIC_BASE_URLhttps://你的API网关地址 ANTHROPIC_AUTH_TOKEN你的API密钥 ANTHROPIC_MODELdeepseek-chat ANTHROPIC_SMALL_FAST_MODELdeepseek-chat配置中ANTHROPIC_BASE_URL指向兼容服务的入口ANTHROPIC_AUTH_TOKEN换成对应服务的密钥ANTHROPIC_MODEL指定主模型名。这个写法的好处是切换模型时只改这一份文件不污染系统级环境变量。为了让配置生效我在pstack-claude里提供了一个启动包装脚本核心逻辑是#!/usr/bin/env bash # 启动前加载项目配置 if [ -f .env ]; then set -a source .env set a fi exec claude $启动脚本的作用相当于给Claude Code包裹了一层配置加载器。每换一个项目只要保证对应目录里的.env配置正确即可。5.3 不同模型的表现差异与选择建议用了一段时间之后我把几种模型的表现做了对比结果不涉及精确基准测试更多是使用感受模型代码生成质量上下文理解响应速度成本Claude官方模型极高复杂重构能力强强长对话保持稳定中等较高DeepSeek兼容接入高日常编码够用中上上下文较长时略有衰减较快较低其他兼容接口参差不齐需实测参差不定不定如果你是个人开发者日常写脚本、写小工具、做代码解释接入DeepSeek这样的模型性价比很高。但如果你在做大型项目重构需要模型深刻理解整个代码库的结构和依赖官方模型的表现还是更胜一筹。我的习惯是日常小任务走便宜模型涉及大模块重构切回官方模型。pstack-claude的模型路由配置把切换成本降到最低这也算是我保留这个项目的重要原因。5.4 多模型接入的注意事项配置多模型接入有几点需要提醒。第一API密钥不要硬编码进代码或提交到git仓库建议使用.env并加入.gitignore或者用密钥管理工具注入环境变量。第二不同模型的上下文窗口能力不同超长对话时如果输出变差先检查有没有超出模型上下文限制。第三某些兼容接口并不是完全实现Anthropic协议遇到工具调用异常时先确认目标服务对Function Calling的支持程度。6. pstack工作流的日常操作与避坑清单6.1 典型使用场景需求拆解到代码落地的完整链路在pstack-claude稳定运行之后我的日常开发流程简化成了这样在终端里启动claude给出一个需求描述工具自行读取项目结构理解相关文件然后生成修改方案。如果涉及多个文件它会主动规划编辑步骤遇到模糊需求会主动确认而不是闷头改。一个我经常用到的例子是批量重命名接口字段。以前这种活要自己写正则配合grep确认每一处引用现在只需要说清楚把接口A的字段B改成C同步更新所有调用方工具会列出涉及的文件清单执行修改并在最后跑一次基础校验。节约的时间非常明显。不过要注意Claude Code生成的代码不要直接无脑合入。它的代码质量上限很高但下限也可能很低。我会让它在生成的代码里附带解释性注释然后我人工快速过一遍。特别是改到关键业务逻辑时一定要保留自己的判断。6.2 值得养成的配置习惯与目录约定pstack-claude对目录约定有两条硬性要求一是所有自定义配置集中管理避免散落在系统目录和项目目录两处二是每个项目的AI辅助配置跟着项目走用.env维护。我强烈建议把启动脚本放到PATH中并给常用命令设置别名。比如alias caclaude alias casclaude --continue用了别名之后日常启动效率提升明显而且--continue参数用于继续上次会话避免每次都要重新解释上下文。还有一个细节Claude Code的会话记录会保存在用户目录下如果你同时开多个项目建议每次进入项目前确认当前目录正确。我遇到过在错误目录里跑claude导致它读错上下文、给出完全无关建议的情况。这不是工具bug是使用习惯问题。6.3 其他常见报错的快速对照表我把这段时间处理的常见问题整理成了对照表方便大家快速定位报错/现象根本原因推荐处理auto-update failed: no write permissionnpm全局目录无写权限设置用户级npm prefix重装Virtual Machine Platform报错Windows未启用虚拟化平台管理员身份执行Enable-WindowsOptionalFeatureclaude命令找不到npm bin目录不在PATH把~/.npm-global/bin加入PATH更新后版本没变存在多个安装副本PATH加载旧版用which claude定位清洗重复安装请求超时或连续失败网络访问不稳定或代理设置冲突检查终端代理配置确保请求能直达目标接口模型响应逐渐变差超出模型上下文窗口精简会话或使用summary压缩上下文这些报错里大部分都能在前面的章节找到对应排查思路。如果遇到完全没见过的报错我建议先看完整报错信息而不是只看首行很多时候提示里已经写明了解决办法。6.4 走过这段路之后的思考pstack-claude这个项目做到后面我对它的定位已经从环境安装工具变成了AI辅助开发的秩序管理器。技术圈对AI编程助手的讨论往往集中在模型能力强不强、生成代码快不快但实际工作中一个稳定可控的环境可能就是决定你愿不愿意每天用它的前提。如果你也被安装权限、自动更新、虚拟化报错这些问题困扰过我的建议是先花一下午时间把环境彻底整理干净该开的功能打开该统一的管理好。因为这类基础设施问题不解决压力并不会消失——它只会在你调用AI编程助力的关键时刻突然爆发让你完全没法推进工作。

相关新闻

pstack-claude:Claude本地工具链分层排错与安装指南

pstack-claude:Claude本地工具链分层排错与安装指南

1. 从"pstack-claude"这个名字说起:它到底想解决什么问题第一次看到pstack-claude这个标题,很多人会愣一下——pstack 是什么?和 Claude 又是什么关系?如果你平时关注命令行工具链,可能知道pstack在 Linux 世…

2026/10/9 9:49:06 阅读更多 →
授权不等于放羊:管理者如何做到放手不放眼

授权不等于放羊:管理者如何做到放手不放眼

1. 先搞清楚:授权为什么会变成放羊带团队这些年,我见过太多“授权翻车”的案例。最常见的场景就是:管理者把任务交下去,嘴上说“这事你全权负责,我放心你”,然后该干嘛干嘛,结果到交付节点一看&…

2026/10/9 9:49:06 阅读更多 →
Claude Code 卡死诊断:用 pstack-claude 抓取 Node 进程栈快照

Claude Code 卡死诊断:用 pstack-claude 抓取 Node 进程栈快照

先讲一下我这边的真实处境:Claude Code跑一个“把整个代码库重构一次”的长期任务,跑到一半,终端光标还在,但彻底没反应了。CPU飙到百分之百,风扇狂转,命令输进去完全不执行,连CtrlC都压不死。日…

2026/10/9 9:49:06 阅读更多 →

最新新闻

多模态无监督持续后训练:视觉依赖感知框架解析

多模态无监督持续后训练:视觉依赖感知框架解析

多模态模型的持续更新一直有个很现实的问题:新数据来了,直接继续训练容易忘掉旧能力;不做训练,新场景又用不上。如果数据还没有人工标注,问题会更麻烦。这次我们看的这个框架,名字叫A Visual Dependence-Aw…

2026/10/9 10:33:01 阅读更多 →
SpringBoot+SpringCloud电商源码实战:微服务启动顺序与避坑指南

SpringBoot+SpringCloud电商源码实战:微服务启动顺序与避坑指南

简介:这是一套面向计算机相关专业在校学生与教师的电商系统课程设计/毕业设计源码包,基于Spring Boot与Spring Cloud构建,采用Spring Security、MyBatis、Redis、Docker、Elasticsearch等技术栈,并运用分布式微服务架构&#xff0…

2026/10/9 10:33:01 阅读更多 →
惠普战66拔掉耳机后扬声器无声

惠普战66拔掉耳机后扬声器无声

机型 HP ZHAN 66 Pro A 14 G4 | Windows 10 | 声卡 Realtek ALC236帖主的问题最终还是借助 Cursor 得以修复,下附 Cursor 总结的具体的问题表现、排查过程及结论,供有需要的同仁参考。一、问题描述耳机插上以后,声音正常。耳机拔掉以后&a…

2026/10/9 10:33:01 阅读更多 →
从临时Subagent到持久化AI团队:状态恢复与审计追踪设计

从临时Subagent到持久化AI团队:状态恢复与审计追踪设计

这次我们来看一个很有意思的项目:Show HN: Turn ad-hoc subagents into durable, accountable AI teams。从标题就能看出,它解决的不是“再做一个 Agent”,而是更现实的问题:平时随手创建的临时 Subagent 一到任务结束就丢了&…

2026/10/9 10:33:01 阅读更多 →
RIGOL DS1000系列LabVIEW驱动实战:从RS232/GPIB通信到自动化测试集成

RIGOL DS1000系列LabVIEW驱动实战:从RS232/GPIB通信到自动化测试集成

简介:这份资源面向使用普源DS1000系列示波器、希望借助LabVIEW实现远程控制与数据采集的工程师与测试人员,重点解决RS232串行通信和GPIB总线两种接口下的驱动调用问题。压缩包共54个文件,约570KB,以42个vi虚拟仪器文件为核心&…

2026/10/9 10:33:01 阅读更多 →
图书馆预约系统小程序源码拆解:Java+微信小程序+MySQL三层架构

图书馆预约系统小程序源码拆解:Java+微信小程序+MySQL三层架构

简介:这是一套基于微信小程序的图书馆预约系统毕业设计项目,面向计算机相关专业学生,适用于毕业设计或课程设计场景。系统采用微信小程序开发工具、MySQL数据库与Java的B/S架构实现,完整覆盖管理员、用户、员工三类角色&#xff1…

2026/10/9 10:32:00 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →