Skip to content

Cannot record cost of models provided by CommandCode #3136

Closed

Description

@Tao-Yida

Client or integration

OpenCodex dashboard

Area

Dashboard

Summary

The OpenCodex dashboard cannot record the cost of each request of models provided by CommandCode because No matching price was found.

Reproduction

  1. Start OpenCodex and Codex.
  2. Say something in Codex using models CommandCode models.
  3. Trace logs in dashboard.
  4. Each log has no record of cost.

Version

2.39.0

Operating system

CentOS7

Provider and model

commandcode/deepseek/deepseek-v4-flash

Logs or error output

"displayMetrics": {
    "tokPerSecond": {
      "kind": "value",
      "value": 47.79563246806757,
      "estimated": false
    },
    "cost": {
      "kind": "unavailable",
      "reason": "combo_attempt_unavailable"
    }
  }

Screenshots and supporting files

Image

Redacted configuration

Checks

  • I searched existing issues and documentation.
  • I removed secrets, tokens, account details, request credentials, and personal data.

Activity

  1. github-actions commented on Sep 1, 2026

    @github-actions
    Contributor

    Automated translation bookkeeping — detected language: Korean.

  2. Ingwannu commented on Sep 1, 2026

    @Ingwannu
    Owner

    Confirmed against current dev b81c435 and the live public Command Code model catalog. This is not a Dashboard rendering failure: the request has usage, but no Command Code price can be matched for the exact provider/model pair commandcode + deepseek/deepseek-v4-flash.

    The important boundary is provider pricing. Command Code is a separate reseller/provider pricing namespace, so OpenCodex deliberately does not assume that a model whose id contains deepseek/ is billed at DeepSeek direct-API rates. The live https://api.commandcode.ai/provider/v1/models response currently publishes ids, names, and context lengths, but no per-token prices. Reusing the vendor rate here could display a precise-looking but incorrect charge. The combo_attempt_unavailable reason appears because the log carries an attempt row; it does not prove that the request itself was a combo.

    You can supply the display rate explicitly with the existing provider overlay, using Command Code’s actual price in USD per 1M tokens:

    {
      "providers": {
        "commandcode": {
          "modelCosts": {
            "deepseek/deepseek-v4-flash": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            }
          }
        }
      }
    }

    Replace the four zero placeholders with the real Command Code rates; an all-zero row intentionally falls through and will not create a false free-price estimate.

    To add a built-in estimate safely, please provide a public Command Code pricing page or a redacted Provider-plan rate table for this exact model, including input, output, cache-read, and cache-write semantics. If Command Code bills by credits rather than USD/token, please include the published credit conversion as well. Without that provider-specific evidence, adding a compiled price would be speculation, so I am keeping the issue open as needs-info rather than guessing a patch.

  3. added
    providerProvider adapters, OpenAI-compat presets, upstream API quirks
    needs-infoWaiting on reporter for a concrete spec or reproduction
    and removed
    guiDashboard, tray, settings UI
    on Sep 1, 2026
  4. lidge-jun commented on Sep 1, 2026

    @lidge-jun
    Owner

    리뷰 · 우선순위 54 / 80

    설명

    이 이슈는 CommandCode 제공 모델 요청의 OpenCodex 대시보드가 비용을 못 적어 No matching price / displayMetrics.cost.kind = unavailable, reason combo_attempt_unavailable 이 난다는 보고입니다. 모델 예시는 commandcode/deepseek/deepseek-v4-flash, 버전 2.39.0, CentOS7 입니다.

    지금 HEAD src/usage/cost.ts 는 표시용 추정만 하고, 매칭은 정확 native provider/model ID → user modelCosts → jawcode → expected-price overlay 순입니다. combo는 attempt 하나라도 미가격이면 fail-closed 합니다. combo_attempt_unavailable reason은 combo 시도 가격이 없을 때입니다. Command Code adapter는 src/adapters/command-code.ts, effort 프로필은 src/providers/command-code-efforts.ts 에 있고 deepseek-v4-flash 프로필 URL이 있습니다. 그러나 usage 가격표에 command-code/commandcode 행이 없거나, 카탈로그 sync가 commandcode-auth/commandcode-api 로 라벨을 바꾸는 동안(src/codex/catalog/sync.ts) cost matcher가 그 slug를 못 보면 미가격이 납니다.

    #2365 usage summary cache metrics, user-cost-overlays 가 HEAD에 있어도 CommandCode 기본 단가가 없으면 대시보드는 unavailable 입니다. types/config 분할 무관합니다. 점수는 54입니다. 과금 재현이 아니라 표시 추정 공백입니다.

    경로 src/usage/cost.ts resolveMatchedPrice - command-code slug 매칭 실패가 원인 후보입니다
    경로 src/codex/catalog/sync.ts commandcode-auth/api 라벨 - cost 쪽이 같은 이름을 쓰는지 확인하십시오
    경로 displayMetrics reason combo_attempt_unavailable - combo가 아니어도 이 reason이 붙는지, 로그 스키마를 확인해야 합니다
    경로 command-code-efforts.ts - effort/profile만 있고 가격이 없을 수 있습니다
    경로 사용자 modelCosts - 임시 해결은 providers.command-code.modelCosts 오버레이입니다

    메인테이너의 판단이 필요한 지점

    • expected-prices에 CommandCode 공개 단가를 넣을지, 문서에 overlay만 안내할지
    • slug를 command-code vs commandcode vs commandcode-auth 중 무엇으로 가격표를 키할지

    너의 추천
    열어 두고, 가격표/alias 키 불일치를 확인하는 조사 이슈로 둡니다. 긴급 머지 대상은 아닙니다. 사용자에게는 modelCosts 오버레이 임시 안내가 가능합니다. 라벨은 바꾸지 않습니다.

    이 댓글은 grok-bot이 작성했습니다

    Translated Message

    Original language: Korean

    Review · Priority 54 / 80

    Description

    This issue is a report that the OpenCodex dashboard for CommandCode-provided model requests cannot write costs, resulting in No matching price / displayMetrics.cost.kind = unavailable, reason combo_attempt_unavailable. Model example is commandcode/deepseek/deepseek-v4-flash, version 2.39.0, CentOS7.

    Currently, HEAD src/usage/cost.ts only performs display estimation, and matching follows the sequence: native provider/model ID → user modelCosts → jawcode → expected-price overlay. combo fails-closed if even one attempt lacks pricing. The combo_attempt_unavailable reason occurs when there is no pricing for a combo attempt. Command Code adapter is in src/adapters/command-code.ts, effort profile is in src/providers/command-code-efforts.ts, and there is a deepseek-v4-flash profile URL. However, if there is no command-code/commandcode row in the usage price table, or if the catalog sync changes labels to commandcode-auth/commandcode-api (src/codex/catalog/sync.ts) while the cost matcher cannot see that slug, it results in missing pricing.

    #2365 usage summary cache metrics, user-cost-overlays are in HEAD, but the dashboard is unavailable if CommandCode base unit pricing is missing. Regardless of types/config split. Score is 54. It is not a billing reproduction but a display estimation gap.

    Path src/usage/cost.ts resolveMatchedPrice - failure to match command-code slug is a possible cause.
    Path src/codex/catalog/sync.ts commandcode-auth/api labels - verify if the cost side uses the same names.
    Path displayMetrics reason combo_attempt_unavailable - check if this reason is attached even without combo, review log schema.
    Path command-code-efforts.ts - may have effort/profile only without pricing.
    Path user modelCosts - temporary workaround is providers.command-code.modelCosts overlay.

    Points requiring maintainer judgment

    • Whether to add CommandCode public unit pricing to expected-prices, or guide overlay only in documentation
    • What slug to use for price table key: command-code vs commandcode vs commandcode-auth

    Recommendation
    Keep open as an investigation issue to verify price table / alias key mismatch. Not a target for emergency merge. Temporary guidance to users is possible via modelCosts overlay. Do not change labels.

    This comment was written by grok-bot

  5. added a commit that references this issue on Sep 1, 2026
    c870714
  6. added a commit that references this issue on Sep 14, 2026
    71902a5
  7. added a commit that references this issue on Sep 17, 2026
    dd0eb75
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

    bugSomething isn't workingneeds-infoWaiting on reporter for a concrete spec or reproductionproviderProvider adapters, OpenAI-compat presets, upstream API quirks

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions