Skip to content

feat: configure cost display currency - #32487

Closed
dingskyhi wants to merge 1 commit into
anomalyco:devfrom
dingskyhi:display-currency
Closed

dingskyhi wants to merge 1 commit into
anomalyco:devfrom
dingskyhi:display-currency

Conversation

@dingskyhi

Copy link
Copy Markdown

Issue for this PR

Closes #32485

Type of change

  • Bug fix
  • New feature
  • Refactor / code improvement
  • Documentation

What does this PR do?

Adds display.currency, display.cost_currency, and display.currency_rate config for usage cost formatting.

This lets users display costs in currencies like CNY, and lets custom model prices that are already configured in RMB render as RMB without converting again.

How did you verify your code works?

  • bun typecheck in packages/core
  • bun typecheck in packages/tui
  • bun typecheck in packages/app
  • bun typecheck in packages/sdk/js
  • bun test src/cost-display.test.ts in packages/core
  • bun test ./src/components/session/session-context-format.test.ts in packages/app
  • ./packages/sdk/js/script/build.ts
  • Push hook ran bun turbo typecheck successfully

Screenshots / recordings

N/A. This changes cost formatting only; the visible labels keep the same layout.

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

@github-actions

Copy link
Copy Markdown
Contributor

Automated PR Cleanup

Thank you for contributing to opencode.

Due to the high volume of PRs from users and AI agents, we periodically close older PRs using automated criteria so maintainers can focus review time on the most active and community-supported contributions.

This PR was closed because it matched the following cleanup criteria:

  • The PR was created more than 1 month ago
  • The PR had fewer than 2 positive reactions
  • Positive reactions are counted as thumbs-up, heart, celebration, or rocket reactions on the PR

PRs created within the last month are not affected by this cleanup.

If you believe this PR was closed incorrectly, or if you are still actively working on it, please leave a comment explaining why it should be reopened. A maintainer can review and reopen it if appropriate.

Thanks again for taking the time to contribute.

@github-actions github-actions Bot closed this Jul 16, 2026
Meinianda-L added a commit to Meinianda-L/opencode that referenced this pull request Sep 27, 2026
Add a display.currency config option that converts usage costs to the
user's preferred currency at presentation boundaries (ACP usage_update,
TUI, and app). The provider/model currency remains the source currency:
when no display currency is configured, costs are shown unchanged in
the source currency, and amounts are never relabeled when conversion is
impossible (unknown rate).

- Add Currency core module: approximate USD-based display rate table,
  convert() with user rate overrides, and locale-aware format()
- Add display.currency and display.rates to the config schema
- Convert in both ACP usage_update paths (Effect layer and ACP client)
- Replace hardcoded USD formatters in TUI (sidebar, prompt, subagent
  footer) and app (context usage, context tab) with the shared utility
- Regenerate SDK types and document the new options

Relates to anomalyco#32485. Supersedes the approach explored in anomalyco#32487 and
builds on provider-currency propagation from anomalyco#39425.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE]: Configure usage cost display currency

1 participant