makea-cli
给 Makea 内部同事用的命令行小工具:连的是线上正式环境,装好就能用,不用配环境变量、不用改配置文件。
第一次用时在浏览器里登录一次公司账号,之后在本机保存登录状态,即可查询用户、供应商等(具体能执行哪些命令取决于你的账号权限)。
怎么用(三步)
- 安装(本机需要已安装 Python 3.10 或以上)
- 从本仓库安装(开发 / 内网 clone): 在
makea-cli/目录执行
python3 -m pip install -e .
若提示找不到python3,可改用python。 - 不经过 GitHub: 把本包的 Python 发行版发布到公司私有 PyPI / Artifact Registry 等,同事执行
python3 -m pip install makea-cli(或pipx install makea-cli)即可;无需 clone 仓库。 - 可选 — 用 npm 只占一个全局命令名: 仓库里
npm/makea-cli/是一个 薄封装,npm install -g后会把makea-cli指到python3 -m makea_cli;仍需在同一台机器上先用pip装好同名 Python 包(npm 不会替你安装 Python 依赖)。适合已经用 npm 管理全局工具的团队。
- 登录(只需做一次,或过期后再做)
makea-cli auth
会自动打开浏览器,按公司流程登录即可。完成后可以关掉浏览器标签页。 3. 执行功能(示例)
makea-cli list-users
makea-cli list-suppliers
makea-cli list-product-orders
makea-cli list-sampling-orders-by-product <product_reference_id>
makea-cli list-production-orders-by-product <product_reference_id>
从「产品订单」JSON 下载附件: list-product-orders 返回的每条 result 里已有 user_id 和 available_documents(含 document_id、admin_user_id 等),一般 不必再调单独的 document metadata API。可直接:
若只有 product_reference_id,可用(建议加上设计师 user_id 避免扫全库):
更多子命令与参数:
退出登录(清除本机保存的令牌):
makea-cli auth --logout
登录信息保存在哪
保存在本机当前用户下的应用数据目录里(例如 macOS 常见为 ~/Library/Application Support/makea-cli/,Linux 常见为 ~/.config/makea-cli/),文件名类似 credentials.json。一般不用手动打开。
给技术同事:可选环境变量
日常同事 不需要 看本节。只有要连 非线上 或 自建环境 时,才用环境变量覆盖内置地址(默认值在 makea_cli/config.py 里):
| 变量 | 说明 |
|---|---|
MAKEA_API_BASE_URL |
API 根地址(无末尾 /) |
MAKEA_COGNITO_DOMAIN |
Cognito Hosted UI 的主机名(不要写 https://) |
MAKEA_COGNITO_CLIENT_ID |
Cognito 应用客户端 ID |
MAKEA_REDIRECT_URI |
OAuth 回调地址,默认 http://127.0.0.1:8250/callback |
命令一览
makea-cli auth— 浏览器登录并保存令牌makea-cli auth --logout— 清除本机令牌makea-cli list-users— 列出用户(需管理员权限)makea-cli create-user <email> --user-type "<type>" [--password ...] [--name ...] [--company-name ...] [--username ...]— 注册用户并直接确认 Cognito 账号(POST/admin/users/create,不发验证码邮件,创建后即可用该密码登录)makea-cli list-suppliers— 列出供应商(需管理员权限)makea-cli create-quote-request -s <supplier_id> -p <product_reference_id> [--quote-type SAMPLING|PRODUCTION] [--message ...] [--due-date YYYY-MM-DD]— 创建并发送 quote request(POST/admin/supplier/create_quote_request)makea-cli get-quote-requests-by-supplier-id <supplier_id> [--status <status>] [-n <limit>]— 直连后端按 supplier_id 查询 quote requestsmakea-cli get-supplier-links-by-supplier-id <supplier_id> [--link-type SAMPLING|PRODUCTION]— 直连后端按 supplier_id 查询 supplier linksmakea-cli submit-supplier-quote <quote_request_id> --link-name ... --currency ... --sampling-price-amount ... --sampling-price-valid-until ... --production-price-tiers-json ... --sample-lead-time ... --lead-time ... --deliverables-json ... --customer-note ...— 以供应商身份向指定 quote request 新增 quote(完整参数说明见--help)makea-cli list-product-orders— 列出所有设计师产品订单(GET/admin/designer/get_all_product_orders)makea-cli list-sampling-orders-by-product <id>— 按产品 reference id 列打样单makea-cli list-production-orders-by-product <id>— 按产品 reference id 列大货单makea-cli download-document <document_id> -u <user_id>— 下载单个文件(GET/admin/document/download)makea-cli download-product-document <product_reference_id> <document_id> -d <designer_user_id>— 按产品行 + 文档 id 下载(内部用订单列表 JSON,不额外查 metadata)makea-cli upload-product-document -u <designer_user_id> -p <product_id> -f <path>— 通用产品文档上传(不限 quote 流程):上传到 AWS S3 并挂到产品(POST/admin/designer/upload_document),返回 document domain 元数据供其它命令使用makea-cli upload-supplier-document -s <supplier_id> -f <path>— 上传 supplier 文档到 AWS S3(POST/admin/supplier/upload_document),返回 document domain 元数据makea-cli upload-sampling-order-document <sampling_order_id> -f <path>— 上传 sampling order 文档到 AWS S3(POST/admin/sampling_orders/{id}/documents),返回 document domain 元数据makea-cli upload-production-order-document <production_order_id> -f <path>— 上传到 AWS S3 并挂到 production order(POST/admin/production_orders/{id}/documents),返回 document domain 元数据makea-cli upload-production-progress-document <production_order_id> <progress_id> -f <path>— 上传 production progress 文档到 AWS S3(POST/admin/production_orders/{id}/progress/{progress_id}/upload),返回 document domain 元数据makea-cli upload-financial-documents <product_id> -f <path1> -f <path2>— 上传一个或多个 financial documents(POST/admin/products/{product_id}/financial_documents),返回 financial document 元数据makea-cli upload-link-document -f <path>— 上传文件到 AWS S3(POST/admin/upload_link_document),返回 document domain 元数据(可作为其它命令的 document 输入)makea-cli backfill-supplier-id --user-id <cognito_sub> --old-supplier-id <wrong_uuid>— 供应商supplier_id迁到 Cognitosub(默认 dry-run,加--apply才写入;详见makea-cli backfill-supplier-id --help)makea-cli version— 打印版本号
Claude / Cursor skills(可选)
仓库内 .claude/skills/ 下放有面向 agent 的操作说明,例如:
supplier-user-id-migration— 供应商 ID 与 Cognito sub 对齐、与backfill-supplier-id配套
Metadata
Release files for makea-cli 0.1.19
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| makea_cli-0.1.19.tar.gz | 67.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| makea_cli-0.1.19-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 121.6 kB
Release files / makea_cli-0.1.19.tar.gz
| Download URL | makea_cli-0.1.19.tar.gz |
|---|---|
| Size | 67.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aeacd4ca35418569397429ca5ea3c541e6e1aa96ef9f8ecf070b7b38af64befe
|
|
BLAKE2b-256 checksum How to use checksums |
a9b63e6a17ceba80d9adbc713525c5a8d28f3463e8b482b337aba16b28a5bd5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / makea_cli-0.1.19-py3-none-any.whl
| Download URL | makea_cli-0.1.19-py3-none-any.whl |
|---|---|
| Size | 53.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b306c67586c5e44cb1b5d0e40bbbe1d871004de445863dca6cbfa7383284cfc8
|
|
BLAKE2b-256 checksum How to use checksums |
e3f684b5b592ac7e3f8c4a336767e89d1031bba18ecce08d0f3822cb0af2b3a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|