Skip to content

Releases: WizisCool/oh-my-cpa

v0.1.4

Choose a tag to compare

@github-actions github-actions released this 07 Oct 09:05
c02c053

Docker Hub: wiziscool/oh-my-cpa:v0.1.4

Multi-platform digest: wiziscool/oh-my-cpa@sha256:fd14c0e9d3234dc6fc0ec4d5384e8d4181e0b8ca6e55e583cfe8fa22025888a0

Docker platforms: linux/amd64, linux/arm64.

Native executables: Darwin, Windows, Linux and FreeBSD, each on amd64 and arm64. Archives embed the console; verify downloads with checksums.txt.

See installation and the agent guide.

What's Changed

  • fix(plugin-host): align native routing and authentication by @WizisCool in #153
  • ci(testing): strengthen verification and parallelize release gates by @WizisCool in #152
  • fix(plugin-host): verify page management credentials before CPA by @WizisCool in #154
  • chore(release): prepare v0.1.4 by @WizisCool in #155

Full Changelog: v0.1.3...v0.1.4

v0.1.3

Choose a tag to compare

@github-actions github-actions released this 07 Oct 02:14
dc2002c

Docker Hub: wiziscool/oh-my-cpa:v0.1.3

Multi-platform digest: wiziscool/oh-my-cpa@sha256:1cbbbb45528189f02e37507d3dd7291b7545eb3c0649f123907d2fded61193a9

Docker platforms: linux/amd64, linux/arm64.

Native executables: Darwin, Windows, Linux and FreeBSD, each on amd64 and arm64. Archives embed the console; verify downloads with checksums.txt.

See installation and the agent guide.

What's Changed

  • chore(coderabbit): skip generated screenshots and the demo dataset by @WizisCool in #139
  • chore(github): add issue forms and a pull request template by @WizisCool in #140
  • feat(pricing): bill time-of-day tiers on their own time zone and widen the agent's pricing surface by @WizisCool in #141
  • feat(management): align provider, credential, quota and log controls by @WizisCool in #142
  • fix(config): preserve Codex behavior settings after save by @WizisCool in #144
  • fix(console): repair cooldown feedback and popup interactions by @WizisCool in #146
  • feat(release): publish cross-platform executable archives by @WizisCool in #145
  • feat(requests): select and export requests, pattern filter and lighter scrolling by @WizisCool in #147
  • style(model-square): draw model cards on the surface layer by @WizisCool in #148
  • fix(security): resolve three Dependabot dependency alerts by @WizisCool in #149
  • chore(release): prepare v0.1.3 by @WizisCool in #150

Full Changelog: v0.1.2...v0.1.3

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 06 Oct 05:27
acc3cc4

Model Square

  • Model Square replaces Quick Start with a read-only directory of the Call Points
    advertised by CPA's live model list, grouped by manufacturer.
  • The directory shows model prices and provides model details, 24-hour request
    counts and bundled reference metadata where an exact identity is known.
    Missing facts remain unknown; advertised availability does not guarantee that
    an inference request will succeed.

Plugin pages and management

  • Plugin-registered pages appear in the sidebar and open inside the console
    through an authenticated, same-origin host. The management key stays on the
    server and the host restricts the routes it forwards.
  • Plugin navigation separates installed plugins, the store and plugin pages.
    Settings are edited directly, with empty values falling back to the plugin's
    declared defaults.
  • Plugin row actions use consistent controls, and authentication-provider
    connections use the plugin-declared provider identity.

Permanent dashboard statistics

  • Dashboard statistics are retained permanently, independently of request records
    and captured payloads. Existing retained records are folded into usage facts by
    the background maintenance loop; totals remain available while it catches up.
  • The dashboard adds an All time range. Opening request details from that range
    uses the request list's longest preset, 90 days, rather than implying that
    individual records are kept forever.
  • Request records default to 90 days of retention, and decoded captured payloads
    default to 7 days. Cleanup does not remove a request record before its statistics
    have been folded into permanent facts.

OAuth model rules and development

  • The OAuth workspace groups model aliases and exclusions under the same provider
    identity. Providers declared by authentication plugins use their canonical
    identities for these rules as well as their connections.
  • Exclusions apply before aliases, so an alias cannot restore an excluded upstream
    model. Empty exclusions remove that provider's rules.
  • The development server redirects the bare /omc path to /omc/, preserving
    sub-path asset loading.

Upgrade notes

  • Review retention settings before upgrading. The default
    OMCPA_USAGE_RETENTION_DAYS changes from 400 to 90. The new
    OMCPA_USAGE_INBOX_RETENTION_DAYS defaults to 7; a value of 0 makes decoded
    payloads follow request-record retention. With neither variable set, maintenance
    removes request records older than 90 days once their statistics are folded,
    and decoded payloads older than 7 days.
  • To retain the previous policy, set OMCPA_USAGE_RETENTION_DAYS=400 and
    OMCPA_USAGE_INBOX_RETENTION_DAYS=0 before upgrading. Dashboard statistics
    survive subsequent request-record cleanup, but statistics for records deleted
    before this upgrade cannot be recovered. Deleted records and payloads cannot
    be recovered without a backup.
  • Back up the persistent database and preserve its master key before upgrading.
    Migration migrations/035_usage_facts.sql runs through the normal startup
    migration and backup gates. Existing request records are folded into the new
    tables after startup; do not rewind migration history when recovering an
    installation. Follow docs/ops/sqlite-operations.md for backup and recovery.
  • Cleanup frees SQLite pages for reuse but does not shrink the database file.
    Compaction remains an explicit operator action.
  • Compose continues to default to latest. For a version-pinned deployment, use
    wiziscool/oh-my-cpa:v0.1.2 or wiziscool/oh-my-cpa:0.1.2 after publication.
    Both linux/amd64 and linux/arm64 are distributed through Docker Hub.

Docker Hub: wiziscool/oh-my-cpa:v0.1.2

Multi-platform digest: wiziscool/oh-my-cpa@sha256:d1a9aeaf94b62557f135a46a6a9959ef26e28f625bba9e4a6023ae6afb81fdab

Platforms: linux/amd64, linux/arm64.

See installation and the agent guide.

What's Changed

  • feat(plugins): host plugin-registered pages and rework plugin navigation and settings by @WizisCool in #132
  • fix(plugins): unify row actions and correct auth-provider connections by @WizisCool in #133
  • feat(models): replace Quick Start with Model Square by @WizisCool in #134
  • feat(usage): keep dashboard statistics permanently and roll request records by @WizisCool in #135
  • fix(dev): redirect the bare /omc to /omc/ on the dev server by @WizisCool in #136
  • feat(oauth): unify provider model aliases and exclusions by @WizisCool in #137
  • chore(release): prepare v0.1.2 by @WizisCool in #138

Full Changelog: v0.1.1...v0.1.2

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 04 Oct 20:08
1263315

Docker Hub: wiziscool/oh-my-cpa:v0.1.1

Multi-platform digest: wiziscool/oh-my-cpa@sha256:0ac250cefc62ac3a4ecacfc833a0b96b39d99b670dbf655b16ef81dde96609fc

Platforms: linux/amd64, linux/arm64.

See installation and the agent guide.

What's Changed

  • fix(ci): provision Chromium before release verification by @WizisCool in #126
  • feat(usage): record the model an upstream actually served by @WizisCool in #127
  • docs(install): organise installation by what the reader already runs by @WizisCool in #128
  • docs(install): add OMC as a service in CPA's own Compose file by @WizisCool in #129
  • feat(quota): estimate scoped window capacity with previous-cycle references by @WizisCool in #130
  • chore(release): prepare v0.1.1 by @WizisCool in #131

Full Changelog: v0.1.0...v0.1.1

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 04 Oct 14:10
49d74fa

Docker Hub: wiziscool/oh-my-cpa:v0.1.0

Multi-platform digest: wiziscool/oh-my-cpa@sha256:9e15e6d5273b3212b45b6673426c8ab8111494087fc7fadfba6c8a2ceb91e69f

Platforms: linux/amd64, linux/arm64.

See installation and the agent guide.

What's Changed

  • fix(pricing): stamp manual price update time from the server clock by @WizisCool in #2
  • test(pricing): fail the stamp assertion when no price row was stored by @WizisCool in #5
  • fix(web): render icon picker marks on its first open by @WizisCool in #4
  • build(deps): bump github.com/go-chi/chi/v5 from 5.2.3 to 5.2.4 by @dependabot[bot] in #1
  • feat(dashboard): adopt @ant-design/charts, and plot each KPI tile's own metric by @WizisCool in #6
  • fix(dashboard): keep the distribution when the grid is finer than the rollup by @WizisCool in #7
  • feat(dashboard): token activity heatmap, and a per-theme accent the brand follows by @WizisCool in #8
  • feat(dashboard): model usage panels, and a neutral console palette by @WizisCool in #9
  • feat(dashboard): call-point grouping, per-group costs, token unit style, and an OMC settings page by @WizisCool in #10
  • fix(settings): keep the Chinese token units out of an English console by @WizisCool in #11
  • fix(dashboard): centre both model marks in the card at a phone width by @WizisCool in #12
  • fix(settings): fit the unit-style picker on a phone in both themes by @WizisCool in #14
  • fix(dashboard): align model usage columns and state ring hover by @WizisCool in #15
  • fix(dashboard): read the token activity tooltip's volume in the console's unit style by @WizisCool in #13
  • fix(acceptance): make a port collision and a picker-shape race fail loudly by @WizisCool in #16
  • feat(usage): surface stream mode and stabilize TPS by @WizisCool in #17
  • Harden request records, OAuth parity, console UX, themes, and CI by @WizisCool in #18
  • feat(providers): Devin OAuth and quota, Meta Muse OAuth and API keys by @WizisCool in #19
  • feat(motion): dashboard revision motion and an enforced budget by @WizisCool in #20
  • fix(providers): keep a provider icon with the provider it was chosen for by @WizisCool in #21
  • feat(shell): header preference menus and fixed-width actions by @WizisCool in #22
  • fix(dashboard): paint the token trend's chrome in the console's ink by @WizisCool in #23
  • feat(i18n): add Traditional Chinese and Malay localization by @WizisCool in #24
  • feat(dashboard): add provider metadata and windowed traffic by @WizisCool in #25
  • feat(keys): redesign key management and add dashboard filtering by @WizisCool in #26
  • feat(keys): model client keys as CPA does, on one list surface by @WizisCool in #27
  • fix(console): copy on plain-HTTP origins through one fallback path by @WizisCool in #28
  • fix(console): copy inside a dialog by joining its focus trap by @WizisCool in #29
  • fix(config): save payload rules when the config has no payload map by @WizisCool in #30
  • feat(theme): two theme modes with derived, authorable palettes by @WizisCool in #31
  • fix(dashboard): order provider rows by state before volume by @WizisCool in #32
  • test(acceptance): reach the toolbar the way the console folds it away by @WizisCool in #33
  • refactor: split the twelve god files by responsibility by @WizisCool in #34
  • fix(providers): prevent model-list pull credential leaks by @WizisCool in #39
  • fix(dashboard): centre model usage row in stretched card by @WizisCool in #40
  • feat(console): make the web console usable from a phone by @WizisCool in #41
  • fix(oauth): draw each provider's own brand mark, inlined by the server by @WizisCool in #42
  • fix(providers): write the name overlay only after the gateway accepted the update by @WizisCool in #43
  • fix(cpa): keep the model catalog's per-source failures typeable by @WizisCool in #44
  • fix(plugins): keep a plugin's mark when the plugin is switched off by @WizisCool in #47
  • chore: drop the scratch files a squash merge carried onto master by @WizisCool in #48
  • fix(keys): keep caller keys out of the responses that do not edit them by @WizisCool in #46
  • feat(demo): a public live demo that is the real console with no gateway behind it by @WizisCool in #50
  • feat(providers): name the provider key that answered a request by @WizisCool in #51
  • fix(providers): keep overlay writes inside the admission gate by @WizisCool in #52
  • fix(api): audit credential-bearing list reveals fail closed by @WizisCool in #53
  • fix: remediate verified review findings across security, data, and CI by @WizisCool in #54
  • fix(dashboard): draw the provider rate on one fixed band by @WizisCool in #55
  • fix(quota): read the Codex renewal time live instead of from a stale token by @WizisCool in #56
  • feat(system): report versions, storage and maintenance on a trimmed system page by @WizisCool in #57
  • fix(demo): repair the token trend, the provider icons and the model catalogue by @WizisCool in #58
  • docs(ops): record that the Vercel retirement is complete by @WizisCool in #59
  • feat(system): show observed maintenance results in a 2x2 grid by @WizisCool in #60
  • fix(demo): keep a dashboard tail's mark with the window it describes by @WizisCool in #61
  • feat(oauth): unify credential management workspace by @WizisCool in #62
  • fix(web): report a quota refresh once and stop naming files in menu labels by @WizisCool in #63
  • fix(demo): report a refusal once, and make the fixture read like real traffic by @WizisCool in #64
  • feat(web): add the model playground and the OMC agent by @WizisCool in #65
  • feat(cpa): serve CPA v7 and v8 gateways from one build by @WizisCool in #68
  • build(deps): bump go-sdk and x/image, build on Go 1.27.1 by @WizisCool in #69
  • fix(usage): let the server resolve the request list's window end by @WizisCool in #70
  • feat(web): unify the console's page chrome, rebuild key management by @WizisCool in #72
  • feat(logs): split logs into gateway, service and audit sources by @WizisCool in #73
  • feat(plugin-management): consolidate store and management into tabs by @WizisCool in #74
  • feat(pricing): price from openrouter with tiers and channel multipliers by @WizisCool in #75
  • feat(web): give the audit trail its own page and unify the console's lists by @WizisCool in #76
  • fix(quota): Codex limit_reached no longer zeroes the weekly window by @WizisCool in #77
  • feat(providers): manage xAI, Vertex and Interactions API keys by @WizisCool in #79
  • docs(architecture): document per-window quota exhaustion rule by @WizisCool in #78
  • ci(verification): move the probe catalog into PR CI and scope local checks by @WizisCool in #82
  • feat(web): give the AI provider list an overview, filters and 24h traffic by @WizisCool in #81
  • fix(workspace): send on Enter and click as soon as the gate opens by @WizisCool in #83
  • feat(web): rebuild th...
Read more