{"_id":"@alphalawyer/alpha-classic-cli","_rev":"5-e86bb472ad2fd95e76dfb2806e8bbeb6","name":"@alphalawyer/alpha-classic-cli","dist-tags":{"latest":"0.1.5"},"versions":{"0.1.1":{"name":"@alphalawyer/alpha-classic-cli","version":"0.1.1","_id":"@alphalawyer/alpha-classic-cli@0.1.1","maintainers":[{"name":"alphalawyer","email":"ss135ss@sina.com"}],"bin":{"alpha-classic-cli":"dist/index.js"},"dist":{"shasum":"392823f2bcc2b37fa22162aac573e7e25f61c835","tarball":"https://registry.npmjs.org/@alphalawyer/alpha-classic-cli/-/alpha-classic-cli-0.1.1.tgz","fileCount":10,"integrity":"sha512-DmH+qJXv3TeycPkQK/cwSGw2eKXweqiOFV2JYBuF6Mwn2a1d+Ps7o+qQe9LXfroV3ZdU5Y1P20kCZjLFcmb4cQ==","signatures":[{"sig":"MEQCIG9MGF7xYwyOKdblF7MkbVjR+J3DSLR9BMYIoolFK4PLAiB7FnPlqcido8BnoCpv3j+6gE656sVTiixEMQNfSoAqkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":488557},"type":"module","engines":{"node":">=20"},"gitHead":"7ff0dce11bd5270c71f8fc8176a0ed286a5911a4","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test test/*.test.ts","build":"npm run build:dev","build:dev":"ALPHA_CLASSIC_CLI_ENV=dev tsup","typecheck":"tsc --noEmit","build:prod":"ALPHA_CLASSIC_CLI_ENV=prod tsup","build:test":"ALPHA_CLASSIC_CLI_ENV=test tsup","build:local":"ALPHA_CLASSIC_CLI_ENV=local tsup"},"_npmUser":{"name":"alphalawyer","email":"ss135ss@sina.com"},"_npmVersion":"10.9.7","description":"Alpha Classic CLI for AI-friendly web app access","directories":{},"_nodeVersion":"22.22.2","dependencies":{"open":"^11.0.0","commander":"^14.0.3","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"^6.0.2","@types/node":"^25.5.0","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/alpha-classic-cli_0.1.1_1779290638158_0.535459513607961","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@alphalawyer/alpha-classic-cli","version":"0.1.2","_id":"@alphalawyer/alpha-classic-cli@0.1.2","maintainers":[{"name":"alphalawyer","email":"ss135ss@sina.com"}],"bin":{"alpha-classic-cli":"dist/index.js"},"dist":{"shasum":"1b18901193fe2134418321ac558093cc061d3e81","tarball":"https://registry.npmjs.org/@alphalawyer/alpha-classic-cli/-/alpha-classic-cli-0.1.2.tgz","fileCount":10,"integrity":"sha512-tJ4PPIX5utMdmjZhLGMEAei8y85WmsnHpLXTCiCb0YXdxwUKeH94+xMTH8xz7Ht7Hocda83QMqLT/QEbyBF71A==","signatures":[{"sig":"MEUCIAG1rzpFOmWnLa8GRKAXpdyld1ZYaLCpr7q1r8v0/IabAiEA0Tz5fEsyTPXfRG6HkdO9HaZQ2sF/QavQbCzGHqhNSto=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":493034},"type":"module","engines":{"node":">=20"},"gitHead":"7f4f6f82e3dfc81a36f2c14b6ffb3c9ad62b1314","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test test/*.test.ts","build":"npm run build:dev","build:dev":"ALPHA_CLASSIC_CLI_ENV=dev tsup","typecheck":"tsc --noEmit","build:prod":"ALPHA_CLASSIC_CLI_ENV=prod tsup","build:test":"ALPHA_CLASSIC_CLI_ENV=test tsup","build:local":"ALPHA_CLASSIC_CLI_ENV=local tsup","release:patch":"npm whoami && npm run release:dry-run && npm version patch --no-git-tag-version && npm run build:prod && npm pack --dry-run && npm publish --access public","release:dry-run":"npm run typecheck && npm test && npm run build:prod && npm pack --dry-run"},"_npmUser":{"name":"alphalawyer","email":"ss135ss@sina.com"},"_npmVersion":"10.9.7","description":"Alpha Classic CLI for AI-friendly web app access","directories":{},"_nodeVersion":"22.22.2","dependencies":{"open":"^11.0.0","commander":"^14.0.3","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"^6.0.2","@types/node":"^25.5.0","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/alpha-classic-cli_0.1.2_1779294291798_0.11543924875563993","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@alphalawyer/alpha-classic-cli","version":"0.1.3","_id":"@alphalawyer/alpha-classic-cli@0.1.3","maintainers":[{"name":"alphalawyer","email":"ss135ss@sina.com"}],"bin":{"alpha-classic-cli":"dist/index.js"},"dist":{"shasum":"074a97bcbde8c1aa9fb6d73688a191e613a71668","tarball":"https://registry.npmjs.org/@alphalawyer/alpha-classic-cli/-/alpha-classic-cli-0.1.3.tgz","fileCount":10,"integrity":"sha512-S1wg+fLIRmMmyDERhXgtMg0+My0FqS8XQg9ePQxX+gf7YBDvnZtgIweEDZC/uQqnLPfAwkUy3lB/CeX916M7uQ==","signatures":[{"sig":"MEYCIQCI2Lg4JrX2aOKwx71APaRUW7ljGPLJvRIf2cLW9eR6GAIhAIseVA8zmV9qhPRNwflEzlTNKehRqgokgC3pGDOwNNm/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":501666},"type":"module","engines":{"node":">=20"},"gitHead":"7f4f6f82e3dfc81a36f2c14b6ffb3c9ad62b1314","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test test/*.test.ts","build":"npm run build:prod","build:dev":"ALPHA_CLASSIC_CLI_ENV=dev tsup","typecheck":"tsc --noEmit","build:prod":"ALPHA_CLASSIC_CLI_ENV=prod tsup","build:test":"ALPHA_CLASSIC_CLI_ENV=test tsup","build:local":"ALPHA_CLASSIC_CLI_ENV=local tsup","release:patch":"npm whoami && npm run release:dry-run && npm version patch --no-git-tag-version && npm run build:prod && npm pack --dry-run && npm publish --access public","release:dry-run":"npm run typecheck && npm test && npm run build:prod && npm pack --dry-run"},"_npmUser":{"name":"alphalawyer","email":"ss135ss@sina.com"},"_npmVersion":"10.9.7","description":"Alpha Classic CLI for AI-friendly web app access","directories":{},"_nodeVersion":"22.22.2","dependencies":{"open":"^11.0.0","commander":"^14.0.3","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"^6.0.2","@types/node":"^25.5.0","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/alpha-classic-cli_0.1.3_1779295800336_0.08896924851848542","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@alphalawyer/alpha-classic-cli","version":"0.1.4","_id":"@alphalawyer/alpha-classic-cli@0.1.4","maintainers":[{"name":"alphalawyer","email":"ss135ss@sina.com"}],"bin":{"alpha-classic-cli":"dist/index.js"},"dist":{"shasum":"b4d163d74b2ec8e83472dc3eb9e6d3811f5e895c","tarball":"https://registry.npmjs.org/@alphalawyer/alpha-classic-cli/-/alpha-classic-cli-0.1.4.tgz","fileCount":10,"integrity":"sha512-CUyLYNA3uOAP+AUA6AS3nSoTPpKNEugBQ7ZVIFLpiB4vvU9BdPmg7rqCGHAPNh9S77hv1QaLB60L5UZ1KtV/gA==","signatures":[{"sig":"MEQCIBR2t/0JNzi5lVNHL5+GwC5SKCD+uXRbPRzhwXZq0l8oAiBxOY1+NoJ9UvB3O5IudKtZE4e+4UZc+HjGB2wgp+f1Vg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":511025},"type":"module","engines":{"node":">=20"},"gitHead":"7ab165d82b45bc607b91f441ab06f9f0a99a4b05","scripts":{"dev":"tsx src/index.ts","test":"node --import tsx --test test/*.test.ts","build":"npm run build:prod","build:dev":"ALPHA_CLASSIC_CLI_ENV=dev tsup","typecheck":"tsc --noEmit","build:prod":"ALPHA_CLASSIC_CLI_ENV=prod tsup","build:test":"ALPHA_CLASSIC_CLI_ENV=test tsup","build:local":"ALPHA_CLASSIC_CLI_ENV=local tsup","release:patch":"npm whoami && npm run release:dry-run && npm version patch --no-git-tag-version && npm run build:prod && npm pack --dry-run && npm publish --access public","release:dry-run":"npm run typecheck && npm test && npm run build:prod && npm pack --dry-run"},"_npmUser":{"name":"alphalawyer","email":"ss135ss@sina.com"},"_npmVersion":"10.9.7","description":"Alpha Classic CLI for AI-friendly web app access","directories":{},"_nodeVersion":"22.22.2","dependencies":{"open":"^11.0.0","commander":"^14.0.3","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"^6.0.2","@types/node":"^25.5.0","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/alpha-classic-cli_0.1.4_1779375577686_0.5322973968068354","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@alphalawyer/alpha-classic-cli","version":"0.1.5","description":"Alpha Classic CLI for AI-friendly web app access","type":"module","bin":{"alpha-classic-cli":"dist/index.js"},"engines":{"node":">=20"},"scripts":{"build":"npm run build:prod","build:local":"ALPHA_CLASSIC_CLI_ENV=local tsup","build:dev":"ALPHA_CLASSIC_CLI_ENV=dev tsup","build:test":"ALPHA_CLASSIC_CLI_ENV=test tsup","build:prod":"ALPHA_CLASSIC_CLI_ENV=prod tsup","dev":"tsx src/index.ts","release:dry-run":"npm run typecheck && npm test && npm run build:prod && npm pack --dry-run","release:patch":"npm whoami && npm run release:dry-run && npm version patch --no-git-tag-version && npm run build:prod && npm pack --dry-run && npm publish --access public","test":"node --import tsx --test test/*.test.ts","typecheck":"tsc --noEmit"},"dependencies":{"commander":"^14.0.3","open":"^11.0.0","qrcode-terminal":"^0.12.0"},"devDependencies":{"@types/node":"^25.5.0","@types/qrcode-terminal":"^0.12.2","tsup":"^8.5.1","tsx":"^4.21.0","typescript":"^6.0.2"},"_id":"@alphalawyer/alpha-classic-cli@0.1.5","gitHead":"a96aee6c5c0106f1d3d309571b44f7b32b9e8e99","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-aeH82kbJMNRWMzAliK+uZrgYNi06qhLmOLurZpWKYmQUaAfnMHMpChXhkyqoH5y3V1a3nQLLAVxlRDNk9QdxRQ==","shasum":"5b228daced88f0415bf5566dc1bd16213a8f8f5d","tarball":"https://registry.npmjs.org/@alphalawyer/alpha-classic-cli/-/alpha-classic-cli-0.1.5.tgz","fileCount":14,"unpackedSize":1061565,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCsvs+A7J8s88ibAC9p2HTxXyTigp4MHscAQEiv7kTCLgIhAKQZHV5xmHy9Q1P9E7YUOZtACyZADEY8+P82osdsUp/Y"}]},"_npmUser":{"name":"alphalawyer","email":"ss135ss@sina.com"},"directories":{},"maintainers":[{"name":"alphalawyer","email":"ss135ss@sina.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/alpha-classic-cli_0.1.5_1781348177866_0.7253061413623867"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-20T15:23:57.819Z","modified":"2026-06-13T10:56:18.118Z","0.1.1":"2026-05-20T15:23:58.299Z","0.1.2":"2026-05-20T16:24:52.036Z","0.1.3":"2026-05-20T16:50:00.486Z","0.1.4":"2026-05-21T14:59:37.835Z","0.1.5":"2026-06-13T10:56:18.035Z"},"description":"Alpha Classic CLI for AI-friendly web app access","maintainers":[{"name":"alphalawyer","email":"ss135ss@sina.com"}],"readme":"# alpha-classic-cli\n\nAlpha Classic CLI 是为 **Alpha 律所管理系统** 开发的 AI-friendly CLI，用来验证 Codex/Claude Code 等 Agent 是否能稳定、安全地通过 CLI 访问 Alpha 业务数据。\n\n- CLI 命令能访问 Web 应用 API\n- Codex 能通过 Skill 理解该怎么调用 CLI\n- 登录、诊断、业务查询形成最小闭环\n- 默认环境是 `prod`，也可以通过 `env use` 在预设环境间切换\n\n## 安装依赖\n\n```bash\nnpm install\n```\n\n## 构建\n\n```bash\nnpm run build\n```\n\n默认构建生产环境产物；本地调试也保留按环境构建的脚本：\n\n```bash\nnpm run build:local\nnpm run build:dev\nnpm run build:test\nnpm run build:prod\n```\n\n## 发布到 npm\n\n正式发布会使用 `build:prod`，避免把 dev 环境固化进 npm 包。\n\n```bash\nnpm run release:dry-run\nnpm run release:patch\n```\n\n- `release:dry-run`：执行类型检查、测试、生产环境构建和 `npm pack --dry-run`，只检查发包内容，不发布。\n- `release:patch`：先确认 npm 登录用户，再完成发布前检查、自动升级补丁版本、重新生产构建并发布到公开 npm 仓库。\n- 如果 npm 要求 OTP，命令后追加参数即可，例如 `npm run release:patch -- --otp=123456`。\n\n默认 prod 环境：\n\n```text\nbaseUrl/apiBaseUrl: https://alphalawyer.cn\ncurrent user API: GET /im/v1/users/me\nauth header: token: <token>\ndevice header: deviceType: ai\n```\n\n## 运行\n\n项目已配置 bin：\n\n```bash\nalpha-classic-cli version\nalpha-classic-cli env list\nalpha-classic-cli env current\nalpha-classic-cli env use test\nalpha-classic-cli env use prod\nalpha-classic-cli login\nalpha-classic-cli doctor\nalpha-classic-cli matter search --keyword 合同 --limit 10\nalpha-classic-cli matter search --status 进行中+预立项 --scope 所有项目 --limit 10\nalpha-classic-cli matter types --keyword 诉讼 --limit 20\nalpha-classic-cli matter search --matter-type-ids <项目类型ID> --service-start-from 2026-01-01 --service-start-to 2026-12-31 --limit 10\nalpha-classic-cli matter detail --id <项目ID> --logs 5\nalpha-classic-cli task list --matter-id <项目ID> --state 未完成 --limit 20\nalpha-classic-cli task mine --keyword <关键词> --state 未完成 --limit 20\nalpha-classic-cli task mine --range-from 2026-06-01 --range-to 2026-06-30 --state all --limit 20\nalpha-classic-cli task pending --range this-week --state 未完成 --order-direction asc --limit 50\nalpha-classic-cli task worktypes --matter-id <项目ID>\nalpha-classic-cli task assignees --matter-id <项目ID>\nalpha-classic-cli task assignees --matter-id <项目ID> --work-type-id <工作类型ID>\nalpha-classic-cli task create --name <任务名称> --matter-id <项目ID> --due-time 2026-06-30\nalpha-classic-cli task detail --id <任务ID> --comments 10\nalpha-classic-cli task subtasks --id <任务ID> --state all --limit 20\nalpha-classic-cli task update-detail --id <任务ID> --detail <任务详情>\nalpha-classic-cli task complete --id <任务ID>\nalpha-classic-cli task uncomplete --id <任务ID>\nalpha-classic-cli task assignee set --id <任务ID> --user-ids <用户ID1,用户ID2>\nalpha-classic-cli task comment add --task-id <任务ID> --content <评论内容>\nalpha-classic-cli task comment delete --id <评论ID>\nalpha-classic-cli task checkitem add --task-id <任务ID> --item <检查项内容>\nalpha-classic-cli task checkitem delete --id <检查项ID> --task-id <任务ID>\nalpha-classic-cli task checkitem complete --id <检查项ID> --task-id <任务ID>\nalpha-classic-cli task checkitem uncomplete --id <检查项ID> --task-id <任务ID>\nalpha-classic-cli timing list --range this-month --approve-state all --limit 50\nalpha-classic-cli timing matters --keyword 合同 --limit 20\nalpha-classic-cli timing worktypes --matter-id <项目ID> --limit 50\nalpha-classic-cli timing tasks --matter-id <项目ID> --keyword <关键词> --limit 20\nalpha-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>\nalpha-classic-cli user list --status 在职 --account-type A,B --phone <手机号> --keyword <姓名或用户名> --limit 20\nalpha-classic-cli user ranks --keyword <职级名> --limit 20\nalpha-classic-cli user managers --keyword <姓名或用户名> --limit 20\nalpha-classic-cli user departments --keyword <部门名> --limit 20\nalpha-classic-cli appro list --scope my --limit 10\nalpha-classic-cli appro initiators --keyword 张三\nalpha-classic-cli appro detail --id <审批ID>\n```\n\n`env use <local|dev|test|prod>` 会写入本地配置并清空旧登录态，切换后需要重新执行 `alpha-classic-cli login`。\n\n源码调试时也可以使用：\n\n```bash\nnpm run dev -- doctor\n```\n\n## 登录\n\n默认使用 CLI 设备授权登录：\n\n```bash\nalpha-classic-cli login\n```\n\nCLI 会创建授权、展示 user code 和二维码，并尝试自动打开浏览器。用户在前端确认后，CLI 保存本地 session。最终输出始终是 JSON envelope，且不会输出 token 或 refreshToken。\n\nAgent 异步登录建议使用两阶段流程：\n\n```bash\nalpha-classic-cli login --no-wait --json\n```\n\n把返回的 `data.verification_url` 原样交给用户打开确认。用户确认后执行：\n\n```bash\nalpha-classic-cli login --device-code <device_code>\n```\n\n调试场景暂时保留手动 token fallback：\n\n```bash\nalpha-classic-cli login --token <token>\n```\n\n不要把 token 或 refreshToken 写入回答、日志或 URL。\n\n## 安装智能体说明\n\n```bash\nalpha-classic-cli install\n```\n\n默认安装 Codex Skill：\n\n```text\n~/.codex/skills/alpha-classic/SKILL.md\n```\n\n用户也可以选择安装目标：\n\n```bash\nalpha-classic-cli install --agent codex\nalpha-classic-cli install --agent claude\nalpha-classic-cli install --agent alphaclaw\nalpha-classic-cli install --agent all\n```\n\n卸载智能体说明：\n\n```bash\nalpha-classic-cli uninstall --agent codex\nalpha-classic-cli uninstall --agent claude\nalpha-classic-cli uninstall --agent alphaclaw\nalpha-classic-cli uninstall --agent all\n```\n\nAlpha-claw 安装方式会写入所有已经存在的 AlphaClaw workspace，不会主动创建未安装的环境目录：\n\n```text\n~/.openclaw-devalphaclaw/workspace/skills/alpha-classic/SKILL.md\n~/.openclaw-testalphaclaw/workspace/skills/alpha-classic/SKILL.md\n~/.openclaw-alphaclaw/workspace/skills/alpha-classic/SKILL.md\n```\n\nClaude Code 安装方式：\n\n```text\n~/.claude/alpha-classic-cli.md\n```\n\n并在用户级：\n\n```text\n~/.claude/CLAUDE.md\n```\n\n追加 import：\n\n```text\n@~/.claude/alpha-classic-cli.md\n```\n\nSkill 会引导智能体优先使用稳定 CLI 命令，例如：\n\n```bash\nalpha-classic-cli doctor\nalpha-classic-cli login\nalpha-classic-cli version\nalpha-classic-cli matter search --keyword 合同 --limit 10\nalpha-classic-cli matter types --keyword 诉讼 --limit 20\nalpha-classic-cli matter detail --id <项目ID> --logs 5\nalpha-classic-cli task list --matter-id <项目ID> --state 未完成 --limit 20\nalpha-classic-cli task mine --keyword <关键词> --state 未完成 --limit 20\nalpha-classic-cli task mine --range-from 2026-06-01 --range-to 2026-06-30 --state all --limit 20\nalpha-classic-cli task pending --range this-week --state 未完成 --order-direction asc --limit 50\nalpha-classic-cli task detail --id <任务ID> --comments 10\nalpha-classic-cli task subtasks --id <任务ID> --state all --limit 20\nalpha-classic-cli timing list --range this-month --approve-state all --limit 50\nalpha-classic-cli timing create --name <工作描述> --work-date 2026-06-12 --start-time 09:00 --end-time 10:30\nalpha-classic-cli finance overview\nalpha-classic-cli finance departments --keyword <部门名> --limit 20\nalpha-classic-cli finance summary --matter-id <项目ID>\nalpha-classic-cli finance contract list --matter-id <项目ID> --limit 20\nalpha-classic-cli finance invoice list --matter-id <项目ID> --limit 20\nalpha-classic-cli finance income list --matter-id <项目ID> --limit 20\nalpha-classic-cli finance expense list --matter-id <项目ID> --limit 20\nalpha-classic-cli finance bill list --matter-id <项目ID> --limit 20\nalpha-classic-cli finance reimburse list --matter-id <项目ID> --limit 20\nalpha-classic-cli user list --status 在职 --keyword <姓名或用户名> --limit 20\n```\n\n## 通用智能体对接\n\n通用智能体优先读取仓库根目录：\n\n```text\nAGENTS.md\nCLAUDE.md\n```\n\n也可以通过命令发现 CLI 能力：\n\n```bash\nalpha-classic-cli capabilities\n```\n\n`capabilities` 输出机器可读 JSON，包含登录流程、环境规则、业务命令、参数和安全边界。\n\n## 当前接口\n\n当前默认调用：\n\n- `GET /im/v1/users/me`\n- `GET /matterserver/api/v1/customFields/dashboard/MATTER_LIST`\n- `POST /matterserver/api/v2/matter/search`\n- `GET /matterserver/api/v2/matters/{matterId}`\n- `GET /notice/v1/dynamics/matters/{matterId}`\n- `GET /taskserver/api/v1/tasks/listTaskByMatter`\n- `GET /taskserver/api/v1/tasks/{taskId}`\n- `GET /taskserver/api/v1/checkitem/{taskId}`\n- `GET /taskserver/api/v1/tasks/attachment/{taskId}`\n- `GET /document-engine/api/v1/dir/list`\n- `GET /taskserver/api/v2/timing/timing/task/{taskId}`\n- `GET /ilaw/api/v2/comment/queryCommentsAndDynamic`\n- `GET /finance/api/integration/v1/statistics/matterOverview/{matterId}`\n- `GET /finance/api/integration/v1/matterFinance/contracts/{matterId}`\n- `GET /finance/api/integration/v1/matterFinance/invoices/Children/{matterId}`\n- `GET /finance/api/integration/v1/matterFinance/incomes/{matterId}`\n- `GET /finance/api/integration/v1/matterFinance/spends/{matterId}`\n- `GET /finance/api/integration/v1/matterFinance/bills/{matterId}`\n- `GET /finance/api/integration/v1/matterFinance/reimburse/{matterId}`\n- `POST /appro/api/v2/approval/search`\n- `GET /appro/api/v2/appros/{approId}`\n- `GET /common/api/v1/file/batch`\n- `GET /user/api/v1/users/listOfficeUser?deleted=0&status=1`\n\n接入真实 Web 应用时，优先修改：\n\n- `src/commands/matter.ts`\n- `src/commands/appro.ts`\n- `src/http/api-client.ts`\n- `src/config/environments.ts`\n\n## 设计原则\n\n- 默认输出 JSON envelope，方便 AI 解析。\n- 默认只支持查询；新建任务、任务详情、任务完成/取消完成、负责人、评论、检查项和新增计时写操作必须使用明确的 `task create`、`task update-detail`、`task complete`、`task uncomplete`/`task restart`、`task assignee set`/`task attendee set`、`task comment ...`、`task checkitem ...`、`timing create` 命令。\n- 不在终端输出 token。\n- 运行时只允许切换内置环境预设，不接受任意 baseUrl/apiBaseUrl 参数。\n- Skill 负责告诉 AI 什么时候用哪个命令。\n","readmeFilename":"README.md"}