Skip to content

Releases: a2580vb/dsh-llm-opencode-go

0.2.3

Choose a tag to compare

@github-actions github-actions released this 30 Oct 08:02

Changed

  • A cleanup pass: the pages say what the code does, no note written for this
    checkout ships with the package, and the published artifact can publish itself.

0.2.2

Choose a tag to compare

@github-actions github-actions released this 06 Oct 02:18

An interface release, and the release process is part of it: the quota rhythm is
editable on the page, the capsule's gear opens the settings dialog rather than the
plugins list, and a tag publishes the package and its notes without a stored
token.

Fixed

  • The quota rhythm section reads as one row. Its two intervals are labelled
    Shortest/Longest quota update interval, share a line at the same width, and
    no longer carry the three explanatory paragraphs; a row that reports no
    intervals at all says so instead of waiting on them forever.
  • The capsule's gear opens Settings on the plugin's row, not the Plugins
    page.
    It presses the shell's own way in — its trigger, or the account
    launcher's Settings row where a package has taken that seat — then this
    plugin's nav row; the usage panel's Plugin settings button does the same, and
    both fall back to the Plugins page where the shell answers neither press.

Added

  • The quota rhythm is editable on the page. The two intervals were
    config-file-only; they now have a section of their own, saved as one setting,
    with a floor above its ceiling refused where the reader can see it.
  • A tag publishes the release. release.yml checks the tag against the
    manifest, re-runs the suite, and publishes to npm through trusted publishing —
    no token is stored — then opens the release page from the changelog section.
  • npm run check:pack, which packs the tarball and reads it, because
    files is an allowlist whose two failure modes are both silent.
  • The activation suite runs in CI, on the harness packages from npm when no
    DSH installation is present.
  • CI reads either line ending. A checkout on Windows has CRLF by default, and
    the suite's workflow parser found nothing in one — worth a case, since that
    reads as "CI does not run the tests" on one platform only.
  • The workflows use current actions. checkout and setup-node moved to v7,
    which is what makes the publish path OIDC alone: before v7 setup-node left a
    dummy NODE_AUTH_TOKEN in the environment.

Changed

  • 398 offline checks, up from 370.
  • The workflows are checked too, by a new ci suite: an action pinned to a
    branch, a tab in the YAML, or a release that could publish before comparing the
    tag with the manifest fails the suite rather than a release.

0.2.0

Choose a tag to compare

@a2580vb a2580vb released this 05 Oct 21:34

An interface release: the usage panel can be dismissed, the configuration page is
reachable from Settings, and the package card reads in Chinese. The adapter's
behaviour is unchanged from 0.1.1.

Added

  • The package card in Chinese. locale/zh.json and locale/en.json ship with
    the package; the Harness reads them without activating the plugin, and a
    language with no file falls back to the manifest.
  • The usage panel can be dismissed. Its title row is pinned to the top of the
    scroll and carries a × that returns to the Conversation.
  • The configuration page sits in Settings. It is a row of Settings' own
    navigation, beside the pages the shell ships.

Changed

  • A pass over the panel's copy and layout. Shorter sentences, shared by the
    configuration page, the usage panel and the settings tab; re-read quota moved
    beside the heading it belongs to.
  • Model variants: fields fold away. A row's fields sit behind its Edit
    control, and the add form keeps its fields together with the name rules under
    them.
  • The training-gate badge now reads conversations used for training, in the
    warning colour.
  • The credential-reference hint now says what it sets.
  • The changelog ships in English and Chinese, and both files go into the
    published package, held in step by a case.
  • 349 offline checks, up from 331.
  • Both development pages name all six files that restate the check count.

0.1.0

Choose a tag to compare

@a2580vb a2580vb released this 05 Oct 21:34

First release, published to npm as dsh-llm-opencode-go.

Added

  • Provider route — OpenCode Go (https://opencode.ai/zen/go/v1) registered on
    the harness LLM runtime under the opencode-go route id (configurable), with a
    runtime health check that reports the base URL and credential reference.
  • Three wire protocols — OpenAI Responses, OpenAI-compatible Chat Completions,
    and Anthropic Messages, each implemented by the plugin: harness messages, tools
    and reasoning are translated into the protocol's request, and its streamed
    response is translated back into DSH StreamChunk values.
  • Model discovery — GET /models with an in-memory and an on-disk cache, a
    built-in fallback catalog, and per-model protocol selection measured against the
    live service.
  • x-opencode-session — one stable id per conversation, derived from the DSH
    session id by default, which is what keeps a conversation's turns on the same
    upstream backend and the same prompt cache.
  • Tool calling — a full round trip for every dispatched call: definitions,
    fragmented arguments, tool results, and the follow-up turn.
  • Reasoning — per-protocol effort mapping, including Anthropic thinking budgets.
  • Streaming — SSE to StreamChunk with usage, finish reason, and an idle
    watchdog.
  • Failures — provider-neutral codes (AUTH, RATE_LIMIT, QUOTA,
    CONTEXT_WINDOW_EXCEEDED, …) so the harness can act on a failure without knowing
    which protocol produced it.
  • Configuration page — a page in the web client's Plugins list: API key,
    credential reference, per-model visibility, model variants, re-reading the
    service's model list, and what this route has spent. The key goes to the
    credential store, never into cordis.patch.yml.
  • Usage entries — the quota capsule at the sidebar's foot (one ring per window:
    5H / Wk / Mo), a usage panel of its own, and a usage tab under Settings.
  • Test suites — 326 offline checks across config, SSE framing, catalog, all
    three protocols, the adapter, the plugin body, the settings bridge and the client
    bundle, replaying response bodies captured from the live service
    (tests/golden/); 43 further checks mounting the plugin on the harness's own
    cordis; and a live suite that spends real quota.
  • Zero runtime dependencies — the adapter implements the harness contract with
    its own error and brand helpers, so it installs into any DSH version.