@hiai-gg/hiai-opencode 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +28 -21
- package/AGENTS.md +183 -28
- package/ARCHITECTURE.md +17 -20
- package/LICENSE.md +1 -0
- package/README.md +269 -66
- package/assets/cli/hiai-opencode.mjs +276 -0
- package/assets/mcp/mempalace.mjs +47 -4
- package/assets/mcp/playwright.mjs +83 -0
- package/config/hiai-opencode.schema.json +113 -1
- package/dist/config/index.d.ts +0 -1
- package/dist/config/platform-schema.d.ts +72 -0
- package/dist/config/schema/agent-overrides.d.ts +256 -0
- package/dist/config/schema/categories.d.ts +2 -2
- package/dist/config/schema/commands.d.ts +1 -0
- package/dist/config/schema/index.d.ts +2 -0
- package/dist/config/schema/oh-my-opencode-config.d.ts +267 -0
- package/dist/config/schema/skill-discovery.d.ts +11 -0
- package/dist/config/types.d.ts +12 -1
- package/dist/features/builtin-commands/templates/mcp-status.d.ts +1 -0
- package/dist/features/builtin-commands/types.d.ts +1 -1
- package/dist/features/opencode-skill-loader/loader.d.ts +2 -0
- package/dist/index.js +617 -421
- package/dist/mcp/registry.d.ts +14 -0
- package/dist/mcp/types.d.ts +6 -0
- package/dist/plugin/skill-discovery-config.d.ts +4 -0
- package/dist/shared/startup-diagnostics.d.ts +6 -0
- package/hiai-opencode.json +192 -36
- package/package.json +4 -1
- package/src/agents/AGENTS.md +3 -4
- package/src/config/defaults.ts +55 -133
- package/src/config/index.ts +0 -1
- package/src/config/loader.ts +4 -1
- package/src/config/platform-schema.ts +18 -2
- package/src/config/schema/agent-overrides.ts +2 -0
- package/src/config/schema/commands.ts +1 -0
- package/src/config/schema/fast-apply.ts +4 -4
- package/src/config/schema/index.ts +2 -0
- package/src/config/schema/oh-my-opencode-config.ts +3 -0
- package/src/config/schema/skill-discovery.ts +25 -0
- package/src/config/types.ts +16 -0
- package/src/features/builtin-commands/commands.ts +7 -0
- package/src/features/builtin-commands/templates/mcp-status.ts +36 -0
- package/src/features/builtin-commands/types.ts +1 -1
- package/src/features/builtin-skills/skills/playwright.ts +24 -2
- package/src/features/opencode-skill-loader/loader.ts +11 -0
- package/src/index.ts +15 -13
- package/src/mcp/index.ts +0 -33
- package/src/mcp/omo-mcp-index.ts +0 -5
- package/src/mcp/registry.ts +132 -0
- package/src/mcp/types.ts +11 -1
- package/src/plugin/hooks/create-tool-guard-hooks.ts +1 -1
- package/src/plugin/skill-context.ts +31 -13
- package/src/plugin/skill-discovery-config.ts +32 -0
- package/src/plugin-handlers/agent-config-handler.ts +20 -13
- package/src/plugin-handlers/command-config-handler.ts +22 -12
- package/src/shared/migration/agent-names.ts +5 -5
- package/src/shared/startup-diagnostics.ts +77 -0
- package/src/config/models.ts +0 -32
package/README.md
CHANGED
|
@@ -1,14 +1,40 @@
|
|
|
1
1
|
# hiai-opencode
|
|
2
2
|
|
|
3
|
-
`hiai-opencode` is an OpenCode plugin that
|
|
3
|
+
`hiai-opencode` is an OpenCode plugin that wires together:
|
|
4
4
|
|
|
5
5
|
- a curated multi-agent runtime
|
|
6
|
-
- project and
|
|
6
|
+
- project and OpenCode skills
|
|
7
7
|
- MCP integrations
|
|
8
8
|
- LSP defaults
|
|
9
9
|
- migration and compatibility wiring
|
|
10
10
|
|
|
11
11
|
This repository is intended to be usable by someone who clones it from GitHub without any internal context.
|
|
12
|
+
The external MCP servers, skills, model providers, and auxiliary OpenCode plugins remain their own upstream projects; this plugin only provides OpenCode wiring, defaults, prompts, launchers, and documentation around them.
|
|
13
|
+
|
|
14
|
+
## Why This Exists
|
|
15
|
+
|
|
16
|
+
I wanted the "one install, give me the whole cockpit" setup. More agents, more MCP servers, more skills, better defaults, fewer tiny config islands. 🚀
|
|
17
|
+
|
|
18
|
+
The problem: all those great tools do not magically become friends just because you installed them. Some are npm packages, some are Python tools, some need API keys, some need a local service, and some only wake up after the first run. Meanwhile your main agent can waste half the context window just reading everything you bolted on. Not chill. 😅
|
|
19
|
+
|
|
20
|
+
So `hiai-opencode` is my attempt to wire the best pieces I use into one OpenCode-friendly shape: agents, prompts, skills, MCP launchers, LSP defaults, and a clean config surface. It does not claim ownership of the upstream tools. It just tries to make them cooperate.
|
|
21
|
+
|
|
22
|
+
After the first install, a few MCP services may still need local dependencies or keys. You have two options:
|
|
23
|
+
|
|
24
|
+
- Follow the setup sections below: [Install](#install), [Environment](#environment), and [MCP Service Notes](#mcp-service-notes).
|
|
25
|
+
- Or ask OpenCode to do the boring part for you. Paste this after installing:
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
Read AGENTS.md and finish hiai-opencode setup for this workspace.
|
|
29
|
+
|
|
30
|
+
Keep OpenCode plugins separate from MCP servers. Do not add MCP server packages to the OpenCode plugin list.
|
|
31
|
+
|
|
32
|
+
Check which MCP services can run on this machine, update hiai-opencode.json, install only missing user-level or project-local dependencies, and report missing API keys without printing secret values.
|
|
33
|
+
|
|
34
|
+
Then run opencode debug config and opencode mcp list --print-logs --log-level INFO if available.
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
For the full operator playbook, see [AGENTS.md](AGENTS.md). 🤖
|
|
12
38
|
|
|
13
39
|
## What You Get
|
|
14
40
|
|
|
@@ -20,7 +46,7 @@ This repository is intended to be usable by someone who clones it from GitHub wi
|
|
|
20
46
|
- `deep`, `ultrabrain`, `visual-engineering`, `artistry`, and `unspecified-high` are the deep Coder contour
|
|
21
47
|
- `Critic` and `Researcher` are selected explicitly
|
|
22
48
|
- `Designer`, `Brainstormer`, `Manager`, and `Vision` are direct callable specialists
|
|
23
|
-
-
|
|
49
|
+
- Skill materialization into OpenCode's `skills/` view
|
|
24
50
|
- MCP wiring for `playwright`, `stitch`, `sequential-thinking`, `firecrawl`, `rag`, `mempalace`, `context7`, plus remote `websearch` and `grep_app`
|
|
25
51
|
- LSP wiring for TypeScript, Svelte, Python, Bash, and ESLint
|
|
26
52
|
|
|
@@ -34,7 +60,7 @@ Minimum:
|
|
|
34
60
|
|
|
35
61
|
Usually required:
|
|
36
62
|
|
|
37
|
-
-
|
|
63
|
+
- at least one model provider connected in OpenCode for the model IDs you configure
|
|
38
64
|
|
|
39
65
|
Optional, depending on which services you want:
|
|
40
66
|
|
|
@@ -47,9 +73,21 @@ Optional, depending on which services you want:
|
|
|
47
73
|
|
|
48
74
|
## Install
|
|
49
75
|
|
|
50
|
-
|
|
76
|
+
### 1. Register the OpenCode plugin
|
|
51
77
|
|
|
52
|
-
|
|
78
|
+
```bash
|
|
79
|
+
opencode plugin @hiai-gg/hiai-opencode@latest --global
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Optional Dynamic Context Pruning plugin:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
opencode plugin @tarquinen/opencode-dcp@latest --global
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Do not put MCP server packages such as `firecrawl-mcp`, `@playwright/mcp`, or `@modelcontextprotocol/server-sequential-thinking` into the OpenCode `plugin` array. They are MCP servers, not OpenCode plugins. `hiai-opencode` only provides the OpenCode-side launch wiring for them through its `mcp` config and helper launchers.
|
|
89
|
+
|
|
90
|
+
Manual OpenCode config equivalent:
|
|
53
91
|
|
|
54
92
|
```json
|
|
55
93
|
{
|
|
@@ -58,19 +96,81 @@ Add the npm package to your OpenCode config. OpenCode installs npm plugins autom
|
|
|
58
96
|
}
|
|
59
97
|
```
|
|
60
98
|
|
|
61
|
-
|
|
99
|
+
The packaged minimal OpenCode example lives in [config/opencode.json](config/opencode.json).
|
|
100
|
+
|
|
101
|
+
### 2. Create project config
|
|
102
|
+
|
|
103
|
+
Create a project-level config file at `hiai-opencode.json` in the project root or at `.opencode/hiai-opencode.json`.
|
|
104
|
+
|
|
105
|
+
Bash:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
mkdir -p .opencode
|
|
109
|
+
cp hiai-opencode.json .opencode/hiai-opencode.json
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
PowerShell:
|
|
113
|
+
|
|
114
|
+
```powershell
|
|
115
|
+
New-Item -ItemType Directory -Force .opencode
|
|
116
|
+
Copy-Item .\hiai-opencode.json .\.opencode\hiai-opencode.json
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
If you installed only from npm/OpenCode and do not have this repository checked out, create `.opencode/hiai-opencode.json` with the service block below and adjust it later.
|
|
120
|
+
|
|
121
|
+
```json
|
|
122
|
+
{
|
|
123
|
+
"mcp": {
|
|
124
|
+
"playwright": { "enabled": true },
|
|
125
|
+
"sequential-thinking": { "enabled": true },
|
|
126
|
+
"firecrawl": { "enabled": true },
|
|
127
|
+
"mempalace": { "enabled": true },
|
|
128
|
+
"rag": { "enabled": false },
|
|
129
|
+
"stitch": { "enabled": false },
|
|
130
|
+
"context7": { "enabled": true }
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
By default, skill discovery is deterministic: `hiai-opencode` skills plus project-local `.opencode/skills` only. Global Claude/OpenCode/Agents skill folders are opt-in.
|
|
136
|
+
|
|
137
|
+
### 3. Connect models and add service keys
|
|
138
|
+
|
|
139
|
+
Model provider credentials belong to OpenCode Connect, not to `hiai-opencode`.
|
|
140
|
+
This plugin only writes model IDs such as `openrouter/anthropic/claude-3.5-sonnet` into agent and category config.
|
|
141
|
+
|
|
142
|
+
Use OpenCode Connect to authorize the providers behind your configured model IDs. Then add only the service keys for MCP or search integrations you actually use:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
export FIRECRAWL_API_KEY=...
|
|
146
|
+
export STITCH_AI_API_KEY=...
|
|
147
|
+
export CONTEXT7_API_KEY=...
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
See [Environment Variables And Keys](#environment-variables-and-keys) for the full list.
|
|
151
|
+
|
|
152
|
+
### 4. Start and verify
|
|
62
153
|
|
|
63
154
|
```bash
|
|
64
155
|
opencode
|
|
156
|
+
hiai-opencode mcp-status
|
|
157
|
+
opencode debug config
|
|
158
|
+
opencode mcp list --print-logs --log-level INFO
|
|
65
159
|
```
|
|
66
160
|
|
|
161
|
+
`opencode mcp list` may not show plugin-provided MCP servers in every OpenCode version. If that happens, use `opencode debug config` and startup logs as the source of truth.
|
|
162
|
+
|
|
163
|
+
`hiai-opencode mcp-status` is the fastest visibility check. It does not change OpenCode config; it reports config location, enabled MCP services, missing keys, and basic local runtime availability.
|
|
164
|
+
|
|
165
|
+
## Development Install
|
|
166
|
+
|
|
67
167
|
Direct npm install is only needed for development or inspection:
|
|
68
168
|
|
|
69
169
|
```bash
|
|
70
170
|
npm install @hiai-gg/hiai-opencode
|
|
71
171
|
```
|
|
72
172
|
|
|
73
|
-
|
|
173
|
+
Local development:
|
|
74
174
|
|
|
75
175
|
```bash
|
|
76
176
|
git clone https://github.com/HiAi-gg/hiai-opencode.git
|
|
@@ -79,65 +179,54 @@ bun install
|
|
|
79
179
|
bun run build
|
|
80
180
|
```
|
|
81
181
|
|
|
82
|
-
##
|
|
182
|
+
## Post-Install Bootstrap Prompt
|
|
83
183
|
|
|
84
|
-
|
|
184
|
+
After installing the plugin, you can ask OpenCode to finish local setup with this prompt:
|
|
85
185
|
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
"$schema": "https://opencode.ai/config.json",
|
|
89
|
-
"plugin": ["@hiai-gg/hiai-opencode"]
|
|
90
|
-
}
|
|
91
|
-
```
|
|
186
|
+
```text
|
|
187
|
+
Inspect this OpenCode workspace and finish hiai-opencode setup.
|
|
92
188
|
|
|
93
|
-
|
|
189
|
+
Do not add MCP server packages to the OpenCode plugin list. Keep OpenCode plugins separate from MCP servers.
|
|
94
190
|
|
|
95
|
-
|
|
191
|
+
Check that @hiai-gg/hiai-opencode is registered. If Dynamic Context Pruning is requested, install @tarquinen/opencode-dcp as a separate OpenCode plugin.
|
|
96
192
|
|
|
97
|
-
|
|
193
|
+
Find or create hiai-opencode.json in the project root or .opencode/. Use its mcp object as the single switchboard for enabling or disabling MCP services.
|
|
98
194
|
|
|
99
|
-
|
|
100
|
-
git clone https://github.com/HiAi-gg/hiai-opencode.git
|
|
101
|
-
cd hiai-opencode
|
|
102
|
-
bun install
|
|
103
|
-
bun run build
|
|
104
|
-
```
|
|
195
|
+
Keep skill discovery deterministic unless I explicitly ask for external skills. Leave global_opencode, project_claude, global_claude, project_agents, and global_agents disabled by default.
|
|
105
196
|
|
|
106
|
-
|
|
197
|
+
Enable only services that can run on this machine:
|
|
198
|
+
- playwright: requires node/npx; optionally set HIAI_PLAYWRIGHT_INSTALL_BROWSERS=1 before first run if browser binaries are needed.
|
|
199
|
+
- sequential-thinking: requires node/npx.
|
|
200
|
+
- firecrawl: requires FIRECRAWL_API_KEY.
|
|
201
|
+
- mempalace: requires uv or Python 3.9+ with pip; set MEMPALACE_PYTHON if needed. Leave HIAI_MCP_AUTO_INSTALL enabled unless the user forbids package installation.
|
|
202
|
+
- rag: requires OPENCODE_RAG_URL or a running local endpoint at http://localhost:9002/tools/search.
|
|
203
|
+
- stitch: requires STITCH_AI_API_KEY.
|
|
204
|
+
- context7: works without a key but use CONTEXT7_API_KEY if available.
|
|
107
205
|
|
|
108
|
-
|
|
109
|
-
{
|
|
110
|
-
"$schema": "https://opencode.ai/config.json",
|
|
111
|
-
"plugin": ["@hiai-gg/hiai-opencode"]
|
|
112
|
-
}
|
|
113
|
-
```
|
|
206
|
+
Check .env.example, report missing keys without printing secret values, and never invent or hardcode API keys.
|
|
114
207
|
|
|
115
|
-
|
|
208
|
+
Run verification commands where available:
|
|
209
|
+
- opencode debug config
|
|
210
|
+
- opencode mcp list --print-logs --log-level INFO
|
|
116
211
|
|
|
117
|
-
|
|
118
|
-
opencode debug config
|
|
119
|
-
opencode mcp list --print-logs --log-level INFO
|
|
212
|
+
If a dependency is missing, install only user-level or project-local dependencies, explain every command before running it, and do not use sudo/admin rights unless the user explicitly asks.
|
|
120
213
|
```
|
|
121
214
|
|
|
122
215
|
## Where To Change Things
|
|
123
216
|
|
|
124
217
|
### Models
|
|
125
218
|
|
|
126
|
-
|
|
219
|
+
Canonical runtime defaults for agents, categories, MCP, LSP, and model IDs:
|
|
127
220
|
|
|
128
|
-
- [
|
|
221
|
+
- [hiai-opencode.json](hiai-opencode.json)
|
|
129
222
|
|
|
130
|
-
Runtime
|
|
223
|
+
Runtime loader for the bundled canonical config:
|
|
131
224
|
|
|
132
225
|
- [src/config/defaults.ts](src/config/defaults.ts)
|
|
133
226
|
|
|
134
|
-
|
|
227
|
+
If you want to change which model a specific agent or category uses by default, edit `hiai-opencode.json`.
|
|
135
228
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
If you want to change which model a specific agent uses by default, edit `src/config/defaults.ts`.
|
|
139
|
-
|
|
140
|
-
If you want to change the shared preset values like `fast`, `mid`, `high`, `vision`, or `reasoning`, edit `src/config/models.ts`.
|
|
229
|
+
Use fully qualified model IDs. Do not introduce local aliases like `hiai-fast`, `sonnet`, `fast`, or `high`.
|
|
141
230
|
|
|
142
231
|
### Prompting
|
|
143
232
|
|
|
@@ -164,21 +253,39 @@ Name mapping and visibility:
|
|
|
164
253
|
|
|
165
254
|
### Skills
|
|
166
255
|
|
|
167
|
-
|
|
256
|
+
Project skill definitions live under:
|
|
168
257
|
|
|
169
258
|
- [skills](skills)
|
|
170
259
|
|
|
171
|
-
|
|
260
|
+
Skill materialization logic:
|
|
172
261
|
|
|
173
262
|
- [src/features/builtin-skills/materialize.ts](src/features/builtin-skills/materialize.ts)
|
|
174
263
|
|
|
264
|
+
Skill discovery defaults:
|
|
265
|
+
|
|
266
|
+
```json
|
|
267
|
+
{
|
|
268
|
+
"skill_discovery": {
|
|
269
|
+
"config_sources": true,
|
|
270
|
+
"project_opencode": true,
|
|
271
|
+
"global_opencode": false,
|
|
272
|
+
"project_claude": false,
|
|
273
|
+
"global_claude": false,
|
|
274
|
+
"project_agents": false,
|
|
275
|
+
"global_agents": false
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
This keeps clean installs reproducible and avoids accidentally mixing Codex, Claude, Antigravity, and global OpenCode skill collections. To opt into external skill folders, enable the specific source you want instead of turning everything on.
|
|
281
|
+
|
|
175
282
|
### MCP
|
|
176
283
|
|
|
177
|
-
Default MCP
|
|
284
|
+
Default MCP registry:
|
|
178
285
|
|
|
179
|
-
- [src/
|
|
286
|
+
- [src/mcp/registry.ts](src/mcp/registry.ts)
|
|
180
287
|
|
|
181
|
-
|
|
288
|
+
OpenCode MCP config assembly:
|
|
182
289
|
|
|
183
290
|
- [src/mcp/index.ts](src/mcp/index.ts)
|
|
184
291
|
|
|
@@ -195,26 +302,41 @@ LSP defaults are defined in:
|
|
|
195
302
|
|
|
196
303
|
## Environment Variables And Keys
|
|
197
304
|
|
|
198
|
-
|
|
305
|
+
Model provider keys are handled by OpenCode Connect. Do not add `OPENROUTER_API_KEY`, `OPENAI_API_KEY`, or `ANTHROPIC_API_KEY` to `hiai-opencode` config for normal model usage.
|
|
306
|
+
|
|
307
|
+
Important service variables:
|
|
199
308
|
|
|
200
|
-
- `OPENROUTER_API_KEY`
|
|
201
|
-
- `OPENAI_API_KEY`
|
|
202
|
-
- `ANTHROPIC_API_KEY`
|
|
203
|
-
- `DEEPSEEK_API_KEY`
|
|
204
|
-
- `GLM_API_KEY`
|
|
205
|
-
- `MINIMAX_API_KEY`
|
|
206
|
-
- `QWEN_API_KEY`
|
|
207
309
|
- `STITCH_AI_API_KEY`
|
|
208
310
|
- `FIRECRAWL_API_KEY`
|
|
209
311
|
- `CONTEXT7_API_KEY`
|
|
312
|
+
- `GOOGLE_SEARCH_API_KEY`
|
|
210
313
|
- `OLLAMA_BASE_URL`
|
|
211
314
|
- `OLLAMA_MODEL`
|
|
212
315
|
- `MEMPALACE_PYTHON`
|
|
316
|
+
- `MEMPALACE_PALACE_PATH`
|
|
317
|
+
- `OPENCODE_RAG_URL`
|
|
318
|
+
- `HIAI_PLAYWRIGHT_INSTALL_BROWSERS`
|
|
319
|
+
- `HIAI_MCP_AUTO_INSTALL`
|
|
320
|
+
|
|
321
|
+
Optional headless or non-Connect fallback variables are documented in [.env.example](.env.example), but they are not required for normal OpenCode model auth.
|
|
213
322
|
|
|
214
323
|
Use [.env.example](.env.example) as the reference template. Create a local `.env` in your OpenCode environment or export these variables in your shell before startup.
|
|
215
324
|
|
|
216
325
|
## MCP Service Notes
|
|
217
326
|
|
|
327
|
+
The user-facing MCP switchboard is the `mcp` object in `hiai-opencode.json`:
|
|
328
|
+
|
|
329
|
+
```json
|
|
330
|
+
{
|
|
331
|
+
"mcp": {
|
|
332
|
+
"playwright": { "enabled": true },
|
|
333
|
+
"mempalace": { "enabled": false }
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
The source of truth for default MCP wiring is `src/mcp/registry.ts`. Change that file when adding a new MCP integration or changing its launch command, required env vars, or install strategy.
|
|
339
|
+
|
|
218
340
|
### Works well as remote MCP
|
|
219
341
|
|
|
220
342
|
- `stitch`
|
|
@@ -224,14 +346,43 @@ Use [.env.example](.env.example) as the reference template. Create a local `.env
|
|
|
224
346
|
|
|
225
347
|
### Works with local helper bootstrap
|
|
226
348
|
|
|
227
|
-
- `playwright`
|
|
349
|
+
- `playwright`: launches `@playwright/mcp@latest` through the helper npm runner. Set `HIAI_PLAYWRIGHT_INSTALL_BROWSERS=1` if you want the launcher to install Chromium on first start.
|
|
350
|
+
- `sequential-thinking`: launches `@modelcontextprotocol/server-sequential-thinking` through the helper npm runner.
|
|
351
|
+
- `firecrawl`: launches `firecrawl-mcp` through the helper npm runner and requires `FIRECRAWL_API_KEY`.
|
|
352
|
+
|
|
353
|
+
### Playwright On Minimal Linux Hosts
|
|
354
|
+
|
|
355
|
+
`hiai-opencode mcp-status` can confirm that the Playwright MCP launcher is available, but it cannot guarantee that Chromium can start on a minimal Linux image.
|
|
356
|
+
|
|
357
|
+
Playwright has two dependency layers:
|
|
358
|
+
|
|
359
|
+
- Browser binary: install with `HIAI_PLAYWRIGHT_INSTALL_BROWSERS=1` before OpenCode starts, or run `npx playwright install chromium`.
|
|
360
|
+
- System libraries: if Chromium errors with missing packages like `libnspr4`, `libnss3`, `libatk-bridge`, or `libgtk-3`, install them with admin rights, usually `sudo npx playwright install-deps chromium`.
|
|
361
|
+
|
|
362
|
+
If sudo is not available:
|
|
363
|
+
|
|
364
|
+
- Use an already installed system browser by editing the Playwright command in `.opencode/hiai-opencode.json`, for example:
|
|
365
|
+
|
|
366
|
+
```json
|
|
367
|
+
{
|
|
368
|
+
"mcp": {
|
|
369
|
+
"playwright": {
|
|
370
|
+
"enabled": true,
|
|
371
|
+
"command": ["node", "{pluginRoot}/assets/mcp/playwright.mjs", "--browser", "chrome"],
|
|
372
|
+
"timeout": 600000
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
- Try `--browser msedge` if Edge is installed.
|
|
379
|
+
- Use a remote/CDP browser or the `agent-browser`/`playwright-cli` skill path if those tools are installed.
|
|
380
|
+
- Use `curl` only as a degraded HTTP check. It does not replace browser interaction, screenshots, auth flows, or client-side app verification.
|
|
228
381
|
|
|
229
382
|
### Needs upstream runtime or extra setup
|
|
230
383
|
|
|
231
|
-
- `mempalace`:
|
|
232
|
-
- `firecrawl`: requires `FIRECRAWL_API_KEY`
|
|
384
|
+
- `mempalace`: prefers `uv`; otherwise uses Python. If `HIAI_MCP_AUTO_INSTALL` is not `0`, `false`, or `no`, the launcher can run `python -m pip install --user mempalace` on first start.
|
|
233
385
|
- `rag`: requires your own running endpoint
|
|
234
|
-
- `sequential-thinking`: uses upstream stdio launch
|
|
235
386
|
|
|
236
387
|
### Important Windows note
|
|
237
388
|
|
|
@@ -242,16 +393,68 @@ On some Windows/OpenCode environments, local MCP process spawning can fail with
|
|
|
242
393
|
|
|
243
394
|
This most often affects `sequential-thinking` and `mempalace`, and sometimes local `npx`-backed tools.
|
|
244
395
|
|
|
245
|
-
##
|
|
396
|
+
## Diagnostics
|
|
397
|
+
|
|
398
|
+
The plugin now emits startup warnings for common misconfiguration, including:
|
|
246
399
|
|
|
247
|
-
|
|
400
|
+
- `.opencode/opencode.json` containing `plugin: ["list"]`
|
|
401
|
+
- enabled MCP integrations with missing required env vars such as `FIRECRAWL_API_KEY` or `STITCH_AI_API_KEY`
|
|
248
402
|
|
|
249
|
-
|
|
403
|
+
Available CLI:
|
|
250
404
|
|
|
251
405
|
```bash
|
|
252
|
-
opencode
|
|
406
|
+
hiai-opencode mcp-status
|
|
253
407
|
```
|
|
254
408
|
|
|
409
|
+
Inside OpenCode, use the slash command:
|
|
410
|
+
|
|
411
|
+
```text
|
|
412
|
+
/mcp-status
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
Example output:
|
|
416
|
+
|
|
417
|
+
```text
|
|
418
|
+
MCP Servers:
|
|
419
|
+
✅ playwright - backend ok
|
|
420
|
+
⚠️ rag - enabled, http://localhost:9002/tools/search not reachable
|
|
421
|
+
✅ firecrawl - backend ok
|
|
422
|
+
❌ mempalace - python not found
|
|
423
|
+
⚠️ stitch - enabled, API key missing (STITCH_AI_API_KEY)
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
Planned follow-up commands:
|
|
427
|
+
|
|
428
|
+
- `hiai-opencode doctor`: report config location, MCP status, missing keys, and local dependency checks.
|
|
429
|
+
- `hiai-opencode export-mcp`: generate a standard `.mcp.json` for hosts that do not expose plugin-provided MCP servers through `opencode mcp list`.
|
|
430
|
+
|
|
431
|
+
Until those commands ship, use:
|
|
432
|
+
|
|
433
|
+
```bash
|
|
434
|
+
opencode debug config
|
|
435
|
+
opencode mcp list --print-logs --log-level INFO
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
## Core Components And Upstream Projects
|
|
439
|
+
|
|
440
|
+
`hiai-opencode` wires these projects and ideas into an OpenCode-friendly setup. Upstream projects remain independent; this table is attribution and orientation, not an ownership claim.
|
|
441
|
+
|
|
442
|
+
| Component | Upstream | Notes |
|
|
443
|
+
|---|---|---|
|
|
444
|
+
| OpenCode host/runtime | [anomalyco/opencode](https://github.com/anomalyco/opencode) | plugin host and runtime target |
|
|
445
|
+
| Core orchestration influences | [code-yeongyu/oh-my-openagent](https://github.com/code-yeongyu/oh-my-openagent) | architectural influence |
|
|
446
|
+
| Planning / workflow influences | [obra/superpowers](https://github.com/obra/superpowers) | planning, review, and debugging ideas |
|
|
447
|
+
| Specialist / platform influences | [vtemian/micode](https://github.com/vtemian/micode) | platform-style specialist behavior |
|
|
448
|
+
| Agent skill ecosystem | [addyosmani/agent-skills](https://github.com/addyosmani/agent-skills) | tactical workflow skill ideas |
|
|
449
|
+
| Optional external plugin | [Opencode-DCP/opencode-dynamic-context-pruning](https://github.com/Opencode-DCP/opencode-dynamic-context-pruning) | installed separately |
|
|
450
|
+
| MemPalace | [MemPalace/mempalace](https://github.com/MemPalace/mempalace) | external MCP/runtime |
|
|
451
|
+
| Playwright MCP | [microsoft/playwright-mcp](https://github.com/microsoft/playwright-mcp) | external MCP |
|
|
452
|
+
| Sequential Thinking | [modelcontextprotocol/servers](https://github.com/modelcontextprotocol/servers) | external MCP |
|
|
453
|
+
| Firecrawl MCP | [firecrawl-ai/firecrawl-mcp-server](https://github.com/firecrawl-ai/firecrawl-mcp-server) | external MCP |
|
|
454
|
+
| Context7 MCP | [upstash/context7-mcp](https://github.com/upstash/context7-mcp) | external MCP |
|
|
455
|
+
| Websearch cited | [ghoulr/opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited) | search integration influence |
|
|
456
|
+
| bun-pty / PTY ecosystem | [shekohex/opencode-pty](https://github.com/shekohex/opencode-pty) | PTY/runtime integration influence |
|
|
457
|
+
|
|
255
458
|
## Build And Publish
|
|
256
459
|
|
|
257
460
|
Build:
|