@ ever- works/ opencode- 插件
将生成工作委托给 打开代码 CLI. 一个单一的 OpenCode CLI会话在临时工作空间内自主处理网页搜索,内容创建,以及文件生成,同时使用活跃的Ever Works AI提供商进行模型访问.
插件元数据
| 外地 | 数值 |
|---|---|
| 身份证 | opencode |
| 类别 | pipeline |
| 能力 | pipeline, (中文(简体) ), form-schema-provider |
| 作者 | 永远工作团队 |
| 许可证 | AGPL-3.0 导弹 |
| 内建 | 对 |
| 可自动启用 | 没有 |
管道步骤
该插件运行了6个相继步骤 :
| {\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} | 步骤 | 说明 | 可选 |
|---|---|---|---|
| 1个 | 设置 OpenCode | 从 GitHub 下载/切换 OpenCode 的 CLI 二进制 | 没有 |
| 2个 | 准备背景 | 创建临时工作空间、种子现有项目和元数据 | 没有 |
| 3个 | 生成项目 | 执行 OpenCode CLI 作为 JSON 文件来研究和生成项目 | 没有 |
| 页:1 | 收集结果 | 读取生成的 JSON 文件返回到管道结果 | 没有 |
| 页:1 | 抓取屏幕截图 | 对生成的项目进行截图( 通过截图提供者) | 对 |
| 6个 | 清理 | 删除临时工作空间 | 对 |
步骤3,a 分类学观察者 监视新项目文件的工作空间并保存 _meta/ 实时同步分类文件(类别,标签,品牌). 按项目报告进展情况.
AI 供应商一体化
OpenCode 不要求用户在此插件内配置单独的提供者, 认证模式或模型 .
相反,它解决了活跃的Ever Works ai-provider 当前 { userId, workId } 上下文并生成一个孤立的 OpenCode 配置
- 提供者基础 URL 和 API 密钥来自
execContext.aiFacade.getProviderConfig(...) - 模型选择来自 AI 提供者的路由配置( S)
complexModel先说defaultModel(中文(简体) ) - OpenCode 运行时使用用户扫描的、孤立的配置工作,而不是机器- 全球认证状态
- 明确启用网络工具,包括
websearch
设置
| 设置 | 类型 | 范围 | 说明 |
|---|---|---|---|
version | 字符串 | 隐藏 | 要安装的 OpenCode CLI 版本( 默认 ): v1.0.223(中文(简体) ) |
表单Schema
插件提供了一个用户格式,有两个可配置字段:
| 外地 | 类型 | 默认 | 验证 | 说明 |
|---|---|---|---|---|
target_items | 编号 | 第50条 | 1 -500 (中文(简体) ) | 要生成的新项目的目标数量 |
capture_screenshots | 布尔 | 虚假 | - 说吧 | 获取生成项目的截图 |
提示系统
提示通过一个即时外观(如:Langfuse)来管理. 当找不到外部提示时,硬码默认被作为倒置.
提示键 :
opencode.system—系统即时模板opencode.user– 用户提示模板
两者都支持工作环境、现有项目、类别、标签和品牌的可变替代.
二进制管理
插件从 GitHub 版本下载 OpenCode CLI 二进制 :
- 二进制缓存于
{tmpdir}/opencode-generator/bin/opencode-{version}-{platform}/ - 平台检测 :
linux-x64, (中文(简体) ),linux-arm64, (中文(简体) ),darwin-x64, (中文(简体) ),darwin-arm64 - 可用SHA-256核对总和
- 默认版本 :
v1.0.223
处理错误
- 非零退出代码:作为软警告处理. 如果物品仍在生产中,结果就会成功,并附有警告.
- 空结果:如果OpenCode完成而未产生任何有效的项目JSON文件,则会随CLI输出节录出错以进行调试.
- 缺少 AI 提供者配置: 如果已解决的 Ever Works AI 提供商没有曝光一个基址, API 密钥, 或可运行的模型, 管道会提前失效 .
项目结构
src/
opencode.plugin.ts # Main plugin class (IPlugin, IPipelinePlugin, IFormSchemaProvider)
types.ts # Step IDs, constants
steps.ts # Pipeline step definitions
form-schema.ts # Form fields, groups, validation
prompt-keys.ts # Prompt facade keys
index.ts # Public exports
prompt/
system-prompt.ts # Default prompts and variable builders
utils/
binary-manager.ts # CLI download from GitHub releases
opencode-config.ts # User-scoped OpenCode config generation and cleanup
pipeline-helpers.ts # State management, settings resolution, progress reporting
process-runner.ts # OpenCode CLI subprocess execution
workspace-manager.ts # Workspace I/O (create, seed, read, cleanup)
screenshot-capture.ts # Screenshot facade integration
taxonomy-sync.ts # Merge new categories/tags/brands into _meta files
taxonomy-watcher.ts # Filesystem watcher for live taxonomy sync
platform.ts # Platform/architecture detection
发展
# Build
pnpm build
# Type-check
pnpm type-check
# Run tests
pnpm test
# Watch mode
pnpm test:watch
# Coverage
pnpm test:coverage
解决问题
| 症状 | 可能的原因是 | 修补 |
|---|---|---|
世代从不开始/留在 0% | opencode 未选择此工程的运行中的管道插件 | 打开工作 插件 → pipeline 能力和设置 opencode 作为活动管道;或 设置为全球管道默认 设置 — 插件 |
步骤失败 No AI / search / screenshot provider configured | 管道依赖于无法启用或没有证书的能力插件 | 启用并配置工作或全球匹配能力插件( AI 提供者、 搜索、 截图、 内容提取器) |
| 步骤输出看起来错误/ 通用 | Form-field 调制未设置; 使用与工程域不符的默认管道 | 打开 生成表单 为工作设置特定域(类别、目标关键词、源 URL),并重运行受影响的步骤 |
子进程错误 : command not found | OpenCode Generator 运行 API 主机上未安装 CLI | 在 API 主机上安装 OpenCode 生成器 CLI, 并确保它打开 PATH; 通过运行验证 which <cli> 发射的同一枚炮弹 pnpm dev:api |
| 认证 / 设备- 自动流动站 | 上游 IDE / 浏览器中从未确认设备自动代码 | 重运行设备自动流出 设置 – 插件 – 打开码 – 连接,然后在代码到期前在上游服务中填写提示 |
| 主机重启后管道无法恢复 | 检查站没有继续存在(今天只有标准管道维持检查站) | 取消被卡住的运行并重新触发生成; 因为生产可靠性更可取 standard-pipeline |
文档
许可证
AGPL-3.0 导弹