opencode-mcp 1.9.0 → 1.10.1
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/CHANGELOG.md +46 -0
- package/README.md +94 -275
- package/dist/client.d.ts +8 -0
- package/dist/client.js +52 -2
- package/dist/client.js.map +1 -1
- package/dist/helpers.d.ts +26 -0
- package/dist/helpers.js +88 -2
- package/dist/helpers.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +34 -14
- package/dist/index.js.map +1 -1
- package/dist/prompts.js +4 -4
- package/dist/server-manager.d.ts +6 -2
- package/dist/server-manager.js +14 -8
- package/dist/server-manager.js.map +1 -1
- package/dist/tools/message.js +13 -13
- package/dist/tools/message.js.map +1 -1
- package/dist/tools/session.js +49 -9
- package/dist/tools/session.js.map +1 -1
- package/dist/tools/workflow.js +37 -18
- package/dist/tools/workflow.js.map +1 -1
- package/package.json +2 -2
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/helpers.d.ts
CHANGED
|
@@ -22,6 +22,32 @@ export declare const destructive: {
|
|
|
22
22
|
* OpenCode server scopes the request to that project.
|
|
23
23
|
*/
|
|
24
24
|
export declare const directoryParam: z.ZodOptional<z.ZodString>;
|
|
25
|
+
/**
|
|
26
|
+
* Set the global default provider and model.
|
|
27
|
+
* Called once from index.ts during startup.
|
|
28
|
+
*/
|
|
29
|
+
export declare function setModelDefaults(providerID?: string, modelID?: string): void;
|
|
30
|
+
/**
|
|
31
|
+
* Apply model defaults: use explicit params if both are provided,
|
|
32
|
+
* otherwise fall back to env-var defaults if both are set,
|
|
33
|
+
* otherwise return undefined (let the server decide).
|
|
34
|
+
*
|
|
35
|
+
* Returns `{ providerID, modelID }` or `undefined`.
|
|
36
|
+
*/
|
|
37
|
+
export declare function applyModelDefaults(providerID?: string, modelID?: string): {
|
|
38
|
+
providerID: string;
|
|
39
|
+
modelID: string;
|
|
40
|
+
} | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Normalize and validate a directory path:
|
|
43
|
+
* - Resolves to absolute (handles "..", trailing slashes, etc.)
|
|
44
|
+
* - Rejects relative paths (must start with /)
|
|
45
|
+
* - Validates that the path exists on disk
|
|
46
|
+
*
|
|
47
|
+
* Returns the normalized path, or undefined if input was undefined.
|
|
48
|
+
* Throws a descriptive Error on validation failure.
|
|
49
|
+
*/
|
|
50
|
+
export declare function normalizeDirectory(directory?: string): string | undefined;
|
|
25
51
|
/**
|
|
26
52
|
* Extract a human-readable summary from a message response.
|
|
27
53
|
* Pulls text content from parts, summarizes tool calls, etc.
|
package/dist/helpers.js
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
* about them efficiently.
|
|
7
7
|
*/
|
|
8
8
|
import { z } from "zod";
|
|
9
|
+
import { existsSync } from "node:fs";
|
|
10
|
+
import { resolve } from "node:path";
|
|
9
11
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
10
12
|
// ── Tool Annotations ─────────────────────────────────────────────────
|
|
11
13
|
// MCP spec tool annotations help clients understand tool behavior.
|
|
@@ -24,6 +26,68 @@ export const directoryParam = z
|
|
|
24
26
|
.describe("Absolute path to the project directory. " +
|
|
25
27
|
"When provided, the request targets that project. " +
|
|
26
28
|
"If omitted, the OpenCode server uses its own working directory.");
|
|
29
|
+
// ── Default Provider/Model ────────────────────────────────────────────
|
|
30
|
+
/**
|
|
31
|
+
* Module-level defaults for provider and model.
|
|
32
|
+
* Set via `setModelDefaults()` during startup from env vars.
|
|
33
|
+
* If not set, tools fall back to whatever the OpenCode server decides.
|
|
34
|
+
*/
|
|
35
|
+
let _defaultProviderID;
|
|
36
|
+
let _defaultModelID;
|
|
37
|
+
/**
|
|
38
|
+
* Set the global default provider and model.
|
|
39
|
+
* Called once from index.ts during startup.
|
|
40
|
+
*/
|
|
41
|
+
export function setModelDefaults(providerID, modelID) {
|
|
42
|
+
_defaultProviderID = providerID;
|
|
43
|
+
_defaultModelID = modelID;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Apply model defaults: use explicit params if both are provided,
|
|
47
|
+
* otherwise fall back to env-var defaults if both are set,
|
|
48
|
+
* otherwise return undefined (let the server decide).
|
|
49
|
+
*
|
|
50
|
+
* Returns `{ providerID, modelID }` or `undefined`.
|
|
51
|
+
*/
|
|
52
|
+
export function applyModelDefaults(providerID, modelID) {
|
|
53
|
+
// Explicit params take priority
|
|
54
|
+
if (providerID && modelID) {
|
|
55
|
+
return { providerID, modelID };
|
|
56
|
+
}
|
|
57
|
+
// Fall back to env-var defaults
|
|
58
|
+
if (_defaultProviderID && _defaultModelID) {
|
|
59
|
+
return { providerID: _defaultProviderID, modelID: _defaultModelID };
|
|
60
|
+
}
|
|
61
|
+
// No defaults available — let the server decide
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
// ── Directory Validation ─────────────────────────────────────────────
|
|
65
|
+
/**
|
|
66
|
+
* Normalize and validate a directory path:
|
|
67
|
+
* - Resolves to absolute (handles "..", trailing slashes, etc.)
|
|
68
|
+
* - Rejects relative paths (must start with /)
|
|
69
|
+
* - Validates that the path exists on disk
|
|
70
|
+
*
|
|
71
|
+
* Returns the normalized path, or undefined if input was undefined.
|
|
72
|
+
* Throws a descriptive Error on validation failure.
|
|
73
|
+
*/
|
|
74
|
+
export function normalizeDirectory(directory) {
|
|
75
|
+
if (!directory)
|
|
76
|
+
return undefined;
|
|
77
|
+
// Resolve to absolute (handles "..", ".", trailing slashes)
|
|
78
|
+
const normalized = resolve(directory);
|
|
79
|
+
// Must be an absolute path
|
|
80
|
+
if (!normalized.startsWith("/")) {
|
|
81
|
+
throw new Error(`Invalid directory: "${directory}" is not an absolute path. ` +
|
|
82
|
+
`Provide a full path like "/home/user/my-project".`);
|
|
83
|
+
}
|
|
84
|
+
// Must exist on disk
|
|
85
|
+
if (!existsSync(normalized)) {
|
|
86
|
+
throw new Error(`Directory not found: "${normalized}" does not exist. ` +
|
|
87
|
+
`Check the path and try again.`);
|
|
88
|
+
}
|
|
89
|
+
return normalized;
|
|
90
|
+
}
|
|
27
91
|
/**
|
|
28
92
|
* Extract a human-readable summary from a message response.
|
|
29
93
|
* Pulls text content from parts, summarizes tool calls, etc.
|
|
@@ -458,7 +522,8 @@ function diagnoseError(msg) {
|
|
|
458
522
|
tips.push("- Set a key with `opencode_auth_set`");
|
|
459
523
|
}
|
|
460
524
|
else if (lower.includes("timeout") || lower.includes("timed out") || lower.includes("aborted")) {
|
|
461
|
-
tips.push("- Use `
|
|
525
|
+
tips.push("- Use `opencode_run` for complex tasks (handles polling automatically)");
|
|
526
|
+
tips.push("- Or use `opencode_message_send_async` + `opencode_wait` for manual control");
|
|
462
527
|
tips.push("- Check session progress with `opencode_conversation`");
|
|
463
528
|
}
|
|
464
529
|
else if (lower.includes("not found") && lower.includes("session")) {
|
|
@@ -468,8 +533,29 @@ function diagnoseError(msg) {
|
|
|
468
533
|
tips.push("- Wait a moment and retry, or switch provider");
|
|
469
534
|
tips.push("- Try a free model: `opencode_ask` with providerID `opencode`, modelID `minimax-m2.1-free`");
|
|
470
535
|
}
|
|
471
|
-
else if (lower.includes("
|
|
536
|
+
else if (lower.includes("econnrefused")) {
|
|
537
|
+
tips.push("- The OpenCode server is not accepting connections");
|
|
472
538
|
tips.push("- Is `opencode serve` running? Check with `opencode_setup`");
|
|
539
|
+
tips.push("- Verify OPENCODE_BASE_URL is correct (default: http://127.0.0.1:4096)");
|
|
540
|
+
tips.push("- The server will auto-reconnect on the next request if OPENCODE_AUTO_SERVE is enabled");
|
|
541
|
+
}
|
|
542
|
+
else if (lower.includes("enotfound") || lower.includes("ehostunreach")) {
|
|
543
|
+
tips.push("- Cannot reach the OpenCode server host");
|
|
544
|
+
tips.push("- Check that OPENCODE_BASE_URL points to a reachable address");
|
|
545
|
+
tips.push("- If running remotely, verify network connectivity");
|
|
546
|
+
}
|
|
547
|
+
else if (lower.includes("etimedout")) {
|
|
548
|
+
tips.push("- The server is not responding (connection timed out)");
|
|
549
|
+
tips.push("- The server may be overloaded or starting up — retry in a few seconds");
|
|
550
|
+
tips.push("- Check with `opencode_setup` to verify server health");
|
|
551
|
+
}
|
|
552
|
+
else if (lower.includes("unreachable") || lower.includes("fetch failed")) {
|
|
553
|
+
tips.push("- Is `opencode serve` running? Check with `opencode_setup`");
|
|
554
|
+
tips.push("- Verify OPENCODE_BASE_URL is correct (default: http://127.0.0.1:4096)");
|
|
555
|
+
}
|
|
556
|
+
else if (lower.includes("directory not found") || lower.includes("not an absolute path")) {
|
|
557
|
+
tips.push("- The `directory` parameter must be an absolute path to an existing directory");
|
|
558
|
+
tips.push("- Example: `/home/user/my-project` (not `./my-project` or `~/my-project`)");
|
|
473
559
|
}
|
|
474
560
|
return tips.join("\n");
|
|
475
561
|
}
|
package/dist/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* providers, and more.
|
|
9
9
|
*
|
|
10
10
|
* Features:
|
|
11
|
-
* -
|
|
11
|
+
* - 79 tools covering the entire OpenCode API surface
|
|
12
12
|
* - High-level workflow tools (opencode_ask, opencode_reply, etc.)
|
|
13
13
|
* - Smart response formatting for LLM-friendly output
|
|
14
14
|
* - MCP Resources for browseable project data
|
|
@@ -23,5 +23,7 @@
|
|
|
23
23
|
* OPENCODE_SERVER_USERNAME - Username for HTTP basic auth (default: opencode)
|
|
24
24
|
* OPENCODE_SERVER_PASSWORD - Password for HTTP basic auth (optional)
|
|
25
25
|
* OPENCODE_AUTO_SERVE - Set to "false" to disable auto-start (default: true)
|
|
26
|
+
* OPENCODE_DEFAULT_PROVIDER - Default provider ID when not specified per-tool (optional)
|
|
27
|
+
* OPENCODE_DEFAULT_MODEL - Default model ID when not specified per-tool (optional)
|
|
26
28
|
*/
|
|
27
29
|
export {};
|
package/dist/index.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* providers, and more.
|
|
9
9
|
*
|
|
10
10
|
* Features:
|
|
11
|
-
* -
|
|
11
|
+
* - 79 tools covering the entire OpenCode API surface
|
|
12
12
|
* - High-level workflow tools (opencode_ask, opencode_reply, etc.)
|
|
13
13
|
* - Smart response formatting for LLM-friendly output
|
|
14
14
|
* - MCP Resources for browseable project data
|
|
@@ -23,11 +23,14 @@
|
|
|
23
23
|
* OPENCODE_SERVER_USERNAME - Username for HTTP basic auth (default: opencode)
|
|
24
24
|
* OPENCODE_SERVER_PASSWORD - Password for HTTP basic auth (optional)
|
|
25
25
|
* OPENCODE_AUTO_SERVE - Set to "false" to disable auto-start (default: true)
|
|
26
|
+
* OPENCODE_DEFAULT_PROVIDER - Default provider ID when not specified per-tool (optional)
|
|
27
|
+
* OPENCODE_DEFAULT_MODEL - Default model ID when not specified per-tool (optional)
|
|
26
28
|
*/
|
|
27
29
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
28
30
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
29
31
|
import { OpenCodeClient } from "./client.js";
|
|
30
32
|
import { ensureServer } from "./server-manager.js";
|
|
33
|
+
import { setModelDefaults } from "./helpers.js";
|
|
31
34
|
// Tool groups
|
|
32
35
|
import { registerGlobalTools } from "./tools/global.js";
|
|
33
36
|
import { registerConfigTools } from "./tools/config.js";
|
|
@@ -47,10 +50,17 @@ const baseUrl = process.env.OPENCODE_BASE_URL ?? "http://127.0.0.1:4096";
|
|
|
47
50
|
const username = process.env.OPENCODE_SERVER_USERNAME;
|
|
48
51
|
const password = process.env.OPENCODE_SERVER_PASSWORD;
|
|
49
52
|
const autoServe = process.env.OPENCODE_AUTO_SERVE !== "false";
|
|
50
|
-
const
|
|
53
|
+
const defaultProvider = process.env.OPENCODE_DEFAULT_PROVIDER;
|
|
54
|
+
const defaultModel = process.env.OPENCODE_DEFAULT_MODEL;
|
|
55
|
+
// Set global model defaults from env vars (used by applyModelDefaults() in tools)
|
|
56
|
+
setModelDefaults(defaultProvider, defaultModel);
|
|
57
|
+
// Use env-var defaults in instruction examples; fall back to generic placeholders
|
|
58
|
+
const exProvider = defaultProvider || "<your-provider>";
|
|
59
|
+
const exModel = defaultModel || "<your-model>";
|
|
60
|
+
const client = new OpenCodeClient({ baseUrl, username, password, autoServe });
|
|
51
61
|
const server = new McpServer({
|
|
52
62
|
name: "opencode-mcp",
|
|
53
|
-
version: "1.
|
|
63
|
+
version: "1.10.1",
|
|
54
64
|
description: "MCP server wrapping the OpenCode AI coding agent. " +
|
|
55
65
|
"Delegates complex coding tasks (build apps, refactor, debug) to an autonomous AI agent. " +
|
|
56
66
|
"Start with opencode_setup, then use opencode_ask for simple tasks, opencode_run for complex tasks, or opencode_fire for long-running background work.",
|
|
@@ -59,12 +69,12 @@ const server = new McpServer({
|
|
|
59
69
|
"# OpenCode MCP — Guide for LLM Clients",
|
|
60
70
|
"",
|
|
61
71
|
"You are connected to OpenCode, an autonomous AI coding agent that can build, edit, and debug software projects.",
|
|
62
|
-
"This server exposes ~
|
|
72
|
+
"This server exposes ~79 tools organized into tiers. Use high-level tools first; drop to low-level only when needed.",
|
|
63
73
|
"",
|
|
64
74
|
"## Getting Started (First Time)",
|
|
65
75
|
"1. Call `opencode_setup` — checks server health, shows configured providers, and suggests next steps.",
|
|
66
|
-
"2.
|
|
67
|
-
"3.
|
|
76
|
+
"2. Pick a provider from the **Ready to use** list returned by `opencode_setup`, then call `opencode_provider_models` to see its models.",
|
|
77
|
+
"3. IMPORTANT: Always pass `providerID` and `modelID` from the discovered providers when sending prompts, or you may get empty responses. Do NOT assume any specific provider is available — always discover first.",
|
|
68
78
|
"",
|
|
69
79
|
"## Tool Tiers (prefer higher tiers)",
|
|
70
80
|
"",
|
|
@@ -91,6 +101,7 @@ const server = new McpServer({
|
|
|
91
101
|
"### Tier 4 — Fine-Grained Control",
|
|
92
102
|
"- `opencode_session_*` — create, delete, fork, abort, share sessions",
|
|
93
103
|
"- `opencode_message_*` — send messages, list history, execute commands",
|
|
104
|
+
"- `opencode_permission_list` / `opencode_session_permission` — check and respond to permission requests",
|
|
94
105
|
"- `opencode_file_*` / `opencode_find_*` — search files, read content, check VCS status",
|
|
95
106
|
"- `opencode_provider_*` — manage providers, auth, OAuth flows",
|
|
96
107
|
"",
|
|
@@ -104,16 +115,16 @@ const server = new McpServer({
|
|
|
104
115
|
"",
|
|
105
116
|
"### Quick question or small task:",
|
|
106
117
|
"```",
|
|
107
|
-
|
|
118
|
+
`opencode_ask({prompt: "How does auth work in this project?", providerID: "${exProvider}", modelID: "${exModel}"})`,
|
|
108
119
|
"```",
|
|
109
120
|
"",
|
|
110
121
|
"### Complex multi-step task (build an app, refactor code, etc.):",
|
|
111
122
|
"```",
|
|
112
123
|
"// Option A: One-call (recommended for tasks under 10 min)",
|
|
113
|
-
|
|
124
|
+
`opencode_run({prompt: "Build a React login form with validation...", providerID: "${exProvider}", modelID: "${exModel}", maxDurationSeconds: 600})`,
|
|
114
125
|
"",
|
|
115
126
|
"// Option B: Fire-and-forget (for longer tasks)",
|
|
116
|
-
|
|
127
|
+
`opencode_fire({prompt: "Build a full React app with auth, dashboard...", providerID: "${exProvider}", modelID: "${exModel}"})`,
|
|
117
128
|
"// ... do other work ...",
|
|
118
129
|
'opencode_check({sessionId: "ses_xxx"}) // quick progress check',
|
|
119
130
|
'opencode_review_changes({sessionId: "ses_xxx"}) // see changes after completion',
|
|
@@ -121,12 +132,18 @@ const server = new McpServer({
|
|
|
121
132
|
"",
|
|
122
133
|
"### Continue working on an existing session:",
|
|
123
134
|
"```",
|
|
124
|
-
|
|
135
|
+
`opencode_reply({sessionId: "ses_xxx", prompt: "Now add form validation", providerID: "${exProvider}", modelID: "${exModel}"})`,
|
|
125
136
|
"```",
|
|
126
137
|
"",
|
|
138
|
+
"## Permissions",
|
|
139
|
+
"OpenCode may pause a session to ask for permission (e.g. to run a shell command or access files outside the project).",
|
|
140
|
+
"- **Recommended for headless/automation:** Set `\"permission\": \"allow\"` in `opencode.json` to auto-approve all operations. Without this, sessions can block waiting for approval.",
|
|
141
|
+
"- **If a session seems stuck:** Call `opencode_permission_list` to check for pending permission requests, then respond with `opencode_session_permission`.",
|
|
142
|
+
"- You can also set permissions at runtime: `opencode_config_update({config: {permission: \"allow\"}})`",
|
|
143
|
+
"",
|
|
127
144
|
"## Important Notes",
|
|
128
|
-
"- ALWAYS specify `providerID` and `modelID` when using `opencode_ask`, `opencode_reply`, `opencode_message_send`, or `opencode_message_send_async`. Without these, the agent may return empty responses.",
|
|
129
|
-
"- The `directory` parameter on every tool targets a specific project. Omit it to use the server's default project.",
|
|
145
|
+
"- ALWAYS specify `providerID` and `modelID` when using `opencode_ask`, `opencode_reply`, `opencode_message_send`, or `opencode_message_send_async`. Without these, the agent may return empty responses. Use providers and models discovered via `opencode_setup` — do NOT hardcode any specific provider. If `OPENCODE_DEFAULT_PROVIDER` and `OPENCODE_DEFAULT_MODEL` env vars are set, they will be used as fallbacks when you don't specify them.",
|
|
146
|
+
"- The `directory` parameter on every tool targets a specific project. Omit it to use the server's default project. Must be an absolute path to an existing directory — relative paths and non-existent paths are rejected with a helpful error.",
|
|
130
147
|
"- Tools marked with `readOnlyHint: true` in their annotations are safe and don't modify state.",
|
|
131
148
|
"- Tools marked with `destructiveHint: true` (`opencode_instance_dispose`, `opencode_session_delete`) permanently delete data — confirm with the user before calling.",
|
|
132
149
|
"- `opencode_wait` sends `notifications/message` progress updates while blocking. If it times out, it returns a progress report instead of failing.",
|
|
@@ -157,7 +174,7 @@ registerPrompts(server);
|
|
|
157
174
|
async function main() {
|
|
158
175
|
// Step 1: Ensure OpenCode server is available (auto-start if needed).
|
|
159
176
|
try {
|
|
160
|
-
await ensureServer({ baseUrl, autoServe });
|
|
177
|
+
await ensureServer({ baseUrl, autoServe, username, password });
|
|
161
178
|
}
|
|
162
179
|
catch (err) {
|
|
163
180
|
// Log the error but don't prevent MCP from starting — tools will
|
|
@@ -168,7 +185,10 @@ async function main() {
|
|
|
168
185
|
// Step 2: Connect the MCP transport.
|
|
169
186
|
const transport = new StdioServerTransport();
|
|
170
187
|
await server.connect(transport);
|
|
171
|
-
|
|
188
|
+
const defaultsInfo = defaultProvider && defaultModel
|
|
189
|
+
? ` | defaults: ${defaultProvider}/${defaultModel}`
|
|
190
|
+
: "";
|
|
191
|
+
console.error(`opencode-mcp v1.10.1 started (OpenCode server at ${baseUrl}${defaultsInfo})`);
|
|
172
192
|
}
|
|
173
193
|
main().catch((err) => {
|
|
174
194
|
console.error("Fatal error starting opencode-mcp:", err);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/prompts.js
CHANGED
|
@@ -127,13 +127,13 @@ Steps:
|
|
|
127
127
|
|
|
128
128
|
## 1. First-Time Setup
|
|
129
129
|
- Always start with \`opencode_setup\` to check server health and see available providers.
|
|
130
|
-
-
|
|
131
|
-
- Test a provider with \`opencode_provider_test
|
|
130
|
+
- Pick a provider from the **Ready to use** list, then call \`opencode_provider_models\` to see its models.
|
|
131
|
+
- Test a provider with \`opencode_provider_test\` if you're unsure it's working.
|
|
132
132
|
|
|
133
133
|
## 2. Always Specify Provider and Model
|
|
134
|
-
CRITICAL: When calling \`opencode_ask\`, \`opencode_reply\`, \`opencode_message_send\`, or \`opencode_message_send_async\`, ALWAYS pass \`providerID\` and \`modelID\`. Without these, the agent may select a default model that returns empty responses.
|
|
134
|
+
CRITICAL: When calling \`opencode_ask\`, \`opencode_reply\`, \`opencode_message_send\`, or \`opencode_message_send_async\`, ALWAYS pass \`providerID\` and \`modelID\`. Without these, the agent may select a default model that returns empty responses. Use providers discovered via \`opencode_setup\` — do NOT hardcode any specific provider.
|
|
135
135
|
|
|
136
|
-
Good: \`opencode_ask({prompt: "...", providerID: "
|
|
136
|
+
Good: \`opencode_ask({prompt: "...", providerID: "<your-provider>", modelID: "<your-model>"})\`
|
|
137
137
|
Bad: \`opencode_ask({prompt: "..."})\`
|
|
138
138
|
|
|
139
139
|
## 3. Choosing the Right Tool
|
package/dist/server-manager.d.ts
CHANGED
|
@@ -17,6 +17,10 @@ export interface ServerManagerOptions {
|
|
|
17
17
|
autoServe?: boolean;
|
|
18
18
|
/** Max time (ms) to wait for the server to become healthy after spawning. */
|
|
19
19
|
startupTimeoutMs?: number;
|
|
20
|
+
/** Username for HTTP basic auth (optional) */
|
|
21
|
+
username?: string;
|
|
22
|
+
/** Password for HTTP basic auth (optional) */
|
|
23
|
+
password?: string;
|
|
20
24
|
}
|
|
21
25
|
export interface ServerStatus {
|
|
22
26
|
running: boolean;
|
|
@@ -27,7 +31,7 @@ export interface ServerStatus {
|
|
|
27
31
|
* Check if the OpenCode server is already running by hitting the health endpoint.
|
|
28
32
|
* Returns `{ healthy: true, version }` or `{ healthy: false }`.
|
|
29
33
|
*/
|
|
30
|
-
export declare function isServerRunning(baseUrl: string): Promise<{
|
|
34
|
+
export declare function isServerRunning(baseUrl: string, username?: string, password?: string): Promise<{
|
|
31
35
|
healthy: boolean;
|
|
32
36
|
version?: string;
|
|
33
37
|
}>;
|
|
@@ -50,7 +54,7 @@ export declare function getInstallInstructions(): string;
|
|
|
50
54
|
*
|
|
51
55
|
* @throws Error if the binary is not found or the server fails to start.
|
|
52
56
|
*/
|
|
53
|
-
export declare function startServer(binaryPath: string, baseUrl: string, timeoutMs?: number): Promise<{
|
|
57
|
+
export declare function startServer(binaryPath: string, baseUrl: string, timeoutMs?: number, username?: string, password?: string): Promise<{
|
|
54
58
|
version?: string;
|
|
55
59
|
}>;
|
|
56
60
|
/**
|
package/dist/server-manager.js
CHANGED
|
@@ -23,13 +23,19 @@ let shutdownRegistered = false;
|
|
|
23
23
|
* Check if the OpenCode server is already running by hitting the health endpoint.
|
|
24
24
|
* Returns `{ healthy: true, version }` or `{ healthy: false }`.
|
|
25
25
|
*/
|
|
26
|
-
export async function isServerRunning(baseUrl) {
|
|
26
|
+
export async function isServerRunning(baseUrl, username, password) {
|
|
27
27
|
try {
|
|
28
28
|
const url = `${baseUrl.replace(/\/$/, "")}/global/health`;
|
|
29
29
|
const controller = new AbortController();
|
|
30
30
|
const timeout = setTimeout(() => controller.abort(), 3_000);
|
|
31
|
+
const headers = {};
|
|
32
|
+
if (password) {
|
|
33
|
+
const user = username ?? "opencode";
|
|
34
|
+
headers["Authorization"] = "Basic " + Buffer.from(`${user}:${password}`).toString("base64");
|
|
35
|
+
}
|
|
31
36
|
const res = await fetch(url, {
|
|
32
37
|
method: "GET",
|
|
38
|
+
headers,
|
|
33
39
|
signal: controller.signal,
|
|
34
40
|
});
|
|
35
41
|
clearTimeout(timeout);
|
|
@@ -104,10 +110,10 @@ function parseBaseUrl(baseUrl) {
|
|
|
104
110
|
/**
|
|
105
111
|
* Poll the health endpoint until the server responds or timeout elapses.
|
|
106
112
|
*/
|
|
107
|
-
async function waitForHealthy(baseUrl, timeoutMs) {
|
|
113
|
+
async function waitForHealthy(baseUrl, timeoutMs, username, password) {
|
|
108
114
|
const deadline = Date.now() + timeoutMs;
|
|
109
115
|
while (Date.now() < deadline) {
|
|
110
|
-
const { healthy } = await isServerRunning(baseUrl);
|
|
116
|
+
const { healthy } = await isServerRunning(baseUrl, username, password);
|
|
111
117
|
if (healthy)
|
|
112
118
|
return true;
|
|
113
119
|
await new Promise((r) => setTimeout(r, HEALTH_POLL_INTERVAL_MS));
|
|
@@ -144,7 +150,7 @@ function registerShutdownHandlers() {
|
|
|
144
150
|
*
|
|
145
151
|
* @throws Error if the binary is not found or the server fails to start.
|
|
146
152
|
*/
|
|
147
|
-
export async function startServer(binaryPath, baseUrl, timeoutMs = DEFAULT_STARTUP_TIMEOUT_MS) {
|
|
153
|
+
export async function startServer(binaryPath, baseUrl, timeoutMs = DEFAULT_STARTUP_TIMEOUT_MS, username, password) {
|
|
148
154
|
const { hostname, port } = parseBaseUrl(baseUrl);
|
|
149
155
|
const args = ["serve", "--port", String(port)];
|
|
150
156
|
if (hostname !== "127.0.0.1" && hostname !== "localhost") {
|
|
@@ -179,7 +185,7 @@ export async function startServer(binaryPath, baseUrl, timeoutMs = DEFAULT_START
|
|
|
179
185
|
});
|
|
180
186
|
// Race: either the server becomes healthy or the child crashes.
|
|
181
187
|
const healthy = await Promise.race([
|
|
182
|
-
waitForHealthy(baseUrl, timeoutMs),
|
|
188
|
+
waitForHealthy(baseUrl, timeoutMs, username, password),
|
|
183
189
|
earlyExit.catch(() => false),
|
|
184
190
|
]);
|
|
185
191
|
if (!healthy) {
|
|
@@ -191,7 +197,7 @@ export async function startServer(binaryPath, baseUrl, timeoutMs = DEFAULT_START
|
|
|
191
197
|
`stderr: ${stderrOutput}\nstdout: ${stdoutOutput}`);
|
|
192
198
|
}
|
|
193
199
|
// Grab the version from the now-running server.
|
|
194
|
-
const status = await isServerRunning(baseUrl);
|
|
200
|
+
const status = await isServerRunning(baseUrl, username, password);
|
|
195
201
|
return { version: status.version };
|
|
196
202
|
}
|
|
197
203
|
/**
|
|
@@ -216,7 +222,7 @@ export async function ensureServer(opts) {
|
|
|
216
222
|
const autoServe = opts.autoServe !== false;
|
|
217
223
|
const timeoutMs = opts.startupTimeoutMs ?? DEFAULT_STARTUP_TIMEOUT_MS;
|
|
218
224
|
// Step 1: Check if server is already running.
|
|
219
|
-
const existing = await isServerRunning(baseUrl);
|
|
225
|
+
const existing = await isServerRunning(baseUrl, opts.username, opts.password);
|
|
220
226
|
if (existing.healthy) {
|
|
221
227
|
console.error(`OpenCode server already running at ${baseUrl} (v${existing.version ?? "unknown"})`);
|
|
222
228
|
return {
|
|
@@ -240,7 +246,7 @@ export async function ensureServer(opts) {
|
|
|
240
246
|
console.error(`Found opencode binary at ${binaryPath}${version ? ` (${version})` : ""}`);
|
|
241
247
|
// Step 3: Start the server.
|
|
242
248
|
console.error(`Starting: opencode serve --port ${parseBaseUrl(baseUrl).port}`);
|
|
243
|
-
const result = await startServer(binaryPath, baseUrl, timeoutMs);
|
|
249
|
+
const result = await startServer(binaryPath, baseUrl, timeoutMs, opts.username, opts.password);
|
|
244
250
|
console.error(`OpenCode server started successfully (v${result.version ?? "unknown"})`);
|
|
245
251
|
return {
|
|
246
252
|
running: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-manager.js","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"server-manager.js","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"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"}
|