# @freebuild/opencode 中文文档

规范地址：https://npmcn.com/package/%40freebuild/opencode/

版本：0\.0\.36
npm 元数据更新时间：2026-11-09T08:09:47.451Z
中文译文更新时间：2026-11-15T13:56:08.056Z
软件包许可：SEE LICENSE IN LICENSE

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40freebuild/opencode
原文对照：https://npmcn.com/package/%40freebuild/opencode/?lang=original
项目主页：https://freebuild.dev/terminal/

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：109 kB，4 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：1 个
- peer 依赖：solid-js \>=1\.9\.0，@opentui/core \>=0\.6\.6，@opentui/solid \>=0\.6\.6
- 首次发布：2026-11-06T17:25:02.507Z
- 最新版本发布：2026-11-09T08:09:47.221Z
- 近 30 天下载量：3269（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：17（近 12 个月 17 个）

## 中文简介

OpenCode上FreeBuilding的付费赞助计划插件:许可证激活、经纪人提供者和赞助人小组.

## 安装

```sh
npm install @freebuild/opencode
```

也可以使用：`pnpm add @freebuild/opencode`、`yarn add @freebuild/opencode`、`bun add @freebuild/opencode`

## README

# Freebuild OpenCode 赞助面板

付费的 V2 TUI 插件 **免费建设列表** 财务报告和审定财务报表 **Freebuild 标准** 计划 在代理工作时,它会自动添加一个主机管理的赞助面板 连接 `freebuild` 模式提供者,并显示计划和符号用途.

Freebuild并非由OpenCode团队所建,也不隶属于OpenCode.

文档 : [https://freebuilding.dev/docs/ 页面存档备份,存于互联网档案馆](https://freebuild.dev/docs/)

```text
┌────────────────────────────────┬────────────────────────────────┐
│                                │  FREEBUILD · Acme              │
│  normal OpenCode session       │                                │
│  reflowed to half width        │  SHIP FASTER                   │
│                                │  Acme CI runs your tests...    │
│                                │                                │
│                                │                                │
└────────────────────────────────┴────────────────────────────────┘
```

## 面板标签

-   `SPONSORED` 有偿活动
-   `AFFILIATE` 附属运动
-   `FREEBUILD` 住房库存
-   `ADVERTISE` 库存广告

付费活动比附属公司高,而附属公司比房屋库存高.

## 已付款计划

没有免费或无广告级。 插件在被赞助之前不活动 许可证已连接 :

-   无牌:没有面板,没有广告,没有经纪人代币.
-   活字或标准许可证:经纪人代币外加强制性赞助人面板.
-   取消或未付订阅:经纪人拒绝申请和小组 保持关闭.

## 创建β( 只邀请)

建立β使用与付费计划相同的出票. 运行 `/freebuild-founding` 并粘贴私人代码。 计划免费90天, 每个记帐月提供1 000万个加权代币,包括赞助人小组. 花旗订阅于第90天自动取消,在任何支付之前. 这个 许可证自动连接,与Lite和Standard一样.

## 安装

用 OpenCode V2 安装已发布的软件包 :

```text
opencode plugin add @freebuild/opencode@latest
```

古老的无瞄准镜 `freebuild-sponsor` 软件包是遗产。 新安装应使用 `@freebuild/opencode`。 。 。 .

重新启动 OpenCode 以载入插件 。 稍后更新:

```text
opencode plugin update
```

对于来自此寄存器的本地开发, 请直接安装目录 :

```powershell
powershell -ExecutionPolicy Bypass -File .\opencode-plugin\install.ps1
```

```bash
bash ./opencode-plugin/install.sh
```

在发布前构建 npm 柏油球 :

```powershell
cd opencode-plugin
npm pack
```

软件包包含 `src/tui.tsx`, (中文(简体) ), `package.json`而这个读取。 测试 发布前带有干净的 OpenCode 配置的 tarball .

## 连接许可证

您可以在 OpenCode 中开始或先在浏览器中购买. 两条路径都要求 上面安装的插件 。 浏览器购买者运行 `/freebuild-key` 粘贴密钥 从 Strade 成功页面; 插件验证它, 写提供者 选择模型。 截图指南在 [https://freebuilt.dev/docs/install/ 页面存档备份,存于互联网档案馆](https://freebuild.dev/docs/install/)。 。 。 .

OpenCode 内部, 没有连接密钥 :

```text
/freebuild-license
```

插件要求应用程序一次性激活代码, 打开 `/terminal/activate.html` 在浏览器中, 和民意测验, 直到 Strefe 查看 结束。 浏览器先要求电子邮件,并发送了6位数的代码. 校验 临检前的 同一经核实的电子邮件会获得一次性许可证链接,所以 texto 无法将许可证附加到您无法控制的地址 。 当 webhook 发行许可证, 插件 :

1.  将密钥存储在 `~/.config/freebuild/credentials.json`, (中文(简体) ),
2.  写入 `freebuild` 提供方改为 `~/.config/opencode/opencode.json(c)`, (中文(简体) ),
3.  刷新应享待遇,使赞助小组能够,
4.  显示许可证密钥和剩余设置步骤.

插件会写入提供者配置,连接证书,并选择 **Freebuilt — DeepSeek V4.1闪光1017** 本届会议的报告。 单位 `/models` 它出现在下面 **免费建设** 这是第一次 使用后, OpenCode 移动 给 **近期**如果它仍然缺失,请运行 `/freebuild-setup` 并重新启动 打开代码一次.

该模型的思维水平与DeepSeek自己的API相同: `none`, (中文(简体) ), `low`, (中文(简体) ), `high`,以及 `max`启用 `/thinking` 在不改变模型的情况下切换级别. 供应商指向Freebuilding经纪人;许可证密钥是经纪人API 键.

### 模型元数据

`GET https://freebuild.dev/broker/v1/models` 是 OpenAI 兼容和返回 模型 id、上下文和输出限制、能力、相容性字段, 标价和计划价格 客户端和路由器可以使用它来配置 提供商没有硬编码限制.

当一个密钥已经连接时, `/freebuild-license` 先检查一下,然后出价 **重新连接**, (中文(简体) ), **粘贴替换**, (中文(简体) ), **打开账户页面**,或 **购买 又一个** 执照 它从来没有开始第二次 退出自己的,和拒绝 密钥(旋转、撤销或取消)仅提供替换或账户 页 次.

移动此终端到找到的密钥 `/account`数字 :

```text
/freebuild-key
```

用于键的插件提示, 检查 `GET /api/me/entitlement` 在保存之前 ,然后写入提供者配置,连接证书,并选择 那个模特儿 报告一个不活跃的密钥,当前的许可证没有被更改. 网络失败也留下了当前密钥 .

如果自动连接失败, 请运行 `/freebuild-setup` 写入提供者 配置并再次选择模型 .

有用命令 :

-   `/freebuild-license` ——连接,再连接,替换,或者购买许可证.
-   `/freebuild-key` ——粘贴并验证替换密钥.
-   `/models` ——选择"Freebuilding"提供商模式. 它出现在下面 **免费建设** 移动到 **近期**。 。 。 .
-   `/thinking` 选择 `none`, (中文(简体) ), `low`, (中文(简体) ), `high`,或 `max` 为DeepSeek V4.1 Flash 1017而想.
-   `/freebuild-plan` - 显示加权使用/限值、生代号、缓存命中率和预定.
-   `/freebuild-billing` ——开放"花脸"客户端门户.
-   `/freebuild-setup` ——修复提供者配置.
-   `/freebuild-sponsor`, (中文(简体) ), `ctrl+o`, (中文(简体) ), `ctrl+shift+o`,或 `alt+o` - 开放提案国 链接目前在屏幕上。 点击赞助方面板的任何地方 一样 如果尚未缓存竞选, Ctrl+ O 解决一个不计数的问题 预览请求, 因此它仍然打开链接, 而不是菜单或文档 。 Ctrl+O 数据 当没有担保许可证活动时, 保持其通常的 OpenCode 含义; 使用 `/open` 当被担保的执照生效时.
-   `/freebuild-adtest` - 预览下一跑的赞助面板4秒而不计算印象.

## 行为

-   打开第一个代理步骤,运行结束后关闭. 每个运行获取 一个认证的赞助商 新的运行ID 并保持它的整个运行; 当运行的面板打开时, 服务器会计算一个印象 。 重复的面板 抓取和重复的事件是一码事,所以长跑是一码事 感觉。 没有中跑木马.
-   `/freebuild-adtest` 使用预览结束点,将选定的活动存储为 下一跑的竞选 许可证和安装, 从来没有计算一个 印象或释放可跟踪的打开、关闭或单击事件。 下次运行使用 预览的竞选,当它仍然符合条件时.
-   面板测量自己的框并符合竞选的文字标记并抄入. 只有在宽度和高度都离开房间时才使用更大的标志级,以及 当面板变小时,身体和提示行会退出。 一个固定 `wordmarkFont` 不适合时倒入Auto; `showWordmark: false` 完全隐藏大文本.
-   OpenCode 使用分割布局 **108+栏**; 更窄的终端渲染 面板全屏并显示调整大小的提示.
-   面板内容取自赞助方的种子. 图像广告使静态 上方的图像; 仅文本的广告使文字标记和格式化的复制. 只使用图像的广告使图像贯穿整个创作区,没有 踢出,头条,身体,或者文字标记 GIFs被平整为第一帧. 如果无法提供种子或图像,则捆绑的房屋广告或文字倒置 已使用.
-   点击面板通过认证确定赞助商目的地 点击结束点。 TUI发送许可证,安装,会话和运行ID,然后 打开返回的 URL。 直接匿名点击 URL 返回 `401`。 。 。 .
-   无法用密钥绑定来隐藏面板 。 广告是赞助人的一部分 计划.
-   在实验性的自由建造终端包装中,TUI面板保持关闭 和插件为包装的侧面板写出繁忙和权利状态. 包裹不是第一次发射的一部分.

## 包装模式

设定 `FREEBUILD_WRAPPER=1` 财务报告和审定财务报表 `FREEBUILD_WRAPPER_STATE` 可写入文件路径. 然后插件写道:

```json
{
  "busy": true,
  "panel": true,
  "sessionId": "c13792d2135744c5bb309fa7",
  "updatedAt": 1793480000000
}
```

`busy` 驱动包装器状态行 . `panel` 权利决定: 真实性为活动赞助许可证。 包装纸保留了担保人面板 当整个应用程序会话时可见 `panel` 这是真的.

`updatedAt` 为 Unix 毫秒。 每10秒刷一跑一次 已激活。 3秒内完成的跑步会保持 `busy: true` 联 合 国 3秒最小窗口的剩余部分,所以不会错过短跑。 包装 启动 OpenCode 之前清除文件, 并忽略旧的 Stale 繁忙旗 超过90秒.

无 `FREEBUILD_WRAPPER_STATE`, (中文(简体) ), `FREEBUILD_WRAPPER=1` 被忽略 普通 TUI 面板仍然可用.

## 应享权利

插件从 :

1.  `FREEBUILD_LICENSE_KEY` 或者说 `FREEBUILD_API_KEY`, (中文(简体) ),
2.  `~/.config/freebuild/credentials.json`,或
3.  遗产 `freebuild` openCode 中的提供者条目 `auth.json`。 。 。 .

在 OpenCode V2 上, 提供者的呼叫使用通过 整合 API. 插件保留 `credentials.json` 这样它就可以再刷新 以及发起人小组.

证书文件 :

```json
{
  "installId": "a stable installation id",
  "licenseKey": "fb_...",
  "apiUrl": "https://freebuild.dev",
  "brokerUrl": "https://freebuild.dev/broker",
  "sponsorUrl": "https://freebuild.dev/api/sponsor/panel"
}
```

它呼吁:

```text
GET {brokerUrl}/api/me/entitlement
Authorization: Bearer <licenseKey>
X-Freebuild-Install: <installId>
```

-   `sponsored: true` + 在运行期间,面板可以打开.
-   `sponsored: false` – 面板从不打开.
-   无许可证密钥 ~ 不活动; 运行 `/freebuild-license`。 。 。 .
-   `401` 为连接的密钥 − 旋转、 撤销或取消; 运行 `/freebuild-key` 替换自 `/account` 或者说 `/freebuild-license` 追回款项 菜单。 插件不会自动启动新的检出 .
-   无法用许可证钥匙接触经纪人 – 小组关闭,执照也关闭 未丢弃.
-   `/freebuild-adtest` 强制预览而不更改权限.

生成的提供者也发送 `X-Freebuild-Install` 财务报告和审定财务报表 `X-Freebuild-Client`。安装的ID可以让经纪人使用与 和客户身份记录 显示请求.

## 赞助者种子

插件获取 :

```text
GET {sponsorUrl}
Authorization: Bearer <licenseKey>
X-Freebuild-Install: <installId>
X-Freebuild-Client: opencode/<pluginVersion>
```

预期反应:

```json
{
  "campaign": {
    "id": "acme-2026-11",
    "brand": "Acme",
    "kicker": "SHIP FASTER",
    "title": "Acme CI runs your tests in 30 seconds.",
    "body": "Use code FREEBUILD for 3 months free.",
    "url": "https://acme.example/freebuild",
    "clickUrl": "https://freebuild.dev/api/sponsor/click?id=acme-2026-11",
    "eventUrl": "https://freebuild.dev/api/sponsor/event",
    "accent": "#39d98a",
    "wordmark": "ACME",
    "wordmarkFont": "block",
    "showWordmark": true,
    "imageOnly": false,
    "titleStyle": { "bold": true, "italic": false, "underline": false },
    "bodyStyle": { "bold": false, "italic": true, "underline": false },
    "align": "center",
    "imageUrl": "https://freebuild.dev/ads/acme.webp"
  },
  "serverTime": 1793480000
}
```

`imageUrl` 是可选的。 当它出现时,面板和包装器将它变成一个 复制件上方的静态图像; 缺席时, 面板显示文字标记和 格式化文本. `imageOnly: true` 需要一个 `imageUrl` 并制作图像 横跨整个创作区,没有踢球,头条,身体,或文字标记. `wordmark` 默认为 `FREEBUILD`· ; `wordmarkFont` 接受 `auto`, (中文(简体) ), `huge`, (中文(简体) ), `block`, (中文(简体) ), `slick`, (中文(简体) ), `shade`, (中文(简体) ), `tiny`, (中文(简体) ), `grid`,或 `pallet`· ; `showWordmark: false` 藏来. 上传自 `/admin/ads.html` 改为 静态 PNG; GIFs 使用它们的第一个帧. `titleStyle` 财务报告和审定财务报表 `bodyStyle` 接受 `bold`, (中文(简体) ), `italic`,以及 `underline`· ; `align` 接受 `center` 或者说 `left`。 。 。 . `videoUrl` 是遗产和被忽略的.

小组活动公布如下:

```json
{
  "campaignId": "acme-2026-11",
  "sessionId": "c13792d2135744c5bb309fa7",
  "installId": "fa0515ea6e0c419db3f00901ea697316",
  "runId": "run-0001",
  "client": "opencode/0.0.27",
  "event": "open",
  "durationMs": 0,
  "tokens": 75
}
```

`close` 事件包括可见的持续时间。 这个 `client` 字段为 客户端报告,未核实。 用它来分割表面的事件,而不是作为证据 面板是可见的.

## 环境

```text
FREEBUILD_LICENSE_KEY    broker license key
FREEBUILD_API_KEY        fallback license key
FREEBUILD_BROKER_URL     broker base URL (default https://freebuild.dev/broker)
FREEBUILD_API_URL        app base URL for activation (default https://freebuild.dev)
FREEBUILD_SPONSOR_URL    sponsor panel feed
FREEBUILD_CREDENTIALS    alternate credentials JSON path
FREEBUILD_AD_DEMO=1      preview the panel on startup
FREEBUILD_AD_DEMO_MS     preview duration in milliseconds
FREEBUILD_WRAPPER=1      suppress the TUI panel and emit wrapper busy state
FREEBUILD_WRAPPER_STATE  busy-state file for the desktop wrapper
FREEBUILD_WRAPPER_DEBUG  optional log file for plugin/wrapper diagnostics
```

## 发展

OpenCode 2.2.0 需要用 `renderer.off(...)`· ; 调用返回值 `renderer.on(...)` 清理时崩溃插件 .

TUI 装入插件启动, 因此设置或清理例外可以删除 主机终端. 在 OpenCode 进程之前测试已更改的插件 替换用于日常工作的复制件,并保存 `FREEBUILD_WRAPPER` 未设定 除非桌面包装器实际上正在启动 OpenCode .

本寄存器中使用的验证 :

```powershell
wrapper\node_modules\.bin\esbuild.cmd opencode-plugin\src\tui.tsx --bundle `
  --loader:.tsx=tsx --external:* --outfile=$env:TEMP\plugin-check.js
```

## 测试

-   没有许可证密钥, 运行时没有打开面板 .
-   `/freebuild-license` 完成 Frade 检查并写入提供者配置 .
-   退出后,插件会存储证书和 `/freebuild-setup` 选择模型.
-   有一把钥匙, `/freebuild-license` 在购买前询问, 并且从不打开第二个退出 .
-   `/freebuild-key` 拒绝一个不活跃的密钥并保留当前许可证;一个活动密钥被保存,连接提供者,并选择"Freebuild"模式.
-   `/account` 显示,旋转,并打开帐单 持有的许可证 的签名电子邮件.
-   持有被赞助的执照后,面板会打开并显示被获取的竞选活动.
-   `/freebuild-plan` 显示使用的加权、保留、限制、原始符号和缓存点击率.
-   取消了订阅 `/api/me/entitlement` 返回时 `401` 和小组 停止打开.

## 许可证

专有. 版权 (c) 2026 Freebuilt. 版权所有.

此套件根据"Freebuilt自有许可证"获得许可. 见 [自由主义](https://npmcn.com/package/%40freebuild/opencode/LICENSE)。 。 。 .

## 常见问题

### @freebuild/opencode 是什么？

OpenCode上FreeBuilding的付费赞助计划插件:许可证激活、经纪人提供者和赞助人小组\.

### 如何安装 @freebuild/opencode？

在项目目录运行 npm install @freebuild/opencode，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：solid-js（\>=1\.9\.0）、@opentui/core（\>=0\.6\.6）、@opentui/solid（\>=0\.6\.6）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @freebuild/opencode 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/freebuild\_\_opencode 是否存在。

### @freebuild/opencode 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @freebuild/opencode 可以商用吗？

@freebuild/opencode 使用 SEE LICENSE IN LICENSE 许可。许可条款写在包内的独立文件中，请阅读该文件确认可否商用。以上为概括，不构成法律意见，请以许可原文为准。

### @freebuild/opencode 的下载量有多少？

根据 npm 官方下载统计，@freebuild/opencode 在 2026/10/16 – 2026/11/14 这 30 天内被下载 3,269 次，日均约 109 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @freebuild/opencode 还在维护吗？

最新版本 0\.0\.36 发布于 2026/11/09（6 天前）；至今共发布 17 个版本，其中过去 12 个月发布了 17 个；首次发布于 2026/11/07。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

