Metadata-Version: 2.4
Name: licos-dev-cli
Version: 0.6.1
Summary: LICOS Dev CLI - generate files and call model capabilities
Requires-Python: >=3.10
Requires-Dist: click>=8.1
Requires-Dist: licos-dev-sdk>=0.6.1
Description-Content-Type: text/markdown

# licos-dev CLI

## 身份选择（0.6.0 起）

`LICOS_CURRENT_USER_ID` 表示容器启动时配置的执行用户，不代表网页登录者。模型目录、LLM、视觉、图片生成、视频生成、语音识别和 `credit-check` 命令支持以下身份选项：

| 选项 | 调用身份 |
| --- | --- |
| `--identity user`（默认） | 用 `LICOS_CURRENT_USER_ID` 和运行时服务凭证换取执行用户 Token |
| `--identity project` | 使用运行时配置的项目所有者身份，不要求 `LICOS_CURRENT_USER_ID` |
| `--token-stdin` | 优先使用标准输入传入的本次用户 Token，不再按容器用户换 Token；不能与 `--identity project` 同时使用 |

用户标识、名称和企业信息来自平台认证结果。项目所有者、工作空间等资源归属字段单独保留；模型实际计费上下文以平台模型详情接口签发的签名为准。

```bash
licos-dev credit-check --identity project
licos-dev model-catalog --identity user
```

HTTP 服务代表网页登录用户调用这些命令时，必须从本次认证会话取得 Token，通过 `--token-stdin` 写入子进程标准输入，不含 `Bearer ` 前缀。例如在 Python 服务中：

```python
import subprocess

# token 来自本次请求的认证会话。
result = subprocess.run(
    ["licos-dev", "credit-check", "--token-stdin"],
    input=token,
    text=True,
    capture_output=True,
    check=True,
)
```

以网页登录用户执行的业务入口缺少 Token 时应返回登录错误；不能依赖容器默认用户，也不能把请求 Token 或用户 ID 写入共享环境变量。默认用户模式缺少 `LICOS_CURRENT_USER_ID`、标准输入为空或显式 Token 鉴权失败时均返回非零退出码，不切换身份。Token 失效由调用方更新登录凭证后重新调用。

文档、图片排版等本地文件工具不需要用户身份选项。

直接使用 `licos-dev-sdk` 时，模型和积分接口默认是项目身份；需要按用户执行时传 `user_token`。CLI 的默认 `--identity user` 仅适用于独立命令行调用。
