Remove the unpublished OpenCode GitHub Action and migrate @opencode/ai imports
OpenCode v2.2.0 unpublished the GitHub Action, moved @opencode/ai Promise/Effect entry points, and requires OpenTUI 0.7.0. Fix CI and imports first, then use keyed session instruction entries instead of rewriting the system prompt, and install experimental Desktop plugins from the GUI docs.Why this loop
v2.2.0 breaks CI, SDK imports, and plugin installs. The OpenCode GitHub Action is no longer published, so workflows that still uses: it will fail until those steps are removed. @opencode/ai now exports the Promise API from the package root, moves Effect to @opencode/ai/effect, and deletes @opencode/ai/promise plus wildcard subpaths—the release’s own diff is the required rewrite. @opencode/plugin now requires @opentui/core and @opentui/solid 0.7.0; 0.6 plugins fail to install, and custom renderables must assign renderBefore/renderAfter/onLifecyclePass in the constructor, call refreshHooks() after reflection-added hooks, and replace defineNativeIntegration() with static nativeIntegration. After that migration, plugins should stop editing the system prompt: ctx.session.instructions.entry.put/list/remove applies a small keyed update at the next step, survives compaction and reverts, does not bust the prompt cache, and does not start an extra model turn. Pair that with experimental Desktop plugins (https://opencode.ai/v2/docs/build/plugins/gui) and the desktop Todo tool’s opt-in restore.
Proposed actions
- Search .github/workflows for any
uses:that references the OpenCode GitHub Action and delete those jobs/steps. OpenCode v2.2.0 no longer publishes the Action; if CI still needs an agent run, invoke the OpenCode CLI locally in the job instead of the unpublished Action. - Apply this import rewrite everywhere and fail the change if any leftover path remains:
import { AI } from "@opencode/ai/promise"→import { AI } from "@opencode/ai";import { LLM } from "@opencode/ai"→import { LLM } from "@opencode/ai/effect". Then runrg -n "@opencode/ai/promise" -g '!**/node_modules/**'and delete every remaining@opencode/ai/promiseor wildcard-subpath import. - In every package that depends on
@opencode/plugin, pin@opentui/coreand@opentui/solidto 0.7.0 (up from 0.6.8). Rewrite custom renderables sorenderBefore,renderAfter, andonLifecyclePassare assigned in the constructor (not class fields), callrefreshHooks()after adding a hook by reflection, and replacedefineNativeIntegration()with astatic nativeIntegrationdeclaration. - In OpenCode plugins, stop mutating the system prompt for per-step guidance. Use
ctx.session.instructions.entry.put,.list, and.removeso each change is a keyed update at the next step, survives compaction and reverts, does not bust the prompt cache, and does not start an extra model turn. - Follow https://opencode.ai/v2/docs/build/plugins/gui to create, install, and share an experimental Desktop plugin for any GUI workflow you currently keep outside OpenCode. After upgrading the desktop app to v2.2.0, turn the restored Todo tool on only via its opt-in if you still need todos in the desktop UI.
Agent prompt
Paste into your agent or query via MCP (get_agent_prompt) — free, no extra AI costOpenCode session task
DevAgentRadar → OpenCode
You are helping me adopt a real coding-assistant change. Work only from the facts below. Do not invent features.
Context
Assistant: OpenCode Proposal: Remove the unpublished OpenCode GitHub Action and migrate @opencode/ai imports Summary: OpenCode v2.2.0 unpublished the GitHub Action, moved @opencode/ai Promise/Effect entry points, and requires OpenTUI 0.7.0. Fix CI and imports first, then use keyed session instruction entries instead of rewriting the system prompt, and install experimental Desktop plugins from the GUI docs. Primary source: https://github.com/anomalyco/opencode/releases/tag/v2.2.0
Why it matters
v2.2.0 breaks CI, SDK imports, and plugin installs. The OpenCode GitHub Action is no longer published, so workflows that still uses: it will fail until those steps are removed. @opencode/ai now exports the Promise API from the package root, moves Effect to @opencode/ai/effect, and deletes @opencode/ai/promise plus wildcard subpaths—the release’s own diff is the required rewrite. @opencode/plugin now requires @opentui/core and @opentui/solid 0.7.0; 0.6 plugins fail to install, and custom renderables must assign renderBefore/renderAfter/onLifecyclePass in the constructor, call refreshHooks() after reflection-added hooks, and replace defineNativeIntegration() with static nativeIntegration. After that migration, plugins should stop editing the system prompt: ctx.session.instructions.entry.put/list/remove applies a small keyed update at the next step, survives compaction and reverts, does not bust the prompt cache, and does not start an extra model turn. Pair that with experimental Desktop plugins (https://opencode.ai/v2/docs/build/plugins/gui) and the desktop Todo tool’s opt-in restore.
Suggested actions
- Search .github/workflows for any
uses:that references the OpenCode GitHub Action and delete those jobs/steps. OpenCode v2.2.0 no longer publishes the Action; if CI still needs an agent run, invoke the OpenCode CLI locally in the job instead of the unpublished Action. - Apply this import rewrite everywhere and fail the change if any leftover path remains:
import { AI } from "@opencode/ai/promise"→import { AI } from "@opencode/ai";import { LLM } from "@opencode/ai"→import { LLM } from "@opencode/ai/effect". Then runrg -n "@opencode/ai/promise" -g '!**/node_modules/**'and delete every remaining@opencode/ai/promiseor wildcard-subpath import. - In every package that depends on
@opencode/plugin, pin@opentui/coreand@opentui/solidto 0.7.0 (up from 0.6.8). Rewrite custom renderables sorenderBefore,renderAfter, andonLifecyclePassare assigned in the constructor (not class fields), callrefreshHooks()after adding a hook by reflection, and replacedefineNativeIntegration()with astatic nativeIntegrationdeclaration. - In OpenCode plugins, stop mutating the system prompt for per-step guidance. Use
ctx.session.instructions.entry.put,.list, and.removeso each change is a keyed update at the next step, survives compaction and reverts, does not bust the prompt cache, and does not start an extra model turn. - Follow https://opencode.ai/v2/docs/build/plugins/gui to create, install, and share an experimental Desktop plugin for any GUI workflow you currently keep outside OpenCode. After upgrading the desktop app to v2.2.0, turn the restored Todo tool on only via its opt-in if you still need todos in the desktop UI.
Config surfaces this release may change
- skills (high confidence) — check your repo before applying
- slash commands — check your repo before applying
- context and compaction settings — check your repo before applying
- hooks — check your repo before applying
- MCP servers — check your repo before applying
- permission rules — check your repo before applying
After you finish
Do not report this as applied to DevAgentRadar. You cannot write the visitor's loop.
Tell the human: open https://devagentradar.com/proposals/opencode-v2-2-0-remove-the-unpublished-opencode-github-action-and-migrat and mark Applied, Skipped, or Failed. Proposal id: d1b70864-ae10-4077-878d-c068e0b3ef43
Your job
- Restate the change in one sentence.
- Propose a minimal plan for my repo (or a throwaway pilot).
- Implement only what I approve; prefer small diffs and tests.
- Call out risks (permissions, breaking APIs, cost).
Start by confirming you understood the proposal.
Your loop
This browser · no sign-in · not shared as “you”After you run the prompt
Only you can mark this. Agents cannot write your loop.
Your decision stays on this device. A public tally appears after a few votes.