@zjunicom/uniskill
v0.1.6
Published
Uniskill — A ClawHub-compatible CLI for SkillHub. Install/search skills from any SkillHub registry.
Maintainers
Readme
uniskill
私有交付版的 SkillHub CLI。命令格式与 ClawHub 兼容,可直接对接
SkillHub 后端的 /api/v1/compat/* 兼容层,无需修改服务端代码。
安装
npm install -g @zjunicom/uniskill@latest
# 或者
pnpm add -g @zjunicom/uniskill@latest⚠️ 必须用
@zjunicom/uniskill而不是uniskill。包名在@zjunicomscope 下,因为 unscoped 名字和已有包(uni-skill、@robertsshu/uniskill等)冲突被 npm 防钓鱼保护拦截。
快速开始
# 1. 配置 registry(只需做一次,之后所有命令都能用)
uniskill config set registry http://skillhub.ictsoft.cn
# 2. 浏览器授权登录(可选;访问私有技能时需要)
uniskill login
# 3. 搜索技能
uniskill search soul
# 4. 安装技能
uniskill install nano-pdf --registry http://skillhub.ictsoft.cn
uniskill install soul # global 命名空间
uniskill install myteam--soul --version 1.2.0 # 指定版本
# 5. 验证当前登录态
uniskill whoami⚠️ 升级 / 部署注意事项(必读)
坑点 1:npx @zjunicom/uniskill(不带版本号)会用全局缓存的旧版
npx 在没指定版本时会优先用全局已装的版本。如果你之前 npm install -g @zjunicom/uniskill 装的是 0.1.0,再 npx 不带版本号会继续用 0.1.0(即使 latest 已经是 0.1.2)。
✅ 推荐用法(避免坑):
# 推荐 1:全局装最新版(一次性,之后直接用 uniskill 命令)
npm install -g @zjunicom/uniskill@latest
uniskill install nano-pdf --registry http://skillhub.ictsoft.cn
# 推荐 2:升级到最新版
npm update -g @zjunicom/uniskill
# 推荐 3:如果出现"明明 npm 上是最新版但本地跑出来像旧版",强制重装
npm uninstall -g @zjunicom/uniskill
npm install -g @zjunicom/uniskill@latest
# 推荐 4:项目级安装(不同项目不同版本互不影响)
npm install --save-dev @zjunicom/uniskill
npx uniskill install nano-pdf --registry http://skillhub.ictsoft.cn
# 推荐 5:CI / 脚本里强制用最新
npx @zjunicom/uniskill@latest install nano-pdf --registry ...坑点 2:uniskill 命令会被全局 bin 链接
npm install -g 会在 ~/.npm-global/bin/(或 /usr/local/bin/)创建 uniskill 软链。如果全局装的是旧版,直接 uniskill 也是旧版——升级时同时 npm update。
命令一览
| 命令 | 说明 |
|------|------|
| uniskill install <target> | 下载并解压技能包到 ./skills/ |
| uniskill search <keyword> | 在 registry 中搜索技能 |
| uniskill whoami | 显示当前登录用户 |
| uniskill login | 浏览器设备授权登录 |
| uniskill config <sub> | 管理本地配置 |
<target> 格式:
soul→@global/soulmyteam--soul→@myteam/soul
与 ClawHub CLI 的差异
| 维度 | ClawHub CLI | uniskill |
|------|-------------|---------|
| npm 包 | clawhub | @zjunicom/uniskill |
| 协议 | ClawHub 协议 | 同上(直接复用 SkillHub /api/v1/compat/*) |
| 配置文件 | ~/.clawhub/ | ~/.uniskill/ |
| 适用场景 | 开源 ClawHub 生态 | 私有 SkillHub 交付 |
命令语法与目标命名规则一致,老用户无需重新学习。
配置
配置路径:~/.uniskill/config.json(首次写入时自动收紧权限为 0o600)。
uniskill config set registry http://skillhub.ictsoft.cn
uniskill config get registry
uniskill config list
uniskill config clear-auth # 仅清空登录态环境变量:
UNISKILL_REGISTRY:等价于--registryUNISKILL_DEFAULT_REGISTRY:兜底 registry(仅当 config.json 中未设置时生效)
本地开发
cd web/cli/uniskill
pnpm install
pnpm dev -- install myteam--soul --registry http://localhost:8080 # tsx 直跑
pnpm build # 输出到 dist/
pnpm typecheck发布
发布到公共 npm registry(已在 @zjunicom 组织下维护):
# 前置:npmjs.com 创建一个 Automation Token(90 天有效,需勾 Bypass 2FA)
# 写到 ~/.npmrc:
# //registry.npmjs.org/:_authToken=npm_你的token
pnpm build
npm version patch # 0.1.x → 0.1.x+1
npm publish --access public更推荐接 GitHub Actions:push tag v* 自动 build + publish,token 存 GH Secrets,
90 天到期前 npmjs 会发邮件提醒更新 secret。
