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

@aliyun-meoo/cli

v0.5.4

Published

Meoo 平台命令行工具 — 管理项目、云服务、边缘函数和部署

Readme

Meoo CLI

Meoo 平台命令行工具 — 管理项目、云服务、边缘函数和部署。

安装

npm install -g @aliyun-meoo/cli

# 验证
meoo --version

测试包

仓库内置 Aone CI 流水线 .aoneci/test-package.yaml。任意分支发生推送时,流水线会自动执行测试和 TypeScript 构建,并上传 npm .tgz 测试包制品;不会发布到 npm Registry,也不会修改正式 latest 标签。

测试包使用 <正式版本>-test.<流水线号>.<提交短SHA> 版本号。下载制品后可直接安装:

npm install -g ./meoo-cli-test-package.tgz
meoo --version

发布公共 npm

仓库内置 .aoneci/publish-npm.yaml 正式发布流水线。代码合入 main 后,流水线基于 npm 当前最新正式版本自动递增 Patch 版本,在构建工作区同步更新 package.json 和锁文件,并在测试、构建以及打包校验全部通过后,将 @aliyun-meoo/cli 发布到公共 npm。

首次使用前,需要在 Aone CI 仓库密钥中配置具有该 npm 包发布权限的 NPM_TOKEN。流水线使用串行并发策略,避免多个主干合入同时计算出相同版本。手工或 API 触发时只执行完整 Dry Run,不会真正发布。

快速开始

# 1. 登录(在 Meoo 平台「设置 → API 密钥」中创建 Key)
meoo login --ak meoo_ak_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# 2. 初始化项目
mkdir my-app && cd my-app
meoo init react-design

# 3. 安装依赖并启动
pnpm install
pnpm dev

# 4. 创建远程项目并关联
meoo projects create "我的应用"

# 5. 开通云服务
meoo cloud enable

# 6. 操作数据库
meoo db query "CREATE TABLE users (id serial primary key, name text)"
meoo db tables

命令参考

全局选项

| 选项 | 说明 | |------|------| | --json | 以 JSON 格式输出(适用于脚本和 AI Agent) | | --version | 显示版本号 |

身份认证

meoo login --ak <key>          # AK 登录
meoo login --ak <key> --api-url https://api.meoo.com  # 指定 API 地址
meoo logout                    # 退出登录
meoo whoami                    # 当前用户信息

支持环境变量(CI/CD 场景):

export MEOO_API_KEY=meoo_ak_xxxxxxxx
export MEOO_API_URL=https://api.meoo.com  # 可选
meoo whoami

项目管理

meoo projects list             # 列出我的项目
meoo projects list --all       # 包含协作项目
meoo projects create [name]    # 创建项目并设为当前项目
meoo projects use <urlId>      # 切换当前项目
meoo projects current          # 显示当前项目

模板初始化

meoo init --list               # 列出可用模板
meoo init react-design         # 初始化模板到当前目录(自动生成 AGENTS.md)

可用模板: | 模板 | 说明 | |------|------| | react-project | React 18 + Webpack 5 + Tailwind CSS | | react-vite-project | React 18 + Vite 5 + Tailwind CSS | | react-design | React 19 + Vite 7 + shadcn/ui + TanStack Router | | vue-project | Vue 3 + Vite 5 + Pinia | | taro-project | Taro 4 + React,微信小程序 + H5 |

云服务

meoo cloud enable              # 开通云服务(PostgreSQL + Auth + Storage)
meoo cloud enable --env-mode DUAL  # 首次开通时选择双环境;由服务端校验项目资格
meoo cloud status              # 查询云服务状态

静态应用发布

已开通云服务的静态项目执行 meoo deploy 时,默认先将本地源码推送到沙箱,再由服务端从沙箱 Git HEAD 构建和发布,推送失败不会继续发布。SINGLE 云环境直接完成发布;DUAL 云环境会先准备未激活版本,然后提交并等待云服务同步,只有服务端校验同步任务的项目和 commit 后才完成发布。默认同步云函数,Auth 与定时任务默认不同步;可用 --sync-auth、--sync-cron 或 --no-sync-functions 调整。未开通云服务的项目仍沿用原本地构建发布流程。

--skip-push 和 --skip-build 仍保留旧的本地产物 CDN 发布流程,但不会同步 DUAL 云环境,也不保证 CDN 与沙箱源码同版本。--skip-build 仍可能按旧行为推送源码。云同步提交结果不确定时 CLI 会停止并给出 release/task 身份;不要通过重新提交来猜测结果。

云数据库

meoo db query "SELECT * FROM users"      # 执行 SQL
meoo db query --file query.sql           # 从文件执行 SQL
meoo db tables                           # 列出表结构
meoo db tables --schema public,auth      # 指定 schema
meoo db migrate --name create_users --sql "CREATE TABLE ..."  # DDL 迁移

边缘函数

meoo fn list                             # 列出函数和环境变量
meoo fn deploy <name>                    # 部署(默认从 ./functions/<name>/ 读取)
meoo fn deploy <name> --dir ./my-fn/     # 指定代码目录
meoo fn deploy <name> --no-verify-jwt    # 允许匿名调用
meoo fn delete <name>                    # 删除函数

环境变量

meoo secrets list                        # 列出环境变量
meoo secrets set <KEY> <VALUE>           # 设置环境变量
meoo secrets delete <KEY>                # 删除环境变量

环境信息

meoo info                    # 显示运行约束和平台信息(供 AI Agent 参考)
meoo --json info             # JSON 格式(AI Agent 可解析)

部署到你自己的阿里云账号(meoo aliyun)

这是一条独立于上面所有功能的部署路径,仅在你明确想把项目部署到自己的阿里云账号(ECS/RDS/SLB,费用自己出)时才需要用到。日常发布应用请继续使用上面的 meoo deploy——两者互不影响,也互不替代。

前置条件

  1. 本机安装 aliyun CLI v3.x 及以上:brew install aliyun-cli(macOS)
  2. 配置好一个有权限的 profile:aliyun configure(需要 ECS / RDS / SLB / ROS / OSS / STS 权限)
  3. 设置默认地域:aliyun configure set --region cn-hangzhou

不需要执行 meoo login —— 这条路径不经过 Meoo 平台账号,只依赖本机的 aliyun CLI 配置。

快速开始

meoo aliyun doctor                     # 1. 环境预检,务必先跑这一步,报错就先修复再继续
meoo aliyun estimate --topology single # 2.(可选)先看价格,不会创建任何资源
meoo aliyun deploy                     # 3. 部署(交互式:会依次询问拓扑/规格/是否要数据库/密码等)
meoo aliyun status                     # 4. 查看访问地址、实例信息

非交互 / CI 场景可以用 flag 跳过交互提示:

meoo aliyun deploy --force --topology single --no-rds

密码永远不要通过命令行参数传递——留空走交互式掩码输入,或者用环境变量:

export MEOO_ALIYUN_ECS_PASSWORD=xxxx
export MEOO_ALIYUN_DB_PASSWORD=xxxx   # 仅在开通 RDS 时需要

常用命令

meoo aliyun doctor                          # 环境预检(部署前必跑)
meoo aliyun estimate [--topology ha] [--with-rds]  # 询价,不创建资源
meoo aliyun check-stock [--min-zones 2]     # 可用区/库存查询
meoo aliyun deploy [--git <url>]            # 完整部署(本地项目或 Git 仓库 URL)
meoo aliyun update                          # 热更新:改完代码后重新打包上传,零停机替换
meoo aliyun rollback                        # 回滚到上一个版本
meoo aliyun status [--refresh]              # 查看部署信息(--refresh 额外查询云端实时状态)
meoo aliyun delete [--yes]                  # 删除全部资源(默认需要手动输入 DELETE 确认)

使用须知

  • 这条路径创建的资源计费方是你自己的阿里云账号,不是 Meoo。删除后请去阿里云控制台核对确实没有残留的计费资源(ECS/EIP/SLB/RDS/OSS 桶)。
  • 任何会创建计费资源的操作前,CLI 都会强制打印资源清单 + 单价 + 月度估算——即使加了 --force 也不会跳过这段披露文字,只会跳过后面的确认提示,请务必看清楚再继续。
  • meoo aliyun deploy 部署成功后会在终端直接打印访问地址(访问地址: http://<公网IP>/)。如果看到 HEALTH_CHECK_FAILED,不代表部署失败——资源可能已经创建成功且在正常计费,只是首次冷启动(装运行时+依赖)比健康检查等待的时间长;先手动 curl http://<IP>/healthz 和 curl http://<IP>/ 确认,再决定是否需要处理,不要看到这条报错就直接删除资源。
  • 目前自动开通数据库只支持 MySQL(RDS)。检测到 Postgres/Redis/MongoDB 需求时只会提示"暂不支持自动开通",不会自动创建,需要自行配置。
  • 完整的命令参数、项目类型识别规则、部署流程细节见 skills/meoo-cli/references/aliyun-deploy.md。

完整的图文/问答式使用指南(前置准备、逐步操作说明、常见问题)见 docs/ALIYUN_DEPLOY.md。

项目约束

通过 meoo init 初始化的项目会自动生成 AGENTS.md,包含以下约束:

  • 开发服务器必须运行在 3015 端口(唯一对外端口)
  • 构建产物目录 dist/,入口 dist/index.html
  • 禁止启动后端服务器,使用 Meoo Cloud 替代
  • 包管理器使用 pnpm

开发路线图

✅ P0 — 已完成

  • [x] 用户级 API Key 系统(oneday-api Entity + Service + 中间件认证)
  • [x] 前端设置页 API 密钥管理 Tab(onedayAssets)
  • [x] CLI 骨架 + Commander.js 装饰器命令注册
  • [x] meoo login/logout/whoami
  • [x] 环境变量 MEOO_API_KEY / MEOO_API_URL 支持
  • [x] 无参数 meoo login 展示 ASCII 引导图
  • [x] 非 localhost 强制 HTTPS
  • [x] AK 签名 timingSafeEqual 防时序攻击
  • [x] AK 格式优化(meoo_ak_ + 不透明随机串)

✅ P1 — 已完成

  • [x] 全局配置系统(~/.meoo/config.json)
  • [x] meoo projects list/create/use/current
  • [x] meoo cloud enable/status
  • [x] meoo db query/tables/migrate
  • [x] meoo fn list/deploy/delete
  • [x] meoo secrets list/set/delete
  • [x] meoo init 模板初始化(5 个内置模板 + 自动生成 AGENTS.md)
  • [x] meoo info 环境约束透出
  • [x] 所有命令支持 --json 输出和 --project <urlId> 覆盖
  • [x] 统一鉴权中间件重构(BaseAuthMiddleware.tryApiKeyAuth)

🔲 P1 补全 — 近期

  • [ ] meoo domains list/add/remove — 自定义域名管理
  • [ ] meoo open — 浏览器打开当前项目工作台
  • [ ] meoo projects delete — 删除项目
  • [ ] npm publish 配置和发布

🔲 P2 — 中期

  • [ ] meoo deploy — 发布应用(需设计本地构建→上传方案)
  • [ ] meoo releases list/rollback — 版本管理和回滚
  • [ ] meoo logs <fn-name> — 边缘函数日志
  • [ ] meoo link — 将本地目录关联到远程项目
  • [ ] 自动更新检查(update-notifier)

🔲 P3 — 远期

  • [ ] meoo ai "<prompt>" — AI 驱动操作(差异化核心功能)
  • [ ] meoo skills search/install — 技能市场集成
  • [ ] meoo projects members list/add/remove — 成员管理
  • [ ] 浏览器 OAuth 登录
  • [ ] 系统 keychain 存储 AK(macOS Keychain / Linux Secret Service)

🔲 安全加固 — 持续

  • [x] AK 签名 timingSafeEqual
  • [x] CLI 端 HTTPS 强制
  • [x] 凭证文件 0o600 权限
  • [x] AK 一次性展示(数据库仅存哈希)
  • [ ] AK 验证失败频率限制(Redis 计数)
  • [ ] CLI 云服务接口项目权限校验
  • [ ] AK 创建时可选绑定 IP 白名单

技术架构

  • CLI: TypeScript + Commander.js + 装饰器命令注册
  • 认证: meoo_ak_ + 不透明随机串,SHA-256 哈希存储
  • 云服务: 复用 oneday-api 现有 CloudProxy 中间件代理 /sb/* 路径
  • 模板: 内置 npm 包,离线可用

License

MIT