<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>远程开发 on 诚实雷达</title><link>https://honestradar.com/tags/%E8%BF%9C%E7%A8%8B%E5%BC%80%E5%8F%91/</link><description>Recent content in 远程开发 on 诚实雷达</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Sat, 27 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://honestradar.com/tags/%E8%BF%9C%E7%A8%8B%E5%BC%80%E5%8F%91/index.xml" rel="self" type="application/rss+xml"/><item><title>把 VPS 变成你的远程 AI 编程 IDE：code-server + Continue.dev + Cloudflare Tunnel 全栈方案</title><link>https://honestradar.com/vps-hosting/remote-ai-coding-ide-vps-2026/</link><pubDate>Sat, 27 Jun 2026 00:00:00 +0000</pubDate><guid>https://honestradar.com/vps-hosting/remote-ai-coding-ide-vps-2026/</guid><description>&lt;img src="https://honestradar.com/images/remote-ai-coding-ide-vps-2026.jpg" alt="Featured image of post 把 VPS 变成你的远程 AI 编程 IDE：code-server + Continue.dev + Cloudflare Tunnel 全栈方案" /&gt;&lt;h2 id="导语为什么你的开发环境应该搬上-vps"&gt;导语：为什么你的开发环境应该搬上 VPS？
&lt;/h2&gt;&lt;p&gt;你是否有过这样的经历——换了新电脑要重装所有开发环境、出差时笔记本性能不够跑大型项目、或者在家里的 Mac 上写代码但公司服务器上的调试环境配不起来？&lt;/p&gt;
&lt;p&gt;这些问题有一个统一的解法：&lt;strong&gt;把完整的 IDE 搬到 VPS 上，通过浏览器随时随地访问。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这不是什么新概念，但 2026 年的技术栈组合已经让它变得异常简单和强大。一台 $5/月的 VPS，配合 code-server（浏览器版 VS Code）、Continue.dev（开源 AI 编码助手）和 Cloudflare Tunnel（免端口安全访问），你可以拥有一个&lt;strong&gt;性能可升级、数据不落地、环境永远一致&lt;/strong&gt;的远程开发工作台。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;说明&lt;/strong&gt;：本文包含 VPS 服务商 affiliate 链接。通过链接购买，我们可能获得佣金，但不会影响你的价格。我们只推荐适合实际部署场景的海外服务。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="方案全景三大组件如何协作"&gt;方案全景：三大组件如何协作
&lt;/h2&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;你的浏览器 ←(TLS加密)→ Cloudflare Tunnel ←(SSH)→ VPS
 │
 ├── code-server (VS Code in Browser)
 ├── Continue.dev (AI Coding Assistant)
 └── Ollama / API (LLM Backend)
&lt;/code&gt;&lt;/pre&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;组件&lt;/th&gt;
 &lt;th&gt;作用&lt;/th&gt;
 &lt;th&gt;资源消耗&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;code-server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;在 VPS 上运行 VS Code 服务端，通过浏览器访问&lt;/td&gt;
 &lt;td&gt;CPU 10-20%，RAM 200-400MB&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Continue.dev&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;VS Code 插件，支持多 LLM 后端（Ollama/OpenAI/Claude）&lt;/td&gt;
 &lt;td&gt;依赖后端模型&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Cloudflare Tunnel&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;无需开放端口，自动 HTTPS，隐藏 VPS IP&lt;/td&gt;
 &lt;td&gt;几乎零资源&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Ollama（可选）&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;本地跑小模型做代码补全和 Chat&lt;/td&gt;
 &lt;td&gt;取决于模型大小&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;核心优势：&lt;strong&gt;你的代码和数据始终留在 VPS 上，不会下载到本地机器。&lt;/strong&gt; 这在处理客户数据、私有代码库或合规要求严格的场景下特别有价值。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="第一步选一台合适的-vps"&gt;第一步：选一台合适的 VPS
&lt;/h2&gt;&lt;p&gt;远程 IDE 对 VPS 的配置要求其实不高——code-server 本身非常轻量，主要消耗在编译大型项目和运行 AI 模型上。&lt;/p&gt;
&lt;h3 id="推荐配置"&gt;推荐配置
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;使用场景&lt;/th&gt;
 &lt;th&gt;最低配置&lt;/th&gt;
 &lt;th&gt;推荐配置&lt;/th&gt;
 &lt;th&gt;预估月费&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;纯代码编辑（不调用 AI）&lt;/td&gt;
 &lt;td&gt;1 vCPU / 2GB RAM&lt;/td&gt;
 &lt;td&gt;2 vCPU / 4GB RAM&lt;/td&gt;
 &lt;td&gt;$3-5&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;代码编辑 + Continue.dev（调 OpenAI API）&lt;/td&gt;
 &lt;td&gt;2 vCPU / 4GB RAM&lt;/td&gt;
 &lt;td&gt;2 vCPU / 4GB RAM&lt;/td&gt;
 &lt;td&gt;$5-8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;代码编辑 + 本地 LLM（Ollama）&lt;/td&gt;
 &lt;td&gt;2 vCPU / 8GB RAM&lt;/td&gt;
 &lt;td&gt;4 vCPU / 16GB RAM&lt;/td&gt;
 &lt;td&gt;$15-40&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="服务商推荐"&gt;服务商推荐
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;入门首选 — RackNerd&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;RackNerd 的 DC02/DC03 机房性价比极高，适合预算有限的独立开发者。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://my.racknerd.com/aff.php?aff=19978" rel="nofollow sponsored" target="_blank"&gt;点击这里查看 RackNerd 最新 VPS 套餐&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;推荐从 $3.29/月（1GB RAM / 1 vCPU）起步，升级灵活。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;均衡之选 — Hostinger VPS&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Hostinger 的 KVM VPS 提供 5 个数据中心区域，面板友好，支持一键 Docker 部署。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.hostinger.com/vps-hosting?REFERRALCODE=JZ1ZL8465QCG" rel="nofollow sponsored" target="_blank"&gt;点击这里查看 Hostinger VPS 套餐&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;KVM 2（2GB RAM）约 $5.99/月，KVM 4（4GB RAM）约 $11.99/月。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;高性能需求 — Vultr&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Vultr 拥有 30+ 全球数据中心，支持按小时计费，适合需要弹性伸缩的场景。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.vultr.com/?ref=9706229" rel="nofollow sponsored" target="_blank"&gt;点击这里查看 Vultr 套餐&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Standard VPS 从 $6/month 起，High Frequency 从 $12/month 起。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="第二步部署-code-server"&gt;第二步：部署 code-server
&lt;/h2&gt;&lt;h3 id="一键安装"&gt;一键安装
&lt;/h3&gt;&lt;p&gt;SSH 到你的 VPS 后，执行：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 安装最新的 code-server&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -fsSL https://code-server.dev/install.sh | sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;安装完成后修改配置：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 编辑配置文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nano ~/.config/code-server/config.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;写入以下内容：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;bind-addr&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;127.0.0.1&lt;/span&gt;:&lt;span style="color:#ae81ff"&gt;8080&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;auth&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;password&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;password&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;YOUR_STRONG_PASSWORD&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;cert&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;安全提示&lt;/strong&gt;：&lt;code&gt;bind-addr&lt;/code&gt; 设为 &lt;code&gt;127.0.0.1&lt;/code&gt; 意味着 code-server 只监听本地端口，不直接暴露在公网。我们通过 Cloudflare Tunnel 来安全访问，这是最佳实践。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;启动并设置开机自启：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl enable code-server@$USER
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl start code-server@$USER
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;验证运行状态：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl http://127.0.0.1:8080
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 应返回 VS Code 的 HTML 页面&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="安装推荐扩展"&gt;安装推荐扩展
&lt;/h3&gt;&lt;p&gt;在浏览器访问 &lt;code&gt;http://YOUR_DOMAIN&lt;/code&gt; 后，进入 Extensions 面板安装以下扩展：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;扩展&lt;/th&gt;
 &lt;th&gt;用途&lt;/th&gt;
 &lt;th&gt;是否必需&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Continue&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;AI 编码助手，支持多模型&lt;/td&gt;
 &lt;td&gt;✅ 是&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;GitLens&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Git 增强&lt;/td&gt;
 &lt;td&gt;推荐&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ESLint / Prettier&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;代码格式化&lt;/td&gt;
 &lt;td&gt;按需&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Docker&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Docker 管理&lt;/td&gt;
 &lt;td&gt;按需&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Remote - SSH&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;SSH 连接到其他服务器&lt;/td&gt;
 &lt;td&gt;按需&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="第三步配置-continuedev-ai-编码助手"&gt;第三步：配置 Continue.dev AI 编码助手
&lt;/h2&gt;&lt;p&gt;Continue.dev 是 VS Code 中最强大的开源 AI 编码插件，支持同时接入多个 LLM 后端。&lt;/p&gt;
&lt;h3 id="安装-continue"&gt;安装 Continue
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;在 code-server 的 Extensions 面板搜索 &amp;ldquo;Continue&amp;rdquo; 并安装&lt;/li&gt;
&lt;li&gt;点击 Continue 图标 → Configure → 选择 &lt;code&gt;config.json&lt;/code&gt; 或 &lt;code&gt;config.yaml&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="方案-a调用-openai--claude-api最省事"&gt;方案 A：调用 OpenAI / Claude API（最省事）
&lt;/h3&gt;&lt;p&gt;适用于不想自己跑模型、只需要 AI 代码补全和 Chat 的场景。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;models&amp;#34;&lt;/span&gt;: [
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;GPT-4o&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;provider&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;openai&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;model&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;gpt-4o&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;apiKey&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;sk-your-openai-key&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;Claude Sonnet&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;provider&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;anthropic&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;model&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;claude-sonnet-4-20250514&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;apiKey&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;sk-ant-your-key&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;tabAutocompleteModel&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;Codestral&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;provider&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;mistral&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;model&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;codestral-latest&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;apiKey&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;your-mistral-key&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;成本估算&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GPT-4o：约 $0.01/1K tokens，日常编码 $5-15/月足够&lt;/li&gt;
&lt;li&gt;Claude Sonnet：约 $0.003/1K input tokens，更经济&lt;/li&gt;
&lt;li&gt;Codestral（Tab 自动补全）：约 $1/1M tokens，极便宜&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="方案-b本地跑-ollama隐私优先"&gt;方案 B：本地跑 Ollama（隐私优先）
&lt;/h3&gt;&lt;p&gt;如果你的 VPS 有 8GB+ 内存，可以本地跑量化版 LLM，完全不调用外部 API。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 安装 Ollama&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -fsSL https://ollama.com/install.sh | sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 拉取代码专用模型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ollama pull codellama:7b
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ollama pull deepseek-coder:6.7b
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Continue 配置：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;models&amp;#34;&lt;/span&gt;: [
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;CodeLlama 7B (Local)&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;provider&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;ollama&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;model&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;codellama:7b&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;DeepSeek Coder 6.7B (Local)&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;provider&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;ollama&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;model&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;deepseek-coder:6.7b&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;tabAutocompleteModel&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;Qwen2.5-Coder 1.5B&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;provider&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;ollama&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;model&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;qwen2.5-coder:1.5b&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;成本&lt;/strong&gt;：零 API 费用，只需 VPS 本身的费用。7B 量化模型约占用 4-5GB RAM。&lt;/p&gt;
&lt;h3 id="方案-c混合模式推荐"&gt;方案 C：混合模式（推荐）
&lt;/h3&gt;&lt;p&gt;日常 Tab 补全用本地小模型，复杂代码生成和 Chat 用云端大模型。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;models&amp;#34;&lt;/span&gt;: [
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;GPT-4o&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;provider&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;openai&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;model&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;gpt-4o&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;apiKey&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;sk-your-key&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;DeepSeek Coder (Local)&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;provider&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;ollama&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;model&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;deepseek-coder:6.7b&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;tabAutocompleteModel&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;Qwen2.5-Coder 1.5B (Local)&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;provider&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;ollama&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;model&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;qwen2.5-coder:1.5b&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="第四步用-cloudflare-tunnel-安全暴露"&gt;第四步：用 Cloudflare Tunnel 安全暴露
&lt;/h2&gt;&lt;p&gt;这是整个方案中最关键的一步——&lt;strong&gt;让你的 VPS 服务安全地通过浏览器访问，而不需要开放任何端口。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="为什么用-tunnel"&gt;为什么用 Tunnel？
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;传统方案（开放端口）&lt;/th&gt;
 &lt;th&gt;Cloudflare Tunnel&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;需要配置 Nginx 反向代理&lt;/td&gt;
 &lt;td&gt;零配置&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;暴露 VPS IP 地址&lt;/td&gt;
 &lt;td&gt;IP 被 Cloudflare 隐藏&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;需要手动管理 SSL 证书&lt;/td&gt;
 &lt;td&gt;自动 HTTPS&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;DDoS 攻击直接打到 VPS&lt;/td&gt;
 &lt;td&gt;Cloudflare CDN 防护&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;防火墙规则复杂&lt;/td&gt;
 &lt;td&gt;内置零信任访问控制&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="部署步骤"&gt;部署步骤
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 1. 安装 cloudflared&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chmod +x cloudflared-linux-amd64
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo mv cloudflared-linux-amd64 /usr/local/bin/cloudflared
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 2. 登录 Cloudflare（需要注册 cloudflare.com 账号）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cloudflared tunnel login
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 3. 创建隧道&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cloudflared tunnel create code-server-tunnel
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 4. 配置隧道（假设你的域名是 dev.yourdomain.com）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 编辑 ~/.cloudflared/config.yml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat &amp;gt; ~/.cloudflared/config.yml &lt;span style="color:#e6db74"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;tunnel: code-server-tunnel
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;credentials-file: /home/YOUR_USER/.cloudflared/TUNNEL_ID.json
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;ingress:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; - hostname: dev.yourdomain.com
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; service: http://127.0.0.1:8080
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; - service: http_status:404
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 5. 启动隧道&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cloudflared tunnel run code-server-tunnel
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="设置-systemd-服务开机自启"&gt;设置 systemd 服务（开机自启）
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo tee /etc/systemd/system/cloudflared.service &amp;gt; /dev/null &lt;span style="color:#e6db74"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;[Unit]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;Description=Cloudflare Tunnel
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;After=network.target
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;[Service]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;Type=notify
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;LimitNOFILE=65535
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;ExecStart=/usr/local/bin/cloudflared --no-autoupdate tunnel run
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;Restart=on-failure
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;RestartSec=5
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;KillMode=mixed
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;[Install]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;WantedBy=multi-user.target
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl enable cloudflared
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl start cloudflared
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="配置-dns"&gt;配置 DNS
&lt;/h3&gt;&lt;p&gt;在 Cloudflare Dashboard 中为你的域名添加一条 CNAME 记录：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;dev → code-server-tunnel-xxxxx.trycloudflare.com
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这样 &lt;code&gt;dev.yourdomain.com&lt;/code&gt; 就会通过 Cloudflare 的安全隧道指向你 VPS 上的 code-server。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="第五步进阶优化"&gt;第五步：进阶优化
&lt;/h2&gt;&lt;h3 id="性能调优"&gt;性能调优
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# code-server 性能优化&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export CODE_SERVER_DISABLE_GPU&lt;span style="color:#f92672"&gt;=&lt;/span&gt;false &lt;span style="color:#75715e"&gt;# 启用 GPU 加速（如果有）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export CODE_SERVER_MAX_OLD_SPACE_SIZE&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;2048&lt;/span&gt; &lt;span style="color:#75715e"&gt;# Node.js 堆内存&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 在 code-server config.yaml 中添加&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;extensions-dir: ~/.vscode/extensions
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;user-data-dir: ~/.vscode
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="文件同步与备份"&gt;文件同步与备份
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 使用 Rclone 自动备份代码到 S3/Backblaze&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;crontab -e
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 每天凌晨 3 点备份&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; * * * rsync -az --delete ~/.vscode /tmp/vscode-backup/ &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; rclone sync /tmp/vscode-backup s3:honest-radar-backups/vscode-config/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="多用户隔离"&gt;多用户隔离
&lt;/h3&gt;&lt;p&gt;如果你需要让团队成员共用这台 VPS：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 为每个成员创建独立系统用户&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo useradd -m -s /bin/bash alice
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo useradd -m -s /bin/bash bob
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 各自安装 code-server，监听不同端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Alice: 8081, Bob: 8082&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Cloudflare Tunnel 配置中为每个人创建独立 ingress 规则&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="监控-vps-健康状态"&gt;监控 VPS 健康状态
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 安装 Docker + Prometheus + Grafana 监控栈&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run -d --name prometheus -p 9090:9090 prom/prometheus
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run -d --name grafana -p 3000:3000 grafana/grafana
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 或者用更轻量的 uptime-kuma&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run -d --name uptime-kuma -p 3001:3001 -v uptime-kuma:/app/data louislam/uptime-kuma
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="成本对比三种方案每月花多少钱"&gt;成本对比：三种方案每月花多少钱？
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;方案&lt;/th&gt;
 &lt;th&gt;VPS&lt;/th&gt;
 &lt;th&gt;AI 模型&lt;/th&gt;
 &lt;th&gt;Cloudflare&lt;/th&gt;
 &lt;th&gt;域名&lt;/th&gt;
 &lt;th&gt;总计&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;极简（不调 AI）&lt;/td&gt;
 &lt;td&gt;$3.29 (RackNerd)&lt;/td&gt;
 &lt;td&gt;$0&lt;/td&gt;
 &lt;td&gt;免费&lt;/td&gt;
 &lt;td&gt;$10/年&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;~$3.3/月&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;API 模式（OpenAI）&lt;/td&gt;
 &lt;td&gt;$5.99 (Hostinger)&lt;/td&gt;
 &lt;td&gt;$10 (GPT-4o)&lt;/td&gt;
 &lt;td&gt;免费&lt;/td&gt;
 &lt;td&gt;$10/年&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;~$16/月&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;本地 LLM（Ollama 7B）&lt;/td&gt;
 &lt;td&gt;$15 (Vultr HF)&lt;/td&gt;
 &lt;td&gt;$0&lt;/td&gt;
 &lt;td&gt;免费&lt;/td&gt;
 &lt;td&gt;$10/年&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;~$15/月&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;混合模式（推荐）&lt;/td&gt;
 &lt;td&gt;$5.99 (Hostinger)&lt;/td&gt;
 &lt;td&gt;$5 (Claude)&lt;/td&gt;
 &lt;td&gt;免费&lt;/td&gt;
 &lt;td&gt;$10/年&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;~$11/月&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;省钱技巧&lt;/strong&gt;：RackNerd 的年度优惠套餐经常低至 $15/年（1GB RAM），适合纯代码编辑场景。如果加上 Ollama 本地跑模型，VPS 费用就是全部成本。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="常见坑与排错"&gt;常见坑与排错
&lt;/h2&gt;&lt;h3 id="1-浏览器访问-code-server-白屏"&gt;1. 浏览器访问 code-server 白屏
&lt;/h3&gt;&lt;p&gt;通常是因为 Cloudflare Tunnel 的 ingress 配置错误。检查：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 确认 code-server 确实在监听 8080&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl http://127.0.0.1:8080/api/info
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 检查 cloudflared 日志&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;journalctl -u cloudflared -f
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="2-continuedev-无法连接模型"&gt;2. Continue.dev 无法连接模型
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;OpenAI API：检查 &lt;code&gt;apiKey&lt;/code&gt; 是否正确，余额是否充足&lt;/li&gt;
&lt;li&gt;Ollama：确认 &lt;code&gt;ollama list&lt;/code&gt; 能看到模型，&lt;code&gt;ollama run codellama&lt;/code&gt; 能正常交互&lt;/li&gt;
&lt;li&gt;跨域问题：在 code-server config.yaml 中添加 &lt;code&gt;&amp;quot;cors&amp;quot;: true&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-代码编辑卡顿"&gt;3. 代码编辑卡顿
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;检查 VPS 磁盘 IO：&lt;code&gt;iostat -x 1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;如果是机械硬盘，换 SSD VPS（Hostinger/Vultr 默认都是 NVMe）&lt;/li&gt;
&lt;li&gt;减少 VS Code 扩展数量&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4-内存不足导致-oom"&gt;4. 内存不足导致 OOM
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 查看内存占用&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;free -h
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 如果低于 500MB，考虑：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# - 关闭不用的 Docker 容器&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# - 减少 VS Code 扩展&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# - Ollama 模型从 13B 降到 7B&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# - 增加 swap：sudo fallocate -l 4G /swapfile &amp;amp;&amp;amp; sudo chmod 600 /swapfile &amp;amp;&amp;amp; sudo mkswap /swapfile &amp;amp;&amp;amp; sudo swapon /swapfile&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="总结什么时候该用这个方案"&gt;总结：什么时候该用这个方案？
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;适合的场景：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;你经常在不同设备间切换开发（Mac + PC + 平板）&lt;/li&gt;
&lt;li&gt;你的项目需要特定的服务器环境（特定 OS、特定软件版本）&lt;/li&gt;
&lt;li&gt;你对代码数据安全有要求，不希望代码留在本地&lt;/li&gt;
&lt;li&gt;你想用 AI 辅助编程但不想花 $20/月订阅 Cursor Pro&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;不适合的场景：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;你需要 GPU 密集型的本地开发（比如训练模型）&lt;/li&gt;
&lt;li&gt;你的网络延迟很高（远程 IDE 对网络质量敏感）&lt;/li&gt;
&lt;li&gt;你只需要写简单的静态页面（本地 IDE 就够了）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;一台 $5/月的 VPS + code-server + Continue.dev + Cloudflare Tunnel，就是一个&lt;strong&gt;全功能、可升级、数据安全的远程 AI 编程工作台&lt;/strong&gt;。不需要昂贵的云服务，不需要复杂的运维，15 分钟内就能搭好。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;相关文章：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;[[cloudflare-tunnel-vps-self-host-2026]] — 深入讲解 Cloudflare Tunnel 配置&lt;/li&gt;
&lt;li&gt;[[ai-coding-agent-vps-self-host-2026]] — 更深入的 AI 编程工作台方案&lt;/li&gt;
&lt;li&gt;[[self-host-llm-ollama-budget-vps-2026]] — 在 VPS 上自托管 LLM&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>