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

AI 摘要 / TL;DR

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

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

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

一、场景背景

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

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

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

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

二、技术方案

2.1 工具与实体说明

工具 / 实体在流程中的作用关键配置或入口
OpenCodeAI 编程工具,负责打开项目、执行指令、调用模型与工具https://opencode.ai/zh/download
Node.jsJavaScript 运行环境,后续 npm、npx 等命令依赖它https://nodejs.org
Git版本控制与代码工具,常用于项目管理和依赖部署https://git-scm.com
星图 API模型调用入口,通过 OpenAI-compatible 接口接入 OpenCodebaseURL: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

飞书图片: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

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

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

飞书图片:N30ib1PAjoBeKkxB880c7NYCnXc

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

飞书图片:OeFZb0OygoEI95xTXATcWhQinYe

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

飞书图片:CWJybdvd0o5tEOxrzK9cnSRnnhh

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

飞书图片:AsPIbMnAGoAPKqxRQN5c20o4n7b

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

飞书图片:Wu9ZbBMxhozcIKxqaqNcDqkPnHg

  1. 依次点击“确定”,回到桌面。

配置完成后,打开 cmd,分别执行:

node -v
npm -v

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

飞书图片:F07Wbmevto6tMix1QwBcZB08nlh

飞书图片:BO3qbxuFDotd5uxpYpvciEMunue

3. 安装 Git

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

飞书图片:FV4BbztlfoRNVCx8wcLcReYCnIN

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

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

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

飞书图片:JLHCbynoMoPMbhxNmrHcVR3gnGb

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

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

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

OpenCode 配置示例

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

{
  "$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/v1apiKey 替换成刚才复制的星图 Key。模型 ID 示例使用 deepseek-v4-pro,也可以根据星图控制台中可用模型进行替换。

这里的配置要点有三个:

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

deepseek-v4-pro 这组示例配置里,context1000000output65536。具体参数仍然要以可用模型和控制台配置为准。

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

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

飞书图片:Aofmb28qFo27G8xOuJNcFKYan2b

飞书图片:P15obca2LoE1tBxibG7cyNU9nVr

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

飞书图片:WUwUb0W71olZ9vxJXZPcMOf3nAg

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

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

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

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

飞书图片:SkYCbkGoXoDV3bxe1xtcELoTno4

Agent 执行部署的实际步骤

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

飞书图片:Dxm6beqn0oS1mIxTrPGcwLO2nDS

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

飞书图片:QsgVbSI1MoBsuxxr75nc9I7pnub

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

飞书图片:F8LzbESPqodisvxRv8JcbSE8n0f

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

飞书图片:QAIDbtpe0orRmnxlDzNc3sVwnIb

飞书图片:TdLjbEX8uojQq0x849Fch8nGnmd

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

飞书图片:PIeRbz08vokLjjxzsRxcEWpDn2e

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

飞书图片:PD83bQB2uo4Q8ixEz6AcY8wVnmq

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

飞书图片:F3jwbhGHWo6BWRxPtDPcvUBgnAe

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

2.6 常见坑

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

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

三、核心指标

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

验证点判断标准说明
基础环境node -vnpm -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 提交到公开代码仓库,也不要在截图或公开文档中暴露。

七、参考链接

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