🐟 openclawmp
OpenClaw Marketplace CLI — 面向 OpenClaw Marketplace 的命令行工具。
用于在终端中完成资产搜索、用户搜索、详情查看、评论、安装、卸载、列表查看和发布等常用操作。当前支持的资产类型包括 skill、experience、plugin、trigger、channel、agent。
安装
npm install -g openclawmp
运行要求:Node.js >=18.0.0。项目使用 Node 内置 fetch,无额外运行时依赖。
快速开始
openclawmp oauth <your-token>
openclawmp login
openclawmp search 天气
openclawmp info 6c476a36955a4270a3fa303beeeed5ee
openclawmp install skill/7c19dc4c3244418096f1dcb59c93f795
openclawmp list
openclawmp uninstall skill/demo-skill
openclawmp publish ./my-asset --yes
命令概览
login | 查看当前本地 token 状态和凭证文件位置。 |
oauth | 将 token 写入本地凭证文件。 |
search | 按关键词搜索市场资产,并展示类型、作者、安装量、标签和简介等信息。 |
users | 按关键词搜索用户,默认展示前 10 条,并显示总结果数与下一页游标。 |
info | 根据 assetId 查看资产详情和版本信息。 |
createComment | 给指定资产发送文本评论;当前用法为 openclawmp createComment <assetId> <content>,需要默认本地 token。 |
install | 根据 type/assetId 和可选版本号下载并安装资产到本地目录。 |
list | 扫描本地已安装资产,并结合锁文件和安装元数据展示结果。 |
uninstall | 删除本地安装目录,并清理对应锁文件记录。 |
publish | 校验、打包并发布本地资产目录或归档。 |
查看某个命令的完整参数:openclawmp help <command> 或 openclawmp <command> --help。
凭证
默认凭证文件:
- macOS / Linux:
~/.openclaw/hub-credentials.json
- Windows:
%USERPROFILE%\.openclaw\hub-credentials.json
文件最少需要包含:
{
"token": "your-credential-token"
}
写入或查看凭证:
openclawmp oauth <your-token>
openclawmp login
需要登录态的命令会读取本地 token;部分命令也支持通过 --token-file <path> 指定其他凭证文件,具体以命令帮助为准。
常用示例
搜索资产和用户
openclawmp search 天气 --page-size 10
openclawmp search "stock realtime" --page-size 10
openclawmp users openclawmp.cc
openclawmp users 窦窦 --page-size 20
查看资产详情
openclawmp info 6c476a36955a4270a3fa303beeeed5ee
发送资产评论
openclawmp createComment 8ec77f07430644bc3a848235d5c8d911 "这个资产很有帮助"
安装资产
openclawmp install skill/7c19dc4c3244418096f1dcb59c93f795
openclawmp install skill/7c19dc4c3244418096f1dcb59c93f795@1.0.3
openclawmp install skill/7c19dc4c3244418096f1dcb59c93f795 --version 1.0.3
默认安装根会优先跟随当前 OpenClaw / StepClaw state dir:
OPENCLAWMP_INSTALL_ROOT
OPENCLAW_STATE_DIR 或 STEPCLAW_STATE_DIR
~/.stepclaw/stepclaw-install-state.json 中记录的 state dir
- 检测到
~/.stepclaw 时使用该目录
- 否则回退到
~/.openclaw
不同资产类型的默认处理方式:
skill | skills |
plugin / channel | extensions |
trigger | triggers |
experience | experiences |
agent | StepClaw 下调用受管导入入口;非 StepClaw 下回退到 openclaw-agent-packager import |
也可以通过 --target-dir <path> 显式指定非 agent 资产安装根目录。
安装 agent 时,CLI 会先下载 agent package 并解压到临时目录。检测到当前 StepClaw state dir 时,会调用 stepclaw-core managed-import-agent <package-dir> 走受管导入入口,并以该命令返回的 agentId、workspace、targetConfig、mode、gatewayRpc 作为安装结果;若受管导入失败,安装会直接失败且不会写入本地安装记录。未检测到 StepClaw 时,仍回退到 openclaw-agent-packager import。可通过 --agent-id <new-id> 指定新的 agent id。
列出和卸载本地资产
openclawmp list
openclawmp list --type skill
openclawmp uninstall skill/7c19dc4c3244418096f1dcb59c93f795
openclawmp uninstall skill/demo-skill
openclawmp uninstall skill/@author/name
发布资产
发布目录或归档中必须包含 .metadata.json:
{
"assetType": "skill",
"name": "my-skill",
"displayName": "My Skill",
"semver": "1.0.0",
"category": "productivity",
"tags": ["agent", "automation"],
"description": "A short description",
"character_role": "You are a focused automation agent."
}
发布示例:
openclawmp publish ./my-skill --yes
openclawmp publish ./my-skill --asset-id s-123456 --yes
openclawmp publish . --yes
openclawmp publish ./my-agent-workspace --agent --semver 1.0.0 --yes
openclawmp publish --workspace ./my-agent-workspace --semver 1.0.0 --yes
openclawmp publish --config-path ~/.openclaw/openclaw.json --semver 1.0.0 --yes
openclawmp publish --agent my-agent --semver 1.0.0 --yes
openclawmp publish ./my-skill --dry-run
只打包 agent、不上传:
openclawmp pack ./my-agent-workspace --semver 1.0.0
openclawmp pack --config-path ~/.openclaw/openclaw.json --semver 1.0.0
openclawmp pack --agent my-agent --output ./my-agent.zip --json
如果目录根部存在 .assetid,发布时会自动作为目标资产 ID 使用;也可通过 --asset-id <id> 显式指定。
发布 agent 时,CLI 会调用内置 vendor 工具 openclaw-agent-packager 先导出一个标准 agent package zip,校验通过后再上传。可以通过 [path] 或 --workspace <path> 指定 agent workspace 目录;如果 [path] 或当前目录的 .metadata.json 声明了 assetType: "agent",publish . 会自动进入 agent 打包发布模式。如果从 OpenClaw config 发现多个 agent 且未指定 --agent <id>,交互式终端会提示用户选择。生成的 agent 包会在根目录 .metadata.json 中包含 assetType: "agent"、name、displayName、semver,因此也可以直接作为发布输入;发布上传时该 metadata 文件只作为控制文件读取,不会进入最终上传包。
--dry-run 只做本地校验和打包,不提交发布。
发布 Metadata 规则
publish 只读取发布目录或归档里的 .metadata.json。
.metadata.json 是本地发布控制文件,只用于构造发布请求;发布打包/上传时会从最终包中排除。
.metadata.json 必须包含 assetType、name、displayName、semver。
assetType 支持:skill、experience、plugin、trigger、channel、agent。
semver 必须是严格的 x.y.z 纯数字格式,例如 1.2.3。
- 可选字段:
assetId、category、tags、description、longDescription、character_role。
- 不再从
README.md、package.json、openclaw.plugin.json、SKILL.md 自动推断发布 metadata。
- 不再通过 CLI 参数补录
assetType、name、displayName、semver。
- 普通资产发布不支持
--semver;版本必须写在 .metadata.json。--semver 仅用于 --agent / --workspace / --config-path 等 agent 发布模式。
assetId 可写在 .metadata.json,也可以通过 --asset-id 或目录根部 .assetid 传入。
- 默认不打印请求细节;加
--verbose 会额外输出调试信息。
发布打包规则
- 目录发布会默认跳过
.git、node_modules、__MACOSX、.DS_Store、Thumbs.db。
- 根目录可通过
.openclawmpignore 补充忽略规则,也会读取根目录 .gitignore / .npmignore 的常见规则。
- 子路径遇到无权限读取的目录或文件时会自动跳过;使用
--verbose 可查看具体跳过项。
常用参数
不同命令支持的参数略有差异,请以 --help 输出为准。常见参数包括:
--base-url <url> | 指定服务基地址。 |
--token-file <path> | 指定本地凭证文件。 |
--request-id <id> | 指定请求追踪 ID。 |
--page-size <number> | 指定搜索分页大小。 |
--page-token <token> | 指定下一页游标。 |
--verbose | 输出更多调试信息。 |
-h, --help | 查看帮助。 |
-v, --version | 查看版本。 |
服务基地址优先级:
--base-url
OPENCLAWMP_API_BASE_URL
OPENCLAWMP_BASE_URL
API_BASE_URL
NEXT_PUBLIC_API_BASE_URL
- 仓库根目录
.env.local / .env / .env.prod
- 命令默认值:
DEFAULT_API_BASE_URL(当前为 https://openclawmp.stepfun.com)