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

openclawmp

v1.0.4

Published

OpenClaw Marketplace CLI client

Readme

🐟 openclawmp

OpenClaw Marketplace CLI — 水产市场命令行工具

A command-line client for the OpenClaw Marketplace, allowing you to search, install, publish, and manage agent assets (skills, plugins, triggers, channels, and more).

安装

npm install -g openclawmp

需要 Node.js >=18.0.0。项目使用 Node 内置 fetch,无额外运行时依赖。

快速开始

# 写入本地 token
openclawmp oauth <your-token>

# 搜索市场资产
openclawmp search 天气

# 搜索用户
openclawmp users 张三

# 根据 assetId 查看资产详情
openclawmp info 6c476a36955a4270a3fa303beeeed5ee

# 安装资产
openclawmp install skill/7c19dc4c3244418096f1dcb59c93f795

# 列出本地已安装资产
openclawmp list

# 卸载本地资产
openclawmp uninstall skill/demo-skill

# 发布本地资产
openclawmp publish ./my-asset --yes

功能概览

  • search:搜索市场资产,按类型、作者、安装量、标签和简介格式化输出。
  • users:搜索用户,默认展示前 10 条,并显示总结果数与下一页游标。
  • oauth:将 token 写入本地凭证文件。
  • info:根据 assetId 查看资产详情与版本信息。
  • install:根据 assetId 和可选 semver 下载归档并安装到本地 OpenClaw 目录。
  • uninstall:删除本地安装目录,并清理对应锁文件记录。
  • list:扫描本地已安装资产,结合 lockfile 和安装元数据展示结果。
  • publish:打包本地目录并上传发布,串联 createUploadsignUploadPartUrlcompleteUploadcreateAssetSemver

支持的资产类型

  • skill
  • experience
  • plugin
  • trigger
  • channel

运行要求

  • Node.js >=18.0.0
  • 零运行时依赖

凭证

默认读取:

  • macOS / Linux: ~/.openclaw/hub-credentials.json
  • Windows: %USERPROFILE%\\.openclaw\\hub-credentials.json

文件最少需要:

{
    "token": "your-credential-token"
}

也可以直接通过命令写入:

openclawmp oauth <your-token>

请求头约定:

  • Authorization: Bearer <credential token>:受保护接口必需;search 可匿名调用
  • X-Request-ID:自动生成,也可通过 --request-id 显式指定
  • Cli-Version:自动带当前 package 版本

常用示例

npm install -g openclawmp
openclawmp oauth <your-token>
openclawmp publish /path/to/asset

示例:

cat .metadata.json
{
    "assetType": "skill",
    "name": "my-skill",
    "displayName": "My Skill",
    "semver": "1.0.0",
    "category": "productivity",
    "tags": ["agent", "automation"]
}
openclawmp publish ./my-skill --yes

查看资产详情:

openclawmp info 6c476a36955a4270a3fa303beeeed5ee

更新已有资产版本:

openclawmp publish ./my-skill --asset-id s-123456 --yes

如果目录根部已存在 .assetid,会自动把该值透传为 assetId;也可显式传入 --asset-id <id>

只做本地校验和打包:

openclawmp publish ./my-skill --dry-run

安装示例:

openclawmp install skill/7c19dc4c3244418096f1dcb59c93f795
openclawmp install skill/[email protected]

默认安装根会优先跟随当前 OpenClaw/StepClaw state dir(OPENCLAW_STATE_DIRSTEPCLAW_STATE_DIR~/.stepclaw/stepclaw-install-state.json),未检测到 StepClaw 时回退到 ~/.openclaw。也可通过 --target-dir <path> 显式指定安装根。

卸载示例:

openclawmp uninstall skill/7c19dc4c3244418096f1dcb59c93f795
openclawmp uninstall skill/demo-skill

搜索示例:

openclawmp search 天气 --page-size 10
openclawmp users openclawmp.cc

命令结构

入口采用懒加载:

  • publish
  • oauth
  • search
  • users
  • info
  • install
  • uninstall
  • list

其中当前可用的是 publishoauthsearchusersinfoinstalluninstalllist

发布命令参数

  • --asset-id <id>:未传时会尝试读取目录根部 .assetid
  • --base-url <url>
  • --token-file <path>
  • --part-size-mb <number>
  • --ttl-seconds <number>
  • --request-id <id>
  • --dry-run
  • --yes, -y
  • --verbose

目录发布打包规则

  • 目录发布会默认跳过 .gitnode_modules__MACOSX.DS_StoreThumbs.db
  • 根目录可通过 .openclawmpignore 补充忽略规则,也会读取根目录 .gitignore / .npmignore 的常见规则
  • 子路径遇到无权限读取的目录或文件时会自动跳过;使用 --verbose 可查看具体跳过项

Publish Metadata

  • publish 只读取发布目录或归档里的 .metadata.json
  • .metadata.json 必须包含 assetTypenamedisplayNamesemver
  • semver 必须是严格的 x.y.z 纯数字格式,例如 1.2.3
  • 可选字段:assetIdcategorytagsdescriptionlongDescription
  • 不再从 README.mdpackage.jsonopenclaw.plugin.jsonSKILL.md 自动推断发布 metadata
  • 不再通过 CLI 参数补录 assetTypenamedisplayNamesemver
  • assetId 可写在 .metadata.json,也可以通过 --asset-id 或目录根部 .assetid 透传
  • objectId 由上传完成后自动生成,登录态始终必需
  • 默认不打印请求预览或请求头明细;加 --verbose 会额外输出接口 URL、入参与返回详情

默认配置来源

baseUrl 优先级:

  1. --base-url
  2. OPENCLAWMP_API_BASE_URL
  3. OPENCLAWMP_BASE_URL
  4. API_BASE_URL
  5. NEXT_PUBLIC_API_BASE_URL
  6. 仓库根目录 .env.local / .env / .env.prod
  7. https://seafood.c.stepfun-inc.net