Skip to content

[Feature]: Qoder as a client integration (use opencodex models inside Qoder IDE / qodercli) #5660

Closed

Description

@wycocoyu

Area

Multiple areas

What are you trying to accomplish?

I want to use opencodex-hosted models (Claude, Grok, DeepSeek, Ollama, and anything else the proxy routes) directly inside the Qoder IDE and qodercli, with opencodex managing the configuration automatically — the same way the existing client integrations work for Codex CLI (clientIntegrations.codex), Grok (clientIntegrations.grok), and Claude Desktop (clientIntegrations.claude-desktop).

What prevents this today?

opencodex supports Qoder only in the provider direction: the native qoder provider adapter routes requests through a Qoder subscription. There is no clientIntegrations.qoder, so nothing writes opencodex into Qoder's BYOK ("External Provider") settings, nothing keeps the model list in sync with the proxy roster, and nothing cleans the entries up on ocx restore / ocx uninstall. Today a user has to hand-edit ~/.qoder/settings.json and re-sync it manually whenever the models or the port change.

What should OpenCodex do?

Add a qoder client integration following the same lifecycle as the Grok integration:

  • on startup, sync a managed provider entry plus one managed custom-model entry per proxy model into ~/.qoder/settings.json, pointing at the loopback proxy;
  • strip exactly the managed entries on ocx restore / ocx uninstall, preserving foreign and unrelated entries;
  • gate it on the durable clientIntegrations.qoder switch (missing means on), like the other integrations.

One design constraint worth knowing up front: Qoder gates External Provider usage per account on its server. With the settings in place but the account not entitled, requests fail with External Provider is not enabled for the current user — the check is enforced remotely, not by a client-side flag. So the integration can only work for accounts with the feature enabled, and it would help if the sync/diagnostics surface recognized that specific failure and explained it instead of surfacing a generic upstream error.

Example usage or interface

Qoder's BYOK settings format, verified against qodercli 1.1.3 (unofficial and may change without notice). Managed entries in ~/.qoder/settings.json:

{
  "providers": {
    "opencodex": {
      "type": "openai-compatible",
      "protocol": "openai",
      "displayName": "opencodex",
      "baseUrl": "http://127.0.0.1:<port>/v1",
      "apiKey": "<placeholder>",
      "defaultModel": "<first proxy model>",
      "models": [{ "model": "<proxy model>" }]
    }
  },
  "modelConfigs": {
    "customModels": [
      {
        "provider": "opencodex",
        "apiKey": "<placeholder>",
        "model": "<proxy model>",
        "baseURL": "http://127.0.0.1:<port>/v1",
        "displayName": "<proxy model>",
        "maxInputTokens": 128000
      }
    ]
  }
}

Behavioral details observed while verifying this against qodercli:

  • entries require non-empty provider / apiKey / model;
  • for protocol openai the client appends /chat/completions to baseURL (note the provider entry uses baseUrl, the custom-model entry uses baseURL);
  • maxInputTokens defaults to 128000 when absent;
  • the selectable id in the model picker and -m is ${provider}/${model};
  • a placeholder API key suffices because the endpoint is loopback and the proxy authenticates locally — the integration should refuse to write entries for a non-loopback bind so the placeholder key can never leak to another host.

Expected workflow:

ocx start     # Qoder gains/refreshes the managed opencodex entries
              # pick e.g. opencodex/<model> in Qoder's model picker
ocx restore   # managed entries removed, foreign entries untouched

Alternatives or workarounds

Hand-writing the provider and customModels entries works today for entitled accounts, but the model list and port drift as soon as the proxy roster changes. Qoder has no other documented way to point at a local OpenAI-compatible endpoint.

Additional context

Checks

  • I searched existing issues and documentation.
  • This request describes a concrete OpenCodex workflow rather than merely naming a desired technology.
  • I removed secrets and personal data.

Activity

  1. added
    enhancementNew feature or request
    catalogModel catalog, slugs, visibility, routed entries
    providerProvider adapters, OpenAI-compat presets, upstream API quirks
    on Sep 23, 2026
  2. added
    priority: P3Low: new provider/client integration, large or experimental feature (>2000 LOC or >50 files), RFC/ro
    on Sep 24, 2026
  3. added a commit that references this issue on Sep 27, 2026
    ef03f5a
  4. lidge-jun commented on Sep 27, 2026

    @lidge-jun
    Owner

    Release train 4 triage: keeping this open. The implementation in #5950 is on hold because Qoder's own documentation says not to configure BYOK manually in settings.json and does not document the providers/modelConfigs schema the writer would use; details are on #5950. A documented import path or official schema would unblock it.

  5. wycocoyu commented on Sep 28, 2026

    @wycocoyu
    Author

    Qoder is currently just a suggestion.. Qoder doesn't really support personal custom models at the moment, but I hope open-source products like this can implement some of them.

  6. added
    needs-design설계 필요. Implementation waits on a written design.
    help wantedExtra attention is needed
    on Oct 6, 2026
  7. lidge-jun commented on Oct 6, 2026

    @lidge-jun
    Owner

    Maintainer note (interview 2026-10-06): keeping open with needs-design + help wanted.

    Qoder client integration stays blocked on a documented/official import path (see #5950 hold). Not scheduling BYOK/settings.json writer work until that exists.

  8. lidge-jun commented on Oct 13, 2026

    @lidge-jun
    Owner

    Landed on dev in #5950 (squash commit 2acdb92). It will ship with the next release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    catalogModel catalog, slugs, visibility, routed entriesenhancementNew feature or requesthelp wantedExtra attention is neededneeds-design설계 필요. Implementation waits on a written design.priority: P3Low: new provider/client integration, large or experimental feature (>2000 LOC or >50 files), RFC/roproviderProvider adapters, OpenAI-compat presets, upstream API quirks

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions