opencode-gh-actions-statusOpenCode plugin that surfaces GitHub Actions workflow run statuses in the sidebar
0
15
近 7 天 3
20.2
生态多维模型
4 个月前
2026-04-06
快速安装与配置
opencode.json写入当前项目的 opencode.json,只对这个仓库生效。
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-gh-actions-status@0.2.0"]
}写入 ~/.config/opencode/opencode.json,对所有项目生效。
~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-gh-actions-status@0.2.0"]
}若你要在本地改造这个插件,先装到项目里再从本地路径引用。
shell
pnpm add -D opencode-gh-actions-statusopencode 启动时会通过内嵌运行时自动加载 npm 依赖并缓存至本地目录,无需手动在全局环境执行安装。
An OpenCode plugin that surfaces GitHub Actions workflow run statuses and unresolved PR review comments directly in your editor.
Features
- Instant push detection: Shows a "Waiting for CI..." toast the moment the agent runs
git push— before GitHub has even queued the run - Live status updates: Transitions through
Waiting for CI...→1 running→1 passing(or1 failing) as the run progresses - Post-push agent prompt: When the agent runs
git pushand CI completes, the plugin automatically prompts the agent with the full run results and any unresolved review comments so it can react autonomously — fixing failures or addressing feedback without being asked - Unresolved comment count: Toast includes a count of unresolved PR review threads so you always know if there is feedback waiting
- Sidebar panel: Color-coded list of the latest workflow runs for your current branch
- Agent tool: The AI agent can call
gh_actionsto check CI status and read the full text of unresolved review comments - Skill file: Bundled
SKILL.mdis auto-registered via theconfighook, with system prompt injection and compaction-safe context so the agent never loses awareness of the tool in long sessions
Requirements
- GitHub CLI (
gh) installed and authenticated - Git available in your PATH
Installation
Add to your opencode.json:
{
"plugin": ["opencode-gh-actions-status"]
}
Configuration
Pass options as a tuple:
{
"plugin": [
["opencode-gh-actions-status", {
"branch": "main",
"limit": 10,
"workflows": ["ci.yml", "deploy.yml"],
"pollInterval": 60000,
"toastInterval": 30000
}]
]
}
| Option | Type | Default | Description |
|---|---|---|---|
branch |
string |
"current" |
Branch to check. "current" uses the active git branch. |
limit |
number |
5 |
Maximum number of workflow runs to display. |
workflows |
string[] |
all | Filter to specific workflow files. |
pollInterval |
number |
60000 |
Cache TTL in ms for gh run list results used by the sidebar. |
toastInterval |
number |
30000 |
How often (ms) the toast poll loop fires while CI runs are active after a push. |
How it works
The plugin makes no GitHub API calls at rest. All polling is triggered exclusively by a git push:
- The
tool.execute.afterhook detects when the agent runsgit push - An immediate "Waiting for CI..." toast is shown before GitHub has queued the run
- A poll loop starts, calling
gh run listontoastInterval(default 30s) and updating the toast through each state transition - On completion, the final result toast is shown with a 30-minute duration and polling stops
- The agent session is automatically prompted with the full CI report — including unresolved review comments — so it can autonomously react to failures or reviewer feedback
The toast message format:
1 passing
2 unresolved ← only shown when there are unresolved PR review threads
Status indicators
| Status | Color |
|---|---|
success |
Green |
failure / timed_out |
Red |
cancelled / skipped |
Yellow |
in_progress / queued / pending |
Blue |
Agent tool: gh_actions
When the AI agent calls gh_actions, it receives:
- All workflow runs for the current HEAD commit with status, conclusion, and URL
- Full text of all unresolved PR review threads (file path, line number, author, comment body, and URL)
This allows the agent to proactively check CI results and address code review feedback without you having to ask.
Skill & context persistence
The plugin ships a skills/gh-actions/SKILL.md file that describes when and how to use the gh_actions tool. It is installed automatically via three hooks:
| Hook | Purpose |
|---|---|
config |
Registers the skills/ directory so OpenCode discovers the skill on startup |
experimental.chat.system.transform |
Injects a short reminder about the tool into the system prompt on every LLM call, surviving context compaction |
experimental.session.compacting |
Adds context to the compaction summary so the agent retains awareness of the tool after long sessions |
Post-push CI prompt
When the agent runs git push (detected via tool.execute.after), the plugin tracks the session ID. Once all workflow runs reach a final state, it calls session.prompt() to inject the full CI report — including unresolved review comments — as a synthetic message. This triggers an agent turn so it can autonomously fix CI failures or address reviewer feedback.
Development
bun install
bun run build
bun run test
For local testing, reference the built plugin in your opencode.json:
{
"plugin": ["file:///path/to/opencode-gh-actions-status/dist/index.js"]
}