npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@phala/opencode-provider-aci

v0.7.2

Published

Native OpenCode provider for Attested Confidential Inference gateways

Downloads

1,832

Readme

@phala/opencode-provider-aci

Native OpenCode provider for an ACI gateway. The plugin registers the provider, discovers its live model catalog over an attested and SPKI-pinned connection, maps reasoning/tool/modality/cost/limit metadata, and verifies every inference receipt before the response stream can finish.

{
  "$schema": "https://opencode.ai/config.json",
  "plugin": [
    [
      "@phala/opencode-provider-aci",
      {
        "baseURL": "https://gateway.example.com/v1",
        "trust": {
          "acceptedComposeHashes": ["<reviewed-compose-sha256>"],
        },
      },
    ],
  ],
}

After adding the configured plugin tuple above, restart OpenCode and use its native provider and model pickers:

/connect
# search for ACI and enter the API key
/models
# search for aci/ and select a model

The neutral package has no default gateway, so baseURL must be configured. ACI_API_KEY is also supported for the current process, but environment variables are not copied into OpenCode's auth store.

The plugin discovers the public /v1/models catalog over the verified connection without sending the inference API key. OpenCode stores the key and attaches it to model requests through its native auth loader. The plugin uses OpenCode's server-plugin, provider config, auth, model, and disposal hooks; it does not maintain parallel config or credential files.

Capability flags come only from the catalog. The plugin does not create model-family variants or rewrite reasoning parameters; OpenCode's official OpenAI-compatible provider handles its standard reasoning request and response fields. Optional cache prices stay absent when the catalog does not publish them.

The plugin registers /aci-attestation, /aci-receipts, /aci-receipt [id], and /aci-session <id> as native OpenCode custom commands. They dispatch the read-only aci_inspect tool, whose five actions are status, attestation, receipts, receipt, and session. Receipt inspection verifies the latest recorded exchange when no id is supplied. Session inspection requires the bare 64-hex session id and verifies its content address, API version, validity window, and evidence digest. The tool returns verification metadata only, never model traffic or raw evidence. Branded plugins scope both commands and the tool name to their provider id.

Attestation and response receipt verification are automatic and fail closed; the commands only display evidence or rerun an audit. The local wire-digest history keeps the latest 32 receipt-bearing requests by default and is cleared when OpenCode exits. Credential persistence and gateway artifact retention are independent of this local history.

Do not also configure a separate provider.aci. The plugin owns that provider so installation, attestation, or channel-binding failure leaves no ordinary HTTPS path available.

Programmatic branded plugins may pass a shared AccountApiKeyAuth as accountAuth. The core maps it into OpenCode's official browser auth hook and automatically keeps the manual API-key method; the brand does not build its own OpenCode credential flow.