SSH 连上却看不到插件?TaoToken 配置排查与 settings.json 骨架
1. SSH 连上却看不到插件先搞清楚 VS Code 的两套扩展目录你大概率遇到过这个场景VS Code 用 Remote-SSH 连上了远程机器终端能敲命令文件能打开一切看起来正常。但左侧扩展面板里空空如也或者只显示本地装的那几个插件远程机器上明明装过的 Python、Pylance、ESLint 全都不见了。更迷惑的是本地 VS Code 的扩展列表里居然能看到「已在 SSH: xxx 上安装」的标记点进去却提示未安装。这不是 bug而是 VS Code 的扩展体系本来就是分层的。Remote-SSH 模式下扩展分成两类一类跑在本地 UI 进程Local一类跑在远程服务端Remote。本地扩展负责界面、主题、快捷键这类不依赖运行环境的东西远程扩展负责语言服务、调试器、Linter 这类需要访问远程文件系统和运行时的东西。你在本地扩展面板看到的「已安装」指的是本地那份远程那份装在~/.vscode-server/extensions/下和本地完全隔离。问题就出在这里很多人之前在远程机器上直接用图形界面的 VS Code或者用 VNC 连过去开的 VS Code插件装在了~/.vscode/extensions/。而 Remote-SSH 用的是~/.vscode-server/extensions/。两个目录不一样自然互相看不见。你以为「远程装过了」其实装的是另一个 VS Code 实例的目录。这篇就按这个思路走先讲清楚两套目录的区别再给一份可复制的settings.json骨架然后逐项验证——检查扩展安装位置、重载窗口、看远程日志最后把常见报错一个个排掉。适合刚用 Remote-SSH 连虚拟机、容器或云主机的同学也适合被「扩展面板空白」卡了半天找不到原因的人。2. TaoToken 前置为什么排查前先把模型接入理顺排查扩展问题本身不需要模型但你在远程环境里写代码、跑 Agent、调 Coding Plan 的时候模型接入是绕不开的一环。我习惯在动手排查前先把 TaoToken 的接入配置确认好这样后面验证远程环境是否正常时可以直接用一个真实的模型请求来测而不是只盯着扩展面板发呆。TaoToken 在这里的角色是统一的模型接入层。你不需要在每台远程机器上分别配置不同厂商的 Key只要在远程环境的配置里指向同一个 API 地址就能让远程的 VS Code 扩展、终端里的 CLI 工具、以及各种 Agent 用上同一套模型能力。官网入口在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 地址是 https://taotoken.net/api 注意 API 地址后面不加 UTM 参数直接写就行。具体到操作层面你需要先拿到 API Key。打开 https://taotoken.net/api-keys 生成一个然后把它写进远程环境的配置里。如果你用的是 Claude Code 这类 CLI 工具接入文档在 https://taotoken.net/doc 有详细说明如果你更习惯在对话界面里验证模型是否通可以直接用 https://taotoken.net/models 试一条请求。长期在远程做编码和 Agent 任务的话Coding Plan 的入口在 https://taotoken.net/coding-plan 适合把模型调用固定下来不用每次临时配。这里要强调一点TaoToken 是合规的模型接入服务不是任何形式的网络中转工具。你配置的时候只填 API 地址和 Key不要引入其他无关的代理设置。远程环境本身能正常访问外网 API 就行这跟 SSH 连接是两回事。3. 可复制的 settings.json 骨架与 remote.SSH 配置项先把配置文件摆出来。远程环境的 VS Code 设置分两层一层是远程机器上的用户设置路径在 Linux 下是~/.vscode-server/data/Machine/settings.json或者通过 Remote-SSH 连接后按CtrlShiftP输入「Preferences: Open Remote Settings」打开另一层是本地工作区的.vscode/settings.json。下面这份骨架可以直接复制重点是把扩展管理和终端行为配好。{ remote.SSH.remotePlatform: { your-host-alias: linux }, remote.SSH.connectTimeout: 60, remote.SSH.useLocalServer: true, remote.SSH.showLoginTerminal: true, remote.SSH.enableRemoteCommand: true, remote.SSH.logLevel: debug, terminal.integrated.cwd: ${fileDirname}, terminal.integrated.lineHeight: 1, terminal.integrated.letterSpacing: 2, window.openFilesInNewWindow: off, extensions.autoUpdate: false, extensions.autoCheckUpdates: false }逐项说一下。remote.SSH.remotePlatform是显式告诉 VS Code 远程主机是什么系统避免它自动探测出错导致扩展安装到错误路径。connectTimeout设 60 秒网络慢的时候不至于刚连上就断。useLocalServer保持 true让本地负责 SSH 隧道远程只跑服务端。showLoginTerminal打开后连接过程会弹一个终端方便你看登录脚本有没有报错。logLevel设成 debug排查阶段很有用连上后能在输出面板看到详细日志。终端那几项是顺手配的cwd用${fileDirname}让新终端默认落在当前文件所在目录lineHeight和letterSpacing调一下视觉舒适度openFilesInNewWindow设 off 避免每次打开文件都弹新窗口。最后两项关掉扩展自动更新排查期间减少变量等确认没问题再打开。注意remote.SSH.remotePlatform里的your-host-alias要换成你 SSH 配置里的 Host 名比如dev-vm或gpu-box。这个别名在~/.ssh/config里定义VS Code 读的就是这个。4. 逐项验证扩展位置、重载窗口、远程日志配置写好后按顺序做三件事基本能定位 90% 的问题。4.1 检查扩展到底装在哪先在远程终端里跑这两条命令看两个目录各有什么ls -la ~/.vscode-server/extensions/ 2/dev/null | head -20 ls -la ~/.vscode/extensions/ 2/dev/null | head -20如果第一个目录是空的或者只有几个内置扩展第二个目录里却有一堆你认识的插件那问题就明确了插件装在了图形界面 VS Code 的目录里Remote-SSH 用的是另一个。解决办法是把它们同步过去mkdir -p ~/.vscode-server/extensions/ cp -r ~/.vscode/extensions/* ~/.vscode-server/extensions/复制完别急着高兴还要确认权限。远程服务端是以你的用户身份跑的目录属主必须是你自己chown -R $(whoami):$(whoami) ~/.vscode-server/extensions/4.2 重载窗口让扩展重新扫描复制完扩展后在 VS Code 里按CtrlShiftP输入「Developer: Reload Window」重载。重载会重启远程服务端进程重新扫描~/.vscode-server/extensions/。如果扩展面板还是空的再试一次「Remote-SSH: Kill VS Code Server on Host」把远程服务端彻底杀掉然后重新连接。这一步会清掉服务端的缓存有时候缓存里的扩展索引坏了重载没用必须杀进程。4.3 看远程日志确认服务端状态打开输出面板CtrlShiftU右上角下拉选「Remote - SSH」。这里能看到连接过程的完整日志包括服务端脚本执行、扩展安装、以及任何报错。重点看有没有这几类信息Installing VS Code Server是否成功、Extension host是否启动、有没有EACCES或ENOENT这类文件权限错误。如果日志里出现Server installation failed多半是远程机器磁盘满了或者/tmp没权限。跑一下df -h和ls -ld /tmp确认。如果出现Extension host terminated unexpectedly通常是某个扩展和远程环境不兼容可以在扩展面板里禁用最近装的插件逐个排除。5. 本篇常见错排查5.1 扩展面板显示「未安装」但本地明明有这是最典型的症状。原因就是本地扩展和远程扩展是两套。你在本地扩展面板看到的「已安装」指的是本地那份远程那份需要单独装。解决办法有两个一是在扩展面板里找到插件点「Install in SSH: your-host」让它装到远程二是用上面的cp命令手动同步。推荐用第一种因为 VS Code 会自动处理版本和依赖。5.2 远程日志报EACCES: permission denied远程服务端目录权限不对。检查~/.vscode-server/的属主ls -ld ~/.vscode-server如果属主不是当前用户改回来chown -R $(whoami):$(whoami) ~/.vscode-server还有一种情况是远程机器上之前用 root 跑过 VS Code Server留下了 root 属主的文件。这种直接删掉重来rm -rf ~/.vscode-server然后重新连接VS Code 会重新下载服务端。5.3 连接成功但扩展宿主起不来日志里如果看到Extension host反复重启多半是某个扩展在远程环境跑不起来。先禁用所有扩展再逐个启用定位到具体是哪个。常见的是依赖本地图形库的扩展或者需要特定运行时版本的插件。另外确认远程机器的 Node.js 版本有些扩展对 Node 版本有要求跑node -v看一下。5.4 模型请求在远程环境里失败如果你在远程用 CLI 工具或 Agent 调模型报连接错误先确认 API 地址写对了。TaoToken 的 API 地址是 https://taotoken.net/api 不要多加路径或参数。然后确认远程机器能正常访问这个地址curl -I https://taotoken.net/api如果返回 401 或 403说明网络通了但 Key 有问题去 https://taotoken.net/api-keys 重新生成一个。如果直接超时那是远程机器的网络出口问题跟 VS Code 扩展无关需要单独排查。6. 把配置固定下来下次直接复用排查完这一轮建议把确认可用的配置固化。远程设置里保留remote.SSH.remotePlatform和logLevel扩展同步用脚本做别每次手动cp。我自己的做法是在远程机器上放一个sync-extensions.sh内容就是前面那两条cp加chown换机器的时候跑一遍就行。模型接入这块如果你长期在远程做编码和 Agent 任务建议直接用 Coding Plan 把调用固定下来入口在 https://taotoken.net/coding-plan 省得每次临时配 Key。需要验证模型是否通的时候用 https://taotoken.net/models 发一条对话请求比在终端里 curl 更直观。接入文档在 https://taotoken.net/doc CLI 工具的配置示例都在里面。最后提醒一句扩展不显示这个问题本质是目录隔离不是连接故障。SSH 连上了说明网络和认证都没问题剩下的就是让远程服务端找到正确的扩展目录。按上面的顺序走一遍基本都能解决。

相关新闻

Claude Code架构原理拆解:AI Agent工具系统与Code执行环境配置指南

Claude Code架构原理拆解:AI Agent工具系统与Code执行环境配置指南

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

2026/9/30 22:24:47 阅读更多 →
Product Hunt 每日热榜 | 2026-04-11 开发者工具盘点:用 TaoToken 统一 Key 接入 Cline 与 CC Switch

Product Hunt 每日热榜 | 2026-04-11 开发者工具盘点:用 TaoToken 统一 Key 接入 Cline 与 CC Switch

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

2026/10/2 7:06:39 阅读更多 →
100万Token降维打击!Claude 4.6对决GPT-5.3:这2类人请无脑选前者!不用纠结!

100万Token降维打击!Claude 4.6对决GPT-5.3:这2类人请无脑选前者!不用纠结!

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

2026/10/2 20:08:15 阅读更多 →

最新新闻

蛋白质功能位点识别平台构建:从数据到部署的机器学习全流程

蛋白质功能位点识别平台构建:从数据到部署的机器学习全流程

简介:这份PDF文献面向生物信息学、蛋白质功能研究方向的初学者与科研人员,系统讲解如何用支持向量机(SVM)构建蛋白质功能位点识别的通用机器学习平台。内容涵盖非同源序列提取、序列特征编码(基本信息、物化特征、结构…

2026/10/2 22:50:06 阅读更多 →
AI智能体产品开发实战:脚手架选型与复合错误对抗指南

AI智能体产品开发实战:脚手架选型与复合错误对抗指南

1. 从 Grok Bot 一个月造出爆款说起:AI 智能体产品的演化逻辑1.1 一个月造出爆款,到底快在哪里Grok Bot 这个案例最让人坐不住的地方,不是它功能有多逆天,而是从立项到上线只用了一个月。做过 AI 产品的人都知道,这个速…

2026/10/2 22:50:06 阅读更多 →
Agentic AI Infra实战:从单机Demo到生产级Agent服务架构与部署

Agentic AI Infra实战:从单机Demo到生产级Agent服务架构与部署

1. 从云栖2026看Agentic AI Infra到底在解决什么问题1.1 一个真实开发者的困境切入去年下半年我接手了一个企业级智能体项目,需求很明确:让Agent自动完成从工单解析、知识检索、工具调用到结果回写的全链路。听起来不复杂,但真正动手之后才发…

2026/10/2 22:50:06 阅读更多 →
OpenRig:开源自动角色绑定系统,让骨骼绑定不再耗时

OpenRig:开源自动角色绑定系统,让骨骼绑定不再耗时

1. 为什么独立动画师都在聊 OpenRig 做动画的朋友应该都有这种体验:角色骨骼绑定这件事,有点像装修毛坯房——管线、承重、水电都没人替你操心,弄到一半发现骨架方向错了,控制器动不了,权重刷到手抽筋,最后…

2026/10/2 22:50:06 阅读更多 →
openrig模块化机架:用铝型材打造自由装配的设备支架

openrig模块化机架:用铝型材打造自由装配的设备支架

做硬件折腾这么多年,我见过不少号称“模块化”“可重构”的架子方案,但大多数要么是螺丝孔对不上,要么是承重一上就晃,真正能让我拆了又装、反复调整还不觉得烦的很少。看到“openrig”这个词的时候,我第一反应是——这…

2026/10/2 22:50:06 阅读更多 →
128GB统一内存跑Qwen-Image 2.1:Ryzen AI Max+ 395实战详解

128GB统一内存跑Qwen-Image 2.1:Ryzen AI Max+ 395实战详解

1. 这台"大内存怪"凭什么能跑文生图:Ryzen AI Max 395的架构逻辑Ryzen AI Max 395这台128GB统一内存的笔记本,我用了整整三周,干得最多的一件事就是在本地跑Qwen-Image 2.1出图。先说明白这篇东西写给谁:已经入手或打算…

2026/10/2 22:49:05 阅读更多 →

日新闻

从零搭建AI工程化:模型之外的完整闭环

从零搭建AI工程化:模型之外的完整闭环

先搞清楚一件事:从零开始做 AI 工程化,难的从来不是调模型、写提示词,而是把一套原型 Demo 变成长得像是“正经系统”的东西。你手里可能已经有了能跑通的代码,也可能刚读完一些概念,但真到了要把它变成可维护、可观测…

2026/10/2 0:00:20 阅读更多 →
大模型训练显存估计与混合精度训练实战指南

大模型训练显存估计与混合精度训练实战指南

1. 大模型训练显存估计与混合精度训练详解显存不够用,几乎是每个做大模型训练的人都会撞上的第一堵墙。你可能也经历过:模型代码写完了,数据管道跑通了,满心欢喜地按下训练启动脚本,结果几秒钟后终端弹出一行红字——C…

2026/10/2 0:00:20 阅读更多 →
小样本学习数据集选型指南:27个真正可用的高质量数据集

小样本学习数据集选型指南:27个真正可用的高质量数据集

1. 小样本学习的“弹药库”:为什么你总在找数据集,却总找不到真正能用的? 小样本、数据集——这两个词最近半年在我处理的200多个AI项目咨询里,出现频率排进前三。不是模型调不好,不是代码写不对,而是卡在…

2026/10/2 0:00:20 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 19:40:48 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/1 19:41:40 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/10/1 20:05:24 阅读更多 →

月新闻

我发现了一个新思路:用 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/2 10:36:31 阅读更多 →
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/2 5:26:06 阅读更多 →
黑夜航拍船只数据集训练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/2 6:09:11 阅读更多 →