codex-flows/packages/codex-opencode-go-router
matamune 3e0d9e057b
Some checks failed
ci / check (push) Failing after 16s
Add Codex OpenCode Go router package
2026-05-14 03:06:13 +00:00
..
docs Add Codex OpenCode Go router package 2026-05-14 03:06:13 +00:00
examples Add Codex OpenCode Go router package 2026-05-14 03:06:13 +00:00
src Add Codex OpenCode Go router package 2026-05-14 03:06:13 +00:00
test Add Codex OpenCode Go router package 2026-05-14 03:06:13 +00:00
package.json Add Codex OpenCode Go router package 2026-05-14 03:06:13 +00:00
README.md Add Codex OpenCode Go router package 2026-05-14 03:06:13 +00:00

@peezy.tech/codex-opencode-go-router

Internal workspace package providing a local Responses API router for using Codex with models served by OpenCode Go.

Codex currently requires a Responses API provider. OpenCode Go exposes DeepSeek V4 through OpenAI-compatible Chat Completions:

https://opencode.ai/zen/go/v1/chat/completions

This router adapts:

  • Codex POST /v1/responses requests to OpenCode Go Chat Completions.
  • Codex Responses tool specs to Chat Completions tools.
  • Chat Completions tool_calls back to Codex Responses output items.
  • DeepSeek reasoning_content replay across tool-call follow-up requests.

Requirements

  • Node.js 22+ or Bun.
  • OPENCODE_GO_API_KEY in the environment, or in ~/.env.

Run

bun run --filter @peezy.tech/codex-opencode-go-router start

Default endpoint:

http://127.0.0.1:61973/v1

Health check:

curl -fsS http://127.0.0.1:61973/health

Codex Config

Add the contents of examples/codex.config.toml to the target config.toml, or use a separate Codex home:

mkdir -p ~/.codex-opencode-go
$EDITOR ~/.codex-opencode-go/config.toml
CODEX_HOME=~/.codex-opencode-go codex --profile deepseek-v4-opencode

Systemd User Service

mkdir -p ~/.config/systemd/user
cp packages/codex-opencode-go-router/examples/opencode-go-responses-proxy.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now opencode-go-responses-proxy.service

Test

bun run --filter @peezy.tech/codex-opencode-go-router check
bun run --filter @peezy.tech/codex-opencode-go-router test

The self-test starts a fake OpenCode Go upstream and verifies plain messages, function calls, namespace calls, custom/freeform calls, local shell calls, tool-search calls, DeepSeek reasoning replay, and history replay.

Development

See docs/development-flow.md. This package is private and is not included in the public npm publish workflow.