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

@genee/omp-ark-coding-plan

v1.0.0

Published

Pi Extension: Ark Coding Plan provider with OpenAI v3 protocol, dynamic model fetching, and Chinese display names

Downloads

125

Readme

@genee/omp-ark-coding-plan

OMP extension plugin for Volcengine Ark Coding Plan provider. Registers the ark-coding-plan provider with dynamic model fetching, Chinese display names, and OAuth-based API key authentication.

Features

  • Automatic provider registration - Runtime auto-registration via pi.registerProvider
  • Dynamic model fetching - Fetches 36 usable models from Ark API, plus the ark-code-latest auto model
  • Chinese display names - All models display as "火山方舟 · {friendly}" with rule-based friendly names
  • OAuth authentication - Use /login to paste your API key; credentials stored in authStorage
  • OpenAI v3 protocol - Compatible with openai-completions API format

Installation

This plugin is intended for local development use. Install via symlink:

ln -s ~/Codes/ai/genee-teams/plugins/omp-ark-coding-plan ~/.omp/plugins/node_modules/omp-ark-coding-plan

Restart OMP to load the plugin.

Authentication

  1. Run /login in OMP
  2. Select "火山方舟(编程)" from the provider list
  3. Paste your Ark Coding Plan API key (format: ark-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
  4. Your API key will be stored securely in OMP's authStorage

Migration from old npm package

  1. /login to authenticate with the new plugin
  2. Edit ~/.omp/agent/models.yml and delete the entire ArkCodingPlan: section (you must delete this, otherwise /models will show two providers with duplicate models)

Why delete the old models.yml section?

The old ArkCodingPlan.apiKey from models.yml creates a separate provider entry with the old ArkCodingPlan id. Without deleting this section, /models will show two providers (ArkCodingPlan and ark-coding-plan) with duplicate models, and your new /login credentials won't be used for the new provider.

  1. Run omp models refresh (or restart OMP) to verify the new model list

Models

The plugin fetches 36 usable models from Ark API, filtered by:

  • Excludes Shutdown models
  • Excludes Embedding and 3DGeneration domains
  • Excludes models with "seedance", "seedream", or "embedding" in name
  • Excludes models without text output modality

Plus the fixed ark-code-latest auto model, which routes to the best available model server-side.

Example models

| ID | Display Name | | --------------------- | ------------------------------ | | deepseek-v4-pro | 火山方舟 · DeepSeek V4 Pro | | deepseek-v4-flash | 火山方舟 · DeepSeek V4 Flash | | deepseek-v4-pro-ga | 火山方舟 · DeepSeek V4 Pro GA | | glm-5-2 | 火山方舟 · GLM 5.2 | | glm-4-7 | 火山方舟 · GLM 4.7 | | qwen3-32b | 火山方舟 · Qwen3 32B | | doubao-1-5-lite-32k | 火山方舟 · Doubao 1.5 Lite 32K | | doubao-seed-2-1-pro | 火山方舟 · Doubao Seed 2.1 Pro | | doubao-smart-router | 火山方舟 · Doubao Smart Router | | ark-code-latest | 火山方舟 · Auto |

See omp models ls for the full list.

Naming Rules

Model display names are generated from the model ID (or name field) using these rules:

  1. Strip trailing date suffix: -[0-9]{6,8}$
  2. Split by hyphens
  3. Apply vendor aliases: deepseek→DeepSeek, doubao→Doubao, glm→GLM, qwen→Qwen, ark→Ark
  4. Vendor prefixes with numeric suffixes preserve the suffix: qwen3→Qwen3
  5. Capitalize first letter of each word
  6. Transform: -ga→GA, -32k/-128k→32K/128K, -32b→32B
  7. Separate consecutive numbers with dots: 5-2→5.2
  8. Prefix with "火山方舟 · "

See lib/naming.ts for the implementation and tests for examples.

Protocol

This plugin uses the OpenAI v3 protocol (openai-completions):

  • Base URL: https://ark.cn-beijing.volces.com/api/coding/v3
  • Endpoints: /chat/completions (primary), /responses (available but not configured)
  • Provider ID: ark-coding-plan (matches omp naming convention)

Note: The /responses endpoint is confirmed available but not enabled via openai-responses API. Use /chat/completions for standard completions. Note: The /responses endpoint is confirmed available but not enabled via openai-responses API. Use /chat/completions for standard completions. Anthropic protocol endpoints are not implemented.

Development

# Type check
npm run typecheck

# Run tests
bun test

License

MIT