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

@alphalawyer/alpha-classic-cli

v0.1.5

Published

Alpha Classic CLI for AI-friendly web app access

Readme

alpha-classic-cli

Alpha Classic CLI 是为 Alpha 律所管理系统 开发的 AI-friendly CLI,用来验证 Codex/Claude Code 等 Agent 是否能稳定、安全地通过 CLI 访问 Alpha 业务数据。

  • CLI 命令能访问 Web 应用 API
  • Codex 能通过 Skill 理解该怎么调用 CLI
  • 登录、诊断、业务查询形成最小闭环
  • 默认环境是 prod,也可以通过 env use 在预设环境间切换

安装依赖

npm install

构建

npm run build

默认构建生产环境产物;本地调试也保留按环境构建的脚本:

npm run build:local
npm run build:dev
npm run build:test
npm run build:prod

发布到 npm

正式发布会使用 build:prod,避免把 dev 环境固化进 npm 包。

npm run release:dry-run
npm run release:patch
  • release:dry-run:执行类型检查、测试、生产环境构建和 npm pack --dry-run,只检查发包内容,不发布。
  • release:patch:先确认 npm 登录用户,再完成发布前检查、自动升级补丁版本、重新生产构建并发布到公开 npm 仓库。
  • 如果 npm 要求 OTP,命令后追加参数即可,例如 npm run release:patch -- --otp=123456

默认 prod 环境:

baseUrl/apiBaseUrl: https://alphalawyer.cn
current user API: GET /im/v1/users/me
auth header: token: <token>
device header: deviceType: ai

运行

项目已配置 bin:

alpha-classic-cli version
alpha-classic-cli env list
alpha-classic-cli env current
alpha-classic-cli env use test
alpha-classic-cli env use prod
alpha-classic-cli login
alpha-classic-cli doctor
alpha-classic-cli matter search --keyword 合同 --limit 10
alpha-classic-cli matter search --status 进行中+预立项 --scope 所有项目 --limit 10
alpha-classic-cli matter types --keyword 诉讼 --limit 20
alpha-classic-cli matter search --matter-type-ids <项目类型ID> --service-start-from 2026-01-01 --service-start-to 2026-12-31 --limit 10
alpha-classic-cli matter detail --id <项目ID> --logs 5
alpha-classic-cli task list --matter-id <项目ID> --state 未完成 --limit 20
alpha-classic-cli task mine --keyword <关键词> --state 未完成 --limit 20
alpha-classic-cli task mine --range-from 2026-06-01 --range-to 2026-06-30 --state all --limit 20
alpha-classic-cli task pending --range this-week --state 未完成 --order-direction asc --limit 50
alpha-classic-cli task worktypes --matter-id <项目ID>
alpha-classic-cli task assignees --matter-id <项目ID>
alpha-classic-cli task assignees --matter-id <项目ID> --work-type-id <工作类型ID>
alpha-classic-cli task create --name <任务名称> --matter-id <项目ID> --due-time 2026-06-30
alpha-classic-cli task detail --id <任务ID> --comments 10
alpha-classic-cli task subtasks --id <任务ID> --state all --limit 20
alpha-classic-cli task update-detail --id <任务ID> --detail <任务详情>
alpha-classic-cli task complete --id <任务ID>
alpha-classic-cli task uncomplete --id <任务ID>
alpha-classic-cli task assignee set --id <任务ID> --user-ids <用户ID1,用户ID2>
alpha-classic-cli task comment add --task-id <任务ID> --content <评论内容>
alpha-classic-cli task comment delete --id <评论ID>
alpha-classic-cli task checkitem add --task-id <任务ID> --item <检查项内容>
alpha-classic-cli task checkitem delete --id <检查项ID> --task-id <任务ID>
alpha-classic-cli task checkitem complete --id <检查项ID> --task-id <任务ID>
alpha-classic-cli task checkitem uncomplete --id <检查项ID> --task-id <任务ID>
alpha-classic-cli timing list --range this-month --approve-state all --limit 50
alpha-classic-cli timing matters --keyword 合同 --limit 20
alpha-classic-cli timing worktypes --matter-id <项目ID> --limit 50
alpha-classic-cli timing tasks --matter-id <项目ID> --keyword <关键词> --limit 20
alpha-classic-cli timing create --name <工作描述> --work-date 2026-06-12 --start-time 09:00 --end-time 10:30 --matter-id <项目ID> --work-type-id <工作类型ID>
alpha-classic-cli user list --status 在职 --account-type A,B --phone <手机号> --keyword <姓名或用户名> --limit 20
alpha-classic-cli user ranks --keyword <职级名> --limit 20
alpha-classic-cli user managers --keyword <姓名或用户名> --limit 20
alpha-classic-cli user departments --keyword <部门名> --limit 20
alpha-classic-cli appro list --scope my --limit 10
alpha-classic-cli appro initiators --keyword 张三
alpha-classic-cli appro detail --id <审批ID>

env use <local|dev|test|prod> 会写入本地配置并清空旧登录态,切换后需要重新执行 alpha-classic-cli login

源码调试时也可以使用:

npm run dev -- doctor

登录

默认使用 CLI 设备授权登录:

alpha-classic-cli login

CLI 会创建授权、展示 user code 和二维码,并尝试自动打开浏览器。用户在前端确认后,CLI 保存本地 session。最终输出始终是 JSON envelope,且不会输出 token 或 refreshToken。

Agent 异步登录建议使用两阶段流程:

alpha-classic-cli login --no-wait --json

把返回的 data.verification_url 原样交给用户打开确认。用户确认后执行:

alpha-classic-cli login --device-code <device_code>

调试场景暂时保留手动 token fallback:

alpha-classic-cli login --token <token>

不要把 token 或 refreshToken 写入回答、日志或 URL。

安装智能体说明

alpha-classic-cli install

默认安装 Codex Skill:

~/.codex/skills/alpha-classic/SKILL.md

用户也可以选择安装目标:

alpha-classic-cli install --agent codex
alpha-classic-cli install --agent claude
alpha-classic-cli install --agent alphaclaw
alpha-classic-cli install --agent all

卸载智能体说明:

alpha-classic-cli uninstall --agent codex
alpha-classic-cli uninstall --agent claude
alpha-classic-cli uninstall --agent alphaclaw
alpha-classic-cli uninstall --agent all

Alpha-claw 安装方式会写入所有已经存在的 AlphaClaw workspace,不会主动创建未安装的环境目录:

~/.openclaw-devalphaclaw/workspace/skills/alpha-classic/SKILL.md
~/.openclaw-testalphaclaw/workspace/skills/alpha-classic/SKILL.md
~/.openclaw-alphaclaw/workspace/skills/alpha-classic/SKILL.md

Claude Code 安装方式:

~/.claude/alpha-classic-cli.md

并在用户级:

~/.claude/CLAUDE.md

追加 import:

@~/.claude/alpha-classic-cli.md

Skill 会引导智能体优先使用稳定 CLI 命令,例如:

alpha-classic-cli doctor
alpha-classic-cli login
alpha-classic-cli version
alpha-classic-cli matter search --keyword 合同 --limit 10
alpha-classic-cli matter types --keyword 诉讼 --limit 20
alpha-classic-cli matter detail --id <项目ID> --logs 5
alpha-classic-cli task list --matter-id <项目ID> --state 未完成 --limit 20
alpha-classic-cli task mine --keyword <关键词> --state 未完成 --limit 20
alpha-classic-cli task mine --range-from 2026-06-01 --range-to 2026-06-30 --state all --limit 20
alpha-classic-cli task pending --range this-week --state 未完成 --order-direction asc --limit 50
alpha-classic-cli task detail --id <任务ID> --comments 10
alpha-classic-cli task subtasks --id <任务ID> --state all --limit 20
alpha-classic-cli timing list --range this-month --approve-state all --limit 50
alpha-classic-cli timing create --name <工作描述> --work-date 2026-06-12 --start-time 09:00 --end-time 10:30
alpha-classic-cli finance overview
alpha-classic-cli finance departments --keyword <部门名> --limit 20
alpha-classic-cli finance summary --matter-id <项目ID>
alpha-classic-cli finance contract list --matter-id <项目ID> --limit 20
alpha-classic-cli finance invoice list --matter-id <项目ID> --limit 20
alpha-classic-cli finance income list --matter-id <项目ID> --limit 20
alpha-classic-cli finance expense list --matter-id <项目ID> --limit 20
alpha-classic-cli finance bill list --matter-id <项目ID> --limit 20
alpha-classic-cli finance reimburse list --matter-id <项目ID> --limit 20
alpha-classic-cli user list --status 在职 --keyword <姓名或用户名> --limit 20

通用智能体对接

通用智能体优先读取仓库根目录:

AGENTS.md
CLAUDE.md

也可以通过命令发现 CLI 能力:

alpha-classic-cli capabilities

capabilities 输出机器可读 JSON,包含登录流程、环境规则、业务命令、参数和安全边界。

当前接口

当前默认调用:

  • GET /im/v1/users/me
  • GET /matterserver/api/v1/customFields/dashboard/MATTER_LIST
  • POST /matterserver/api/v2/matter/search
  • GET /matterserver/api/v2/matters/{matterId}
  • GET /notice/v1/dynamics/matters/{matterId}
  • GET /taskserver/api/v1/tasks/listTaskByMatter
  • GET /taskserver/api/v1/tasks/{taskId}
  • GET /taskserver/api/v1/checkitem/{taskId}
  • GET /taskserver/api/v1/tasks/attachment/{taskId}
  • GET /document-engine/api/v1/dir/list
  • GET /taskserver/api/v2/timing/timing/task/{taskId}
  • GET /ilaw/api/v2/comment/queryCommentsAndDynamic
  • GET /finance/api/integration/v1/statistics/matterOverview/{matterId}
  • GET /finance/api/integration/v1/matterFinance/contracts/{matterId}
  • GET /finance/api/integration/v1/matterFinance/invoices/Children/{matterId}
  • GET /finance/api/integration/v1/matterFinance/incomes/{matterId}
  • GET /finance/api/integration/v1/matterFinance/spends/{matterId}
  • GET /finance/api/integration/v1/matterFinance/bills/{matterId}
  • GET /finance/api/integration/v1/matterFinance/reimburse/{matterId}
  • POST /appro/api/v2/approval/search
  • GET /appro/api/v2/appros/{approId}
  • GET /common/api/v1/file/batch
  • GET /user/api/v1/users/listOfficeUser?deleted=0&status=1

接入真实 Web 应用时,优先修改:

  • src/commands/matter.ts
  • src/commands/appro.ts
  • src/http/api-client.ts
  • src/config/environments.ts

设计原则

  • 默认输出 JSON envelope,方便 AI 解析。
  • 默认只支持查询;新建任务、任务详情、任务完成/取消完成、负责人、评论、检查项和新增计时写操作必须使用明确的 task createtask update-detailtask completetask uncomplete/task restarttask assignee set/task attendee settask comment ...task checkitem ...timing create 命令。
  • 不在终端输出 token。
  • 运行时只允许切换内置环境预设,不接受任意 baseUrl/apiBaseUrl 参数。
  • Skill 负责告诉 AI 什么时候用哪个命令。