diff --git a/packages/opencode/src/index.ts b/packages/opencode/src/index.ts index 7892bdcf..dc626038 100644 --- a/packages/opencode/src/index.ts +++ b/packages/opencode/src/index.ts @@ -43,6 +43,10 @@ cli.command("", "Start the opencode in interactive mode").action(async () => { stdout: "inherit", stderr: "inherit", stdin: "inherit", + env: { + ...process.env, + OPENCODE_SERVER: server.url.toString(), + }, onExit: () => { server.stop() }, diff --git a/packages/opencode/src/server/server.ts b/packages/opencode/src/server/server.ts index bef1d311..9e0543df 100644 --- a/packages/opencode/src/server/server.ts +++ b/packages/opencode/src/server/server.ts @@ -13,7 +13,6 @@ import { Global } from "../global" export namespace Server { const log = Log.create({ service: "server" }) - const PORT = 16713 export type Routes = ReturnType @@ -401,7 +400,7 @@ export namespace Server { export function listen() { const server = Bun.serve({ - port: PORT, + port: 0, hostname: "0.0.0.0", idleTimeout: 0, fetch: app().fetch, diff --git a/packages/tui/cmd/opencode/main.go b/packages/tui/cmd/opencode/main.go index 0128f41b..a6e6c6ea 100644 --- a/packages/tui/cmd/opencode/main.go +++ b/packages/tui/cmd/opencode/main.go @@ -17,7 +17,7 @@ import ( ) func main() { - url := "http://localhost:16713" + url := os.Getenv("OPENCODE_SERVER") httpClient, err := client.NewClientWithResponses(url) if err != nil { slog.Error("Failed to create client", "error", err)