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

xrxs-cli

v0.2.5

Published

薪人薪事 xrxs CLI

Readme

xrxs CLI

薪人薪事 HR SaaS 系统命令行工具。

安装

npm 安装

npm install -g xrxs-cli --registry=https://registry.npmmirror.com

中国大陆用户可使用 --registry=https://registry.npmmirror.com 加速下载 npm 包本身; 二进制仍会从官方 CDN 下载。

macOS / Linux:

curl -fsSL https://cli.xinrenxinshi.com/xrxs-workspace-cli/prod/install.sh | sh

Windows

在 PowerShell 中执行:

irm https://cli.xinrenxinshi.com/xrxs-workspace-cli/prod/install.ps1 | iex

或者从 cmd 调用 PowerShell:

powershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://cli.xinrenxinshi.com/xrxs-workspace-cli/prod/install.ps1 | iex"

注意:请使用 irm(Invoke-RestMethod),不要使用 iwr(Invoke-WebRequest), 后者返回的是响应对象而非脚本内容,iex 无法直接执行。

安装完成后,打开新终端窗口即可使用。

注意:安装脚本默认从 prod 环境下载。如需其他环境,可将 URL 中的 prod 替换为 对应的环境名(如 test)。

使用流程

xrxs-cli 的业务命令(schema)和 skill 都不内置于二进制中,而是安装后从资源 API 下载。完整流程如下:

1. 安装 skill 与 schema 资源包

xrxs-cli install-resources

该命令会调用资源 API 获取最新资源包,下载解压后将:

  • schema 安装到 ~/.xrxs/schemas/<product>.json
  • skill 安装到各智能体工具(Qoder / Claude 等)的 skills 目录

资源 API 地址默认指向生产环境,可通过 --api-base-url 或环境变量 XRXS_RESOURCE_API_BASE_URL 覆盖(例如本地开发指向 http://localhost:5173)。

2. 授权登录

xrxs-cli auth login

3. 调用业务命令

安装资源包后,schema 中定义的产品命令会自动注册为一级命令:

xrxs-cli <product> <group> <command> [flags]
xrxs-cli attendance ...        # 考勤
xrxs-cli employee ...          # 员工
xrxs-cli org ...               # 组织

可用 xrxs-cli schema 查看当前可用的产品与命令,用 xrxs-cli schema <path> 读取某个命令的机读详情(供智能体工具编排使用)。

智能体工具(如 Qoder)读取安装好的 skill 后,即可通过自然语言(例如 “帮我查询考勤排班”)调用对应的 CLI 命令查询数据。

4. 复杂场景编排

对于无法用 schema DSL 表达的复杂流程(如批量导入员工),通过代码实现的 scenario 命令组提供:

xrxs-cli scenario batch-import-employees --file employees.csv
xrxs-cli scenario batch-import-employees --file data.json --concurrency 4 --on-error skip

构建与打包

项目使用 Go 编写,构建入口在 Makefile。

常用命令

# 格式化代码
make fmt

# 运行测试
make test

# 代码检查(需安装 golangci-lint)
make lint

# 编译当前平台二进制到 bin/xrxs-cli
make build

# 安装到 $GOPATH/bin
make install

本地跨平台打包

make release-local RELEASE_TAG=v0.1.0

产物输出到 dist/:

  • dist/cli/releases/<tag>/ —— 各平台压缩包、校验文件与 manifest
  • dist/cli/manifest/latest.json —— 最新版本清单
  • dist/install.sh / dist/install.ps1 —— 渲染后的安装脚本

指定环境打包

ENVIRONMENT 默认值为 prod,会注入到二进制里的 DefaultCLIVersion,并决定 CDN/资源路径中的环境段:

make release RELEASE_TAG=v0.1.0 ENVIRONMENT=test

以上命令会生成指向 test 环境的产物,例如:

https://cli.xinrenxinshi.com/xrxs-workspace-cli/test/...

发布

正式版本由语义化 tag 触发发布流程。请先提交并推送 main 上的改动,再根据版本 变更类型执行对应命令:

npm run patch  # v0.1.0 -> v0.1.1
npm run minor  # v0.1.0 -> v0.2.0
npm run major  # v0.1.0 -> v1.0.0

仓库尚无版本 tag 时,以上任一命令都会创建首个版本 v0.1.0。命令要求工作区干净、 当前分支为 main,且本地 main 与 origin/main 一致;创建并推送 tag 后,CI 会依次执行测试、打包和 OSS 发布。

本地预览发布产物可执行:

make release-local RELEASE_TAG=v0.1.0

发布需要配置以下环境变量:

OSS_ACCESS_KEY_ID
OSS_ACCESS_KEY_SECRET

默认 OSS 配置:bucket xinrenxinshi、region oss-cn-beijing、prefix xrxs-workspace-cli。发布凭证应通过 RAM 策略限制为该 prefix 的写权限。

本地安装:

npm run install:local

npm 打包与发布

xrxs-cli 同时以极小的 npm 包形式分发到公开 npm registry。npm 包本身只包含 JS wrapper 与 postinstall 下载器,真实二进制在安装时从现有 CDN/OSS 产物下载。

npm 包内容

package.json#files 严格白名单,发布的包内只含:

  • bin/xrxs-cli.js —— xrxs-cli 命令入口,负责调用 vendor/ 中的真实二进制
  • install.js —— postinstall 脚本,负责平台检测、manifest 读取、下载、 SHA-256 校验、解压
  • README.md

Go 源码、dist/、scripts/ 等不会被打入 npm 包。

发布前准备

  1. 确保对应版本的二进制产物已上传到 OSS:

    make release-local RELEASE_TAG=v0.2.4
    OSS_ACCESS_KEY_ID=... OSS_ACCESS_KEY_SECRET=... npm run release:upload
  2. 将 package.json#version 修改为与 git tag 一致的版本号(去掉 v 前缀), 例如 tag 为 v0.2.4 时写 "0.2.4"。

本地打包验证

npm pack --dry-run

确认列出的文件只有 bin/xrxs-cli.js、install.js、README.md 与 package.json,没有其他文件。

生成本地 tarball:

npm pack

端到端安装测试(可选)

在干净目录测试本地 tarball:

mkdir -p /tmp/xrxs-npm-test
npm install -g ./xrxs-cli-0.2.4.tgz --prefix /tmp/xrxs-npm-test
/tmp/xrxs-npm-test/bin/xrxs-cli version
rm -rf /tmp/xrxs-npm-test xrxs-cli-0.2.4.tgz

手动发布

  1. 登录 npm 并确认账号:

    npm whoami
  2. 检查包内容:

    npm pack --dry-run
  3. 发布到公开 npm registry:

    npm publish --access public
  4. 验证发布:

    npm view xrxs-cli versions --json
  5. npmmirror 等镜像会自动同步,几分钟后可通过以下命令确认:

    npm view xrxs-cli --registry=https://registry.npmmirror.com

接入 CI(可选)

在现有 CI 流程(测试 → 构建 → 上传 OSS)之后新增一步:

npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN}
npm publish

发布凭证通过 NPM_TOKEN 环境变量注入,CI 脚本不保存明文 token。

升级

xrxs-cli upgrade

自动检查并更新到最新版本。

卸载

xrxs-cli uninstall

或手动删除:

rm -f ~/.local/bin/xrxs-cli /usr/local/bin/xrxs-cli
rm -rf ~/.xrxs

License

MIT