@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:patchrelease: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 loginCLI 会创建授权、展示 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 allAlpha-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.mdClaude Code 安装方式:
~/.claude/alpha-classic-cli.md并在用户级:
~/.claude/CLAUDE.md追加 import:
@~/.claude/alpha-classic-cli.mdSkill 会引导智能体优先使用稳定 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 capabilitiescapabilities 输出机器可读 JSON,包含登录流程、环境规则、业务命令、参数和安全边界。
当前接口
当前默认调用:
GET /im/v1/users/meGET /matterserver/api/v1/customFields/dashboard/MATTER_LISTPOST /matterserver/api/v2/matter/searchGET /matterserver/api/v2/matters/{matterId}GET /notice/v1/dynamics/matters/{matterId}GET /taskserver/api/v1/tasks/listTaskByMatterGET /taskserver/api/v1/tasks/{taskId}GET /taskserver/api/v1/checkitem/{taskId}GET /taskserver/api/v1/tasks/attachment/{taskId}GET /document-engine/api/v1/dir/listGET /taskserver/api/v2/timing/timing/task/{taskId}GET /ilaw/api/v2/comment/queryCommentsAndDynamicGET /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/searchGET /appro/api/v2/appros/{approId}GET /common/api/v1/file/batchGET /user/api/v1/users/listOfficeUser?deleted=0&status=1
接入真实 Web 应用时,优先修改:
src/commands/matter.tssrc/commands/appro.tssrc/http/api-client.tssrc/config/environments.ts
设计原则
- 默认输出 JSON envelope,方便 AI 解析。
- 默认只支持查询;新建任务、任务详情、任务完成/取消完成、负责人、评论、检查项和新增计时写操作必须使用明确的
task create、task update-detail、task complete、task uncomplete/task restart、task assignee set/task attendee set、task comment ...、task checkitem ...、timing create命令。 - 不在终端输出 token。
- 运行时只允许切换内置环境预设,不接受任意 baseUrl/apiBaseUrl 参数。
- Skill 负责告诉 AI 什么时候用哪个命令。
