# OpenCode + 星图 API + UCloud CLI：个人网站怎么从本地项目部署到公网

> 作者/来源: UCloud 运营管理员
> 发布时间: 2026-08-13T13:43:29.686Z
> 分类: AI专区
> 原文链接: http://117.50.162.249:3000/yun/articles/2678

---

把本地项目、模型调用、云主机创建和网络配置串成一条链路，AI Agent 可以在授权范围内完成部署，并直接返回可访问的公网地址。适合个人网站、演示项目和低频上线场景，但生产环境还要补安全、监控和成本控制。

能。只要本地项目目录已经准备好，OpenCode 接上星图 API 后可以调用模型，UCloud CLI 提供云资源操作能力，整个链路就能从“打开项目”一路走到“创建云主机、配置网络、部署服务、返回公网地址”。

## 一、场景背景

有一个摄影作品展示站的需求，卡住的地方不是页面设计，而是从想法到上线之间的部署杂务：写代码、配环境、买云服务器、配置安全组、上传文件、启动服务、排错。对个人开发者来说，这些步骤和创意本身无关，但每一步都可能让项目停下来。

真正有价值的不是“AI 会写多少代码”，而是“AI 能不能在授权范围内把任务做完”。当 OpenCode 负责本地项目操作，星图 API 负责模型调用，UCloud CLI 负责云资源操作后，一个本地文件夹就可以一路部署到云主机，并返回公网访问地址。

问题、方案、验证可以直接拆成三步：

| 环节 | 内容 |
|---|---|
| 问题 | 个人网站从本地到上线，需要处理太多分散的技术步骤 |
| 解决方案 | 用 OpenCode + 星图 API + UCloud CLI 串起模型、工具和云资源操作 |
| 验证 | 部署完成后直接用浏览器打开公网地址，确认页面可访问 |

## 二、技术方案

### 2.1 工具与实体说明

| 工具 / 实体 | 在流程中的作用 | 关键配置或入口 |
|---|---|---|
| OpenCode | AI 编程工具，负责打开项目、执行指令、调用模型与工具 | https://opencode.ai/zh/download |
| Node.js | JavaScript 运行环境，后续 npm、npx 等命令依赖它 | https://nodejs.org |
| Git | 版本控制与代码工具，常用于项目管理和依赖部署 | https://git-scm.com |
| 星图 API | 模型调用入口，通过 OpenAI-compatible 接口接入 OpenCode | baseURL：https://api.modelverse.cn/v1 |
| UCloud CLI | 云资源命令行工具，用于创建云主机、授权、部署与网络配置 | 可由 Agent 通过命令安装和调用 |
| deepseek-v4-pro | 示例模型 ID，用于 OpenCode 配置 | 可按需替换为其他可用模型 |

这里的关键逻辑很简单：本地环境负责运行，星图 API 负责模型调用，UCloud CLI 负责云资源交互。Agent 不是只会“给建议”，而是接过任务后按步骤执行。

### 2.2 第一步：安装 OpenCode、Node.js 和 Git

基础环境先装三样东西：OpenCode、Node.js、Git。它们分别承担 Agent 操作、命令运行和项目管理的基础能力。

#### 1. 安装 OpenCode

OpenCode 是这条流程里的核心工具。它可以直接操作电脑和项目目录，提供终端版和桌面版。本次实践使用 Windows 桌面版，下载地址是 https://opencode.ai/zh/download，按系统版本选择安装即可。

![飞书图片:ZmqYbCmjtoLl3Yx7MifcradnnPb](/api/feishu-image/ZmqYbCmjtoLl3Yx7MifcradnnPb)

![飞书图片:OsJ7buUAlolT0dxoA4NcKleenAg](/api/feishu-image/OsJ7buUAlolT0dxoA4NcKleenAg)

安装完成后，后续配置模型、打开项目、输入部署指令都在这里完成。

#### 2. 安装 Node.js 并配置环境变量

Node.js 需要提前安装。后续 Agent 跑部署流程时会用到 npm 或 npx，因此本机必须能正常执行相关命令。

进入 https://nodejs.org，首页点击“获取 Node.js”，选择 zip 独立文件版本下载。这里以 Windows 的 `node-v24.18.0-win-x64.zip` 为例，将压缩包解压到 D 盘 `dev` 文件夹。

![飞书图片:NMznbBNkwotZyIxEfMJcQpcpnxf](/api/feishu-image/NMznbBNkwotZyIxEfMJcQpcpnxf)

下载完成后，需要把 Node.js 解压路径配置到系统环境变量里。否则 OpenCode 或命令行可能无法识别 `node`、`npm`、`npx` 命令。

1. 将下载的 `node-v24.18.0-win-x64.zip` 解压到 `D:\dev` 文件夹。

![飞书图片:N30ib1PAjoBeKkxB880c7NYCnXc](/api/feishu-image/N30ib1PAjoBeKkxB880c7NYCnXc)

2. 进入“系统”页面，打开“高级系统设置”。

![飞书图片:OeFZb0OygoEI95xTXATcWhQinYe](/api/feishu-image/OeFZb0OygoEI95xTXATcWhQinYe)

3. 在“高级”选项卡中进入“环境变量”。

![飞书图片:CWJybdvd0o5tEOxrzK9cnSRnnhh](/api/feishu-image/CWJybdvd0o5tEOxrzK9cnSRnnhh)

4. 依次找到“系统变量” → 选中“Path” → 点击“编辑” → 点击“新建”。

![飞书图片:AsPIbMnAGoAPKqxRQN5c20o4n7b](/api/feishu-image/AsPIbMnAGoAPKqxRQN5c20o4n7b)

5. 将 `D:\dev\node-v24.18.0-win-x64` 复制到“编辑环境变量”窗口中。

![飞书图片:Wu9ZbBMxhozcIKxqaqNcDqkPnHg](/api/feishu-image/Wu9ZbBMxhozcIKxqaqNcDqkPnHg)

6. 依次点击“确定”，回到桌面。

配置完成后，打开 cmd，分别执行：

```bash
node -v
npm -v
```

如果能看到版本号，说明 Node.js 和 npm 已经配置成功。

![飞书图片:F07Wbmevto6tMix1QwBcZB08nlh](/api/feishu-image/F07Wbmevto6tMix1QwBcZB08nlh)

![飞书图片:BO3qbxuFDotd5uxpYpvciEMunue](/api/feishu-image/BO3qbxuFDotd5uxpYpvciEMunue)

#### 3. 安装 Git

Git 的安装相对简单。进入 https://git-scm.com，下载对应系统版本，按默认选项安装即可。

![飞书图片:FV4BbztlfoRNVCx8wcLcReYCnIN](/api/feishu-image/FV4BbztlfoRNVCx8wcLcReYCnIN)

### 2.3 第二步：把 OpenCode 和星图 API 接起来

基础工具安装完成后，关键步骤是让 Agent 能调用模型。这里通过星图 API 接入 OpenCode。

先登录星图控制台，在左侧找到“密钥管理”，点击“创建 API Key”，填写名称后创建。创建完成后立即复制完整 Key。API Key 通常只展示一次，关闭窗口后无法再次查看明文。

![飞书图片:JLHCbynoMoPMbhxNmrHcVR3gnGb](/api/feishu-image/JLHCbynoMoPMbhxNmrHcVR3gnGb)

然后找到 OpenCode 的配置文件。Windows 下的示例路径为：

```text
C:\Users\Administrator\.config\opencode\opencode.json
```

实际路径需要把 `Administrator` 替换为当前系统用户名。

#### OpenCode 配置示例

用记事本打开 `opencode.json`，将配置写入文件。只需要替换两处：`YOUR_API_KEY` 和模型 ID。

```json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "modelverse": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "UModelverse",
      "options": {
        "baseURL": "https://api.modelverse.cn/v1",
        "apiKey": "YOUR_API_KEY"
      },
      "models": {
        "deepseek-v4-pro": {
          "name": "DeepSeek V4 Pro",
          "limit": {
            "context": 1000000,
            "output": 65536
          }
        }
      }
    }
  }
}
```

`baseURL` 填写 `https://api.modelverse.cn/v1`。`apiKey` 替换成刚才复制的星图 Key。模型 ID 示例使用 `deepseek-v4-pro`，也可以根据星图控制台中可用模型进行替换。

这里的配置要点有三个：

- `baseURL` 必须正确。
- `apiKey` 必须可用。
- 模型 ID 必须和控制台里实际可用的模型一致。

`deepseek-v4-pro` 这组示例配置里，`context` 是 `1000000`，`output` 是 `65536`。具体参数仍然要以可用模型和控制台配置为准。

### 2.4 打开项目目录并选择模型

配置完成后，在 OpenCode 中打开准备部署的项目目录。这里以 `D:\website` 为例。

![飞书图片:Aofmb28qFo27G8xOuJNcFKYan2b](/api/feishu-image/Aofmb28qFo27G8xOuJNcFKYan2b)

![飞书图片:P15obca2LoE1tBxibG7cyNU9nVr](/api/feishu-image/P15obca2LoE1tBxibG7cyNU9nVr)

随后在 OpenCode 中选择已经配置好的模型。

![飞书图片:WUwUb0W71olZ9vxJXZPcMOf3nAg](/api/feishu-image/WUwUb0W71olZ9vxJXZPcMOf3nAg)

### 2.5 第三步：让 Agent 使用 UCloud CLI 部署网站

准备工作完成后，就可以把部署任务交给 Agent。核心指令可以写得很直接：

```text
使用 UCloud CLI 将 D:\website 下的项目部署到乌兰察布云主机，部署完成后返回外网访问地址。
```

这条指令包含三个关键信息：项目在哪、部署到哪、返回什么结果。对 Agent 来说，任务边界越清楚，执行越稳定。

![飞书图片:SkYCbkGoXoDV3bxe1xtcELoTno4](/api/feishu-image/SkYCbkGoXoDV3bxe1xtcELoTno4)

#### Agent 执行部署的实际步骤

1. Agent 检查本地环境。如果发现没有 UCloud CLI，会先下载安装相关能力，例如通过 `npx skills add ucloud/skills ucloud-cli` 添加 UCloud CLI 能力，然后继续部署。

![飞书图片:Dxm6beqn0oS1mIxTrPGcwLO2nDS](/api/feishu-image/Dxm6beqn0oS1mIxTrPGcwLO2nDS)

2. Agent 下载 UCloud CLI 客户端到本地，并准备发布网站到云主机。

![飞书图片:QsgVbSI1MoBsuxxr75nc9I7pnub](/api/feishu-image/QsgVbSI1MoBsuxxr75nc9I7pnub)

3. Agent 发起授权流程。可以选择在本地登录，把 OpenCode 提示的登录命令复制到 cmd 中执行。

![飞书图片:F8LzbESPqodisvxRv8JcbSE8n0f](/api/feishu-image/F8LzbESPqodisvxRv8JcbSE8n0f)

4. 浏览器会弹出登录窗口。确认授权后，回到 OpenCode 回复“已完成”。

![飞书图片:QAIDbtpe0orRmnxlDzNc3sVwnIb](/api/feishu-image/QAIDbtpe0orRmnxlDzNc3sVwnIb)

![飞书图片:TdLjbEX8uojQq0x849Fch8nGnmd](/api/feishu-image/TdLjbEX8uojQq0x849Fch8nGnmd)

5. Agent 正式执行部署。它会创建云主机、配置安全组、上传文件、启动服务。中间如果弹出权限确认，确认无误后点击允许。

![飞书图片:PIeRbz08vokLjjxzsRxcEWpDn2e](/api/feishu-image/PIeRbz08vokLjjxzsRxcEWpDn2e)

6. 部署完成后，OpenCode 对话窗口会返回部署结果。

![飞书图片:PD83bQB2uo4Q8ixEz6AcY8wVnmq](/api/feishu-image/PD83bQB2uo4Q8ixEz6AcY8wVnmq)

7. 最后，公网访问地址会出现在对话窗口里。

![飞书图片:F3jwbhGHWo6BWRxPtDPcvUBgnAe](/api/feishu-image/F3jwbhGHWo6BWRxPtDPcvUBgnAe)

把地址复制到浏览器并回车，页面可以正常打开，这一步就是最终验证。到这里，Agent 已经在授权范围内完成了创建云资源、部署网站、配置网络和返回结果的完整闭环。

### 2.6 常见坑

这条链路能跑通，不代表可以忽略边界条件。实际使用时，最容易出问题的地方通常有这几个：

- **Node.js 没进环境变量**：`node -v`、`npm -v` 不能正常执行，后续命令会卡住。
- **API Key 配置错误**：星图控制台里复制的 Key 没填对，OpenCode 无法调用模型。
- **模型 ID 不可用**：`opencode.json` 里的模型名必须和控制台可用模型一致。
- **授权没完成**：UCloud CLI 需要明确登录和授权，少一步都会中断部署。
- **安全组没放通端口**：云主机创建完成不代表外网能访问，端口配置也要确认。
- **资源成本未控制**：云主机开起来就会产生费用，测试完成后要及时确认是否保留。

## 三、核心指标

这里的“核心指标”不是跑分，而是验证链路是否真正闭环。部署成功与否，看下面这几个点就够了。

| 验证点 | 判断标准 | 说明 |
|---|---|---|
| 基础环境 | `node -v`、`npm -v` 可以正常输出版本号 | 说明 Node.js 环境已准备好 |
| 模型接入 | OpenCode 能读取 `opencode.json` 并选择模型 | 说明星图 API 已接通 |
| 授权流程 | 浏览器登录完成后能回到 OpenCode 继续执行 | 说明云平台授权可用 |
| 部署过程 | Agent 能创建云主机、配置安全组、上传文件、启动服务 | 说明 UCloud CLI 可正常工作 |
| 最终结果 | 公网地址能在浏览器中正常打开 | 说明部署结果可访问 |

如果只看模型调用而不看最后的公网访问，这条链路就不完整。真正的结果不是“Agent 回答得多好”，而是“网站能不能打开”。

## 四、优刻得相关能力

这套流程里，优刻得相关能力主要体现在 UCloud CLI 上。

- **创建云主机**：Agent 可以按指令发起云主机资源操作。
- **配置网络和安全组**：部署能否对外访问，取决于网络和端口是否配置正确。
- **上传文件并启动服务**：项目文件可以通过 CLI 流程进入云主机并运行。
- **返回公网访问地址**：部署完成后，Agent 会输出可访问结果，方便直接验证。
- **支持先安装再调用**：如果本地没有 CLI，Agent 会先补齐能力，再继续执行后续步骤。

适合的场景很明确：个人网站、演示项目、临时验证环境、低频上线任务。对于想快速把本地项目放到公网的人，这套流程已经足够直接。

## 五、适用 / 不适用场景

### 适用场景

- 个人作品站上线，比如摄影作品集、设计作品集、个人主页。
- 演示项目部署，比如把本地 demo 快速放到公网给同事、客户或朋友访问。
- 低频开发者试验，不想长期维护复杂 DevOps 流程，但需要快速验证想法。

### 不适用场景

- 高并发业务。
- 强合规业务。
- 复杂微服务系统。
- 需要完整 CI/CD、日志监控、备份恢复、灾备和安全审计的生产环境。

### 方法边界

- **授权要最小化**：API Key、云账号权限和 CLI 授权不应超过部署所需范围。
- **指令要明确**：项目路径、目标地域、云主机类型、返回结果要写清楚。
- **结果要验证**：拿到公网地址后，必须在浏览器中确认页面可访问。
- **成本要可控**：创建云主机会产生资源费用，测试完成后要及时处理。
- **密钥要保护**：API Key 不要写进公开仓库，也不要在公开截图里暴露。

## 六、FAQ

### Q1：OpenCode 在这套流程里负责什么？

OpenCode 负责打开本地项目目录、接收自然语言部署指令、调用配置好的模型，并在授权范围内执行工具操作。它是 Agent 执行任务的入口。

### Q2：为什么一定要安装 Node.js？

后续流程可能使用 npm 或 npx 安装和调用工具。如果本机没有 Node.js，Agent 在执行命令时可能无法运行相关依赖。

### Q3：星图 API 的作用是什么？

星图 API 负责给 OpenCode 提供模型调用能力。配置 `baseURL`、API Key 和模型 ID 后，OpenCode 就可以通过该接口调用指定模型。

### Q4：UCloud CLI 在部署中做什么？

UCloud CLI 负责和云平台交互。它可以帮助 Agent 创建云主机、配置网络、安全组、上传文件并启动服务。

### Q5：这套流程能直接用于生产环境吗？

不建议不加改造就直接用于生产环境。个人网站、演示项目和低风险试验更适合这套流程；生产环境还需要权限控制、日志监控、备份恢复、安全审计和成本管理。

### Q6：如果 API Key 只展示一次，应该怎么处理？

创建后应立即复制并保存到安全位置。不要把 API Key 提交到公开代码仓库，也不要在截图或公开文档中暴露。

## 七、参考链接

- OpenCode 下载：https://opencode.ai/zh/download
- Node.js：https://nodejs.org
- Git：https://git-scm.com
- 星图 API baseURL：https://api.modelverse.cn/v1
- 星图控制台密钥管理：登录控制台后在左侧“密钥管理”中创建 API Key
- 参考材料：https://scnu335ljo6i.feishu.cn/wiki/LCtCwOH3uiEGcDkbdxVcIm9xnhh?from=from_copylink
- UCloud CLI、云主机与安全组官方文档：发布前需要补齐对应官方入口

最稳的做法，是先把本地环境、模型接入和授权链路跑通，再让 Agent 处理部署。最终是否成功，只看公网地址能不能直接打开。