用自己的 GPU,让 OpenCode 写出一台网页钢琴

把 Armor EdgeAI 的本机 API 接进 OpenCode,先规划、再构建。Qwen 3.8 27B 跑了约一个半小时的 agent 任务,产出一个可以弹、可以录、可以存成 MIDI 的单文件网页。

本案例以 Armor EdgeAI 0.63.5 实测;较新版本的画面与菜单位置可能略有不同。

步骤 01

这个案例在做什么

Armor EdgeAI 在授权机型上直接调用 GPU 算力,把本机资源变成开源大语言模型的推理能力。通过内置的 OpenAI 兼容 API,再接上 OpenCode 这类 AI Agent,就能执行长时间的多步骤任务:整理文件夹与文件、创建文档、分析数据,甚至编写程序。

以下以 ROG Zephyrus G16 为例,记录从设置到成品的完整过程 —— 包括做得好的地方,和还不够好的地方。

步骤 02

先在 App 里确认模型能力

启动 Armor EdgeAI,在“AI 对话”选择 Qwen 3.8 27B Vision,先问它:能不能写一个 Web Piano 的 HTML?回答中规中矩 —— 肯定做得到,还主动给了一段建议的提示词。

一个诚实的观察:追问它自己的版本与参数量时,模型答不出来,只说自己是通义千问。这是模型本身的自我认知限制,不影响后面的任务。

Armor EdgeAI 对话画面,Qwen 3.8 27B Vision 回答 Web Piano 的可行性
实机截图 · Armor EdgeAI 0.63.5
步骤 03

获取 API 连接信息

保持对话模型不变,进入左侧菜单“进阶 → API 配置”。若 OpenCode 与 Armor EdgeAI 在同一台电脑,下面三项信息就足以接上本机 GPU 算力。

若要让局域网中其他设备使用这台机器的算力,需在“设置 → 与 AI 对话”开启“局域网访问”,完成后系统会要求重新启动。

Base URLhttp://127.0.0.1:2918/v1
Modelqwen3.8-27b-vl
API Keyarmor-edgeai-local
Armor EdgeAI 的 API 配置页,列出 OpenAI 兼容与 Anthropic 兼容两组端点
实机截图 · Armor EdgeAI 0.63.5
步骤 04

在 OpenCode 创建自定义提供者

在 OpenCode 依次进入“文件 → 设置 → 提供者”,选择“自定义提供者”。把上一步 API 页的信息逐项填入,按下“提交”就完成基本设置。

OpenCode 设置的提供者列表,最下方是“自定义提供者”
实机截图 · Armor EdgeAI 0.63.5
步骤 05

开新工作区,先 Plan 再 Build

开一个新的工作会话。画面上的几个控件各司其职(见下方标注);依实际经验,建议先让 AI Agent 用 Plan 模式规划,确认方向后再切到 Build,可以减少反复重做所浪费的时间与算力。

接着发送这段提示词,说明要创建的功能:

提示词全文

设计一个 Armor-piano.html 的简易乐团软件,在中间放置一台钢琴,包含 4 组逐步升高音阶的完整白键,以及对应的黑键。使用鼠标点击时要播放对应的 MIDI 音色,按住期间持续发声,松开即停止。键盘的 1234567、QWERTYU、ASDFGHJ、ZXCVBNM 分别对应 4 组逐步升高的 Do、Re、Mi、Fa、So、La、Si。按下琴键时要有下压的视觉效果。左上角加入录音键,可录下不同琴键产生的声音;另提供播放功能。录音文件可暂存在与 HTML 相同的文件夹中,并可输出为 MIDI 文件记录。

OpenCode 新工作会话:输入框下方有 Build 模式切换、模型菜单与工作区文件夹
实机截图 · Armor EdgeAI 0.63.5
画面上的控件
+(标签栏)
创建新的工作会话。
Build ▾
切换 Plan 或 Build 模式。
qwen3.8-27b-vl ▾
模型菜单。API 由 Armor EdgeAI 提供时,实际切换模型仍要回 App 内操作。
Web-Piano ▾
工作区文件夹,依自己的文件管理习惯设置。
步骤 06

模型先交规划,等你确认

因为是用 Plan 模式发送,模型先提出几个确认问题 —— 音色与录音方式、输出格式、存档机制 —— 回答之后才生成设计计划,并停下来等待确认。

检查计划没有问题后,把模式切到 Build 并确认执行,Agent 才真正开始写文件。

OpenCode 生成的 Armor-piano.html 设计计划:版面、音色、录音存档与 MIDI 映射
实机截图 · Armor EdgeAI 0.63.5
步骤 07

Build:一个半小时的自我验证

Agent 建好 Armor-piano.html 后,发现环境里没有浏览器自动化工具,就自己用 Node 写了验证脚本,对 MIDI 编码与 WAV 输出做逻辑测试,并在过程中修掉几个真实的 bug:可变长度整数的符号位移、tempo 事件缺了前缀、note-off 的 channel byte 写错、鼠标事件重复绑定导致离键卡音。

从发送提示到成品,OpenCode 的计时器显示约 96 分钟;期间同时在电脑上做其他工作,实际完成时间仅供参考。

OpenCode 完成后的实现内容与验证结果摘要,列出修正的 bug 与 Node 逻辑测试全绿
实机截图 · Armor EdgeAI 0.63.5
步骤 08

成品

工作区文件夹里出现一个干净的 Armor-piano.html,24 KB。用 Edge 或 Chrome 打开即可使用 —— 或者直接在下方试玩。

文件资源管理器中的工作区文件夹,只有一个 Armor-piano.html
实机截图 · Armor EdgeAI 0.63.5
Try It

自己试试

两个成品都是原文件,未做任何修改。点琴键或按键盘即可演奏。

AI 生成成品 · 原文件未修改
Armor-Piano 成品画面

本机模型经 OpenCode 产出的原文件,未做任何修改;键盘布局与音高的瑕疵如“主要不足之处”所列。

先点一下琴键,键盘才会对准示范;两版界面皆为繁体中文。 在新标签页打开

Verdict

测试摘要

表现较好的部分

  1. 钢琴界面的琴键渲染相当漂亮。
  2. 录音、播放与存档都能完成;规格要求的 MIDI 与 WAV 输出也都实现了。
  3. 整段任务持续约一个半小时,显示 Armor EdgeAI 的 API 输出稳定,Qwen 3.8 27B 能撑完较长的 Agent 任务。

主要不足之处

  1. 键盘布局不完全正确,尤其黑键的数量与位置有明显错误。
  2. 音色与音高不完全准确,但 Do 到 Si 七个音仍可清楚区分。
  3. 黑键按下后不会自动回弹;白键没有这个问题。

与云端模型对照

用相同的提示词直接在 ChatGPT 5.6 对话模式生成,约 10 分钟就完成 HTML 文件,成品的细节完成度也略高于本机的 27B 模型。两个版本都放在上方,可以自己比较。

结论

Armor EdgeAI 可以与不同的 AI Agent 正常整合,并完成多数程序开发任务。若成品仍有小 bug,可以先回到 Plan 模式重新检查,必要时改用能力更高的云端 API 修正 —— 在成本、速度与品质之间取得平衡。

若把 AI Agent 完全留在本地执行,就能处理公司内部的敏感数据:汇总销售记录并制表分析、翻译客户信件、制作商务演示文稿。数据不必送到外部云端,泄露的风险也跟着降低。

Next

想在自己的机器上重现?

API 应用页有完整的连接方式;开始使用页有安装与激活步骤。