开始使用

命令总览

one 顶层命令、常用子命令、输出模式和 agent 自动化契约速查。

约 6 分钟3 天前更新在 GitHub 编辑

one cli 是一个单文件二进制。它负责创建 workspace、添加项目、管理环境变量 / endpoint profile、执行本地开发 / 容器 / 部署流程,并为 agent / CI 提供稳定的 JSON 输出。

适合读这页的人:刚装好 one cli 想知道有哪些命令;记不清某个 flag 的人;

读完会:知道每个公开命令的一句话用途、最小例子、常用子命令,以及该跳到哪一页继续看细节。

顶层命令速查

命令用途最小例子
one create创建新 workspaceone create my-app
one add交互式或从内置模板添加项目one add
one templates查看可用模板one templates
one env管理 workspace 的 dotenv / Infisical 环境变量one env list
one container查看、构建、推送 Dockerfile-driven 镜像one container info
one dev并行启动所有项目的本地开发进程one dev
one deploy按 project 派发 kustomize / S3-compatible / Vercel / Cloudflare / EdgeOne 部署one deploy --dry-run
one run注入项目 .env 后执行任意命令one run -- npm test
one configure配置机器级 endpoint profileone configure
one serve启动本地 Web UI 手工编辑敏感 profileone serve
one skills安装 / 刷新 bundled one-cli skillone skills install

创建 workspace

one create [dir] [--name <name>] [--env-provider dotenv|infisical] [--yes]

[dir] 是目标目录,不是项目名。默认项目名取 basename(dir);需要不同名字时传 --name。直接运行 one create 会交互式询问目标目录和可选项目名;不传 --env-provider 时默认使用 dotenv,需要 Infisical 就显式传 --env-provider infisical

详见 one create

添加项目

one add # 进入交互界面进行选择
one templates # 查看有哪些模板
one add <template-id> --name <project-name> [--deploy-provider <id>] [--yes] # 直接添加某个模板并且选择部署方式

第一次用时可以直接 one add,按交互式选择器选择模板分类、模板和项目名。需要明确命令时,先跑 one templates,把输出里的模板 ID 填到 one add <template-id> 位置。

API / SSR 模板通常启用 container/docker + deploy/kustomize; 静态前端模板通常启用 S3 兼容部署,支持多个S3 平台; 移动端、库、Electron 模板默认不参与 deploy / container。

详见 one add

模板

one templates
one templates -o json

one templates 会列出内置模板。agent / CI 建议使用 -o json 读取模板 ID、分类、toolchain 和兼容 backend。

详见 one templates

环境变量

one env get <KEY> [--env <env>] [-p <name|path>]
one env set <KEY[=VALUE]> [VALUE] [--env <env>] [-p <name|path>]
one env list [--env <env>] [-p <name|path>]
one env pull [--env <env>] [-p <name|path>] [--force] [--dry-run]

one env 操作 workspace 当前选择的 env 后端。dotenv 读写本地 .env overlay;infisical 支持远端 get / set / list / pull。--env 选择 dev / staging / prod 等环境;-p / --project 可按 manifest 里的项目名或相对路径选项目。

详见 one env

机器级 profile

one configure
one configure add
one configure add <pair> --profile <name> [backend flags...] [--use]
one configure list [pair]
one configure current [pair]
one configure show <pair> --profile <name> [--reveal]
one configure use <pair> --profile <name>
one configure remove <pair> --profile <name>
one configure locale [auto|zh-CN|en-US]

configure 是机器级 endpoint / 凭据入口。无参 one configureone configure add 会打开交互式向导;非交互脚本应显式传 <pair>--profile。一次配置到自己的电脑上,后续可以复用

支持的 <pair>

domainbackend
envinfisical
containerdocker
containerdockerhub, ghcr, acr
deployaliyun-oss, tencent-cos, aws-s3, minio, rustfs, r2
deploykustomize, vercel, cloudflare, edgeone

env/dotenv 是 workspace 的本地 .env 后端,不需要机器级 profile。 profile 写到 ~/.config/one/config.json~/.config/one/credentials.json。敏感字段默认掩码,只有 show --reveal 会显示明文。 添加的时候推荐使用 one serve 进行 token 的配置,防止 token 给 ai 以后泄漏

交互模式速查

命令交互模式
one create有;无参时询问目标目录和可选项目名
one add有;无参时选择模板分类、模板、项目名,必要时选择 deploy 后端
one configure有;无参或 one configure add 进入 profile 配置向导
one skills install有;无参时多选要安装到哪些 agent
one env set半交互;遇到未知环境或覆盖已有值时会确认,脚本用 --yes
one container build半交互;TTY 下缺少构建版本时可选择版本,CI 用 --build-version
one deploy半交互;kustomize 缺少构建版本或 Cloudflare 缺 profile 时可能询问,CI 用显式参数
one templates / one dev / one run无交互式向导;通过参数控制行为
one serve不是终端向导;它打开本地 Web UI 让人手工编辑敏感 profile

本地 Web UI

one serve [--host 127.0.0.1] [--port 0] [--open=false]

启动仅绑定 loopback 的本地 HTTP 服务,用浏览器手工编辑 env / deploy / container profile。这个入口会处理 API key、kubeconfig path、registry token 等敏感字段,设计上是给人类使用,不给 AI agent 直接读写凭据。

详见 one serve

容器

one container info
one container build [subproject] [-p <name|path>] [--build-version <version>] [--dry-run] [--profile <name>]
one container push  [subproject] [-p <name|path>] [--build-version <version>] [--dry-run] [--profile <name>]

one container 读取每个项目的 Dockerfile 和 manifest 里的 container 配置。裸 build 默认本地构建 <workload>:<version>;传 --profile 或 manifest pin 了 registry profile 时,会使用 registry-qualified tag 并执行登录。push 需要 registry profile,必要时会把本地镜像 retag 后推送。

本地开发

one dev [-p <name|path>] [--dry-run]

读取 one.manifest.json 里每个项目的 domains.dev.command,用内置 supervisor 并行启动所有 dev 进程(无需安装第三方 runner)。-p / --project 只启动一个项目;--dry-run 只打印每个项目的命令。

部署

one deploy [-p <name|path>] [--profile <name>] [--env <env>] [--env-provider dotenv|infisical] [--build-version <version>] [--dry-run]

deploy 按 project 派发到 manifest 声明的 deploy backend。后端 / SSR 项目通常走 kustomize;静态前端可走 S3 兼容后端(Aliyun OSS / Tencent COS / AWS S3 / MinIO / RustFS / R2);前端托管可走 Vercel / Cloudflare / EdgeOne。

--env <name> 一次性覆盖目标环境;--dry-run 打印 docker / kubectl / s3 / platform CLI 计划,不触碰远端。

注入环境变量后运行

one run [-p <name|path>] [--env-provider dotenv|infisical] [--env <env>] -- <command> [args...]

子进程总是在解析出的项目目录里执行。默认从 workspace manifest 读取 env provider,也可以用 --env-provider 强制走 dotenv 或 Infisical。

Agent skills

one skills install # 通过交互选择要给哪些ai安装skills
one skills install --yes
one skills install --agent claude-code # 给指定 ai安装 skills

安装 / 刷新 bundled one-cli skill 到本机检测到的 coding agent。当前 bundled skill:

skill用途
one-cli新建 workspace、追加模板项目、补依赖、查命令 / JSON / 错误码

详见 安装 Skill 到 Agent

输出模式

每个命令都支持同一组通用输出参数:

触发条件模式
-o json--output json强制 JSON,2-space pretty-print
-o yaml--output yaml强制 YAML,与 JSON 同 schema
-o text--output text强制人类格式
默认 + pipe / 非 TTYJSON
默认 + TTY彩色人类格式

直接打 one templates 会看到终端友好的输出; agent / CI 通过 pipe 读取时默认拿 JSON。 脚本里仍建议显式写 -o json,避免执行环境变化影响解析。

元命令

one --version
one --help
one <command> --help

one --help 只展示顶层命令;具体 flag 以 one <command> --help 为准。想看错误码请读 错误码大全