APso 语录
定义一个计划。 获取一个生产API。 保持密码.
Apso从一个JSON schema文件生成生产准备后端服务. 获得你拥有的真正框架代码(NestJS, FastAPI, 或 Gin),在任何地方运行,并与标准模式相延伸. 完整文件见 Apso 文档。 。 。 .
安装
土生土长 (macOS / Linux) (英语)
brew install apsoai/tap/apso
# Installed before Homebrew 6? Trust the formula so upgrades work:
# brew trust --formula apsoai/tap/apso
无
npm install -g @apso/cli
需要18.0或更高的节点.
MCP 服务器( AI 编辑器集成)
Apso在Claude Code,Cursor,Windsurf以及其他MCP相容编辑器内部担任MCP服务器. 您的AI助手可以设计出计划,生成API,并通过对话部署后端.
克劳德代码
claude mcp add apso -- apso mcp serve
光标 / VS 代码 / 其他编辑器
添加到您的 MCP 配置 :
{
"mcpServers": {
"apso": {
"command": "apso",
"args": ["mcp", "serve"]
}
}
}
可用工具 :
| 工具 | 说明 |
|---|---|
design_schema | 根据应用程序要求设计数据库计划 |
validate_schema | 验证 a .apsorc 计划文件 |
scaffold_api | 从 schema( TypeScript, Python, 或 Go) 生成 API 代码 |
setup_auth | 配置认证 (BetterAuth, Auth0, 办事员, 认知, API 密钥) |
start_dev_server | 通过 Docker 编译启动本地 Dev 环境 |
deploy_api | 部署到Apso平台 |
Schema 编辑工具 (从) @apso/schema-tools() 更改项目 .apsorc 一步一步来. 每篇书写都有规则 apso generate 执行; 拒绝添加一连串错误的更改, 文件按原样保留 .
| 工具 | 说明 |
|---|---|
get_schema, (中文(简体) ), describe_entity | 读取计划大纲, 或一个实体及其关系 |
add_entity, (中文(简体) ), rename_entity, (中文(简体) ), remove_entity | 实体(关系和外国关键指数按重名和去除) |
add_field, (中文(简体) ), update_field, (中文(简体) ), rename_field, (中文(简体) ), remove_field | 字段( 索引和独有性在重命名和去除之后) |
add_relationship, (中文(简体) ), remove_relationship | 关系 |
add_index | 索引或独有索引 |
lint_schema | 林特报告 |
现有资源:
| 资源 | URI 资源 | 说明 |
|---|---|---|
| 图表参考 | apso://schema-guide | Schema 设计指南和实例 |
| 当前方案 | apso://current-schema | 您的项目是当前 .apsorc |
连接
认证 Apso 平台 :
apso login
这将打开 OAuth 认证的浏览器窗口 。 对于 CI/CD 环境,使用符号:
apso login --token <api-token>
快开始
# Create a new project
apso init --name my-app --language typescript
# Edit .apsorc to define your schema
# Generate code from schema
apso generate
# Start Postgres and run the API
apso dev
你的API在现场直播 http://localhost:3000 与 Swagger 的文档在 /api。生成的代码存在于 src/autogen/ ,是标准 NestJS 有 TypeORM - 没有 APso 运行时依赖性 .
图标
| 命令 | 子命令 | 说明 |
|---|---|---|
| 输入 | 创建新工程 | |
| 生成 | 生成代码从 .apsorc 计划 | |
| 备忘 | 通过 Docker 编译启动本地 dev 服务器 | |
| 移徙 | 使用 PGlite 进行本地迁移测试 | |
| 部署 | 部署到 Apso 平台 | |
| 登录 | 使用 Apso 认证 | |
| 登录 | 清除存储的证书 | |
| 华美 | 显示当前用户 | |
| 链接 | 将项目链接到平台服务 | |
| 取消链接 | 删除平台链接 | |
| 状态 | 显示服务和构建状态 | |
| 日志 | 查看构建日志 | |
| 打开 | 在浏览器中打开服务仪表板 | |
| 项目 | 在工作空间中列出服务 | |
| 配置 | get, (中文(简体) ), set, (中文(简体) ), reset | 查看或修改 CLI 配置 |
| 计划 | diff, (中文(简体) ), push, (中文(简体) ), pull, (中文(简体) ), validate | 管理与平台同步的策略 |
| mcp 服务 | 为 AI 编辑器启动 MCP 服务器 |
命令参考
apso init
从语言特定模板创建一个新的 Apso 项目 .
apso init
apso init --name my-app --language typescript
apso init --name my-app --language python --skip-platform
| 选项 | 说明 | 默认 |
|---|---|---|
-n, --name | 项目名称 | (即时) |
-l, --language | 目标语言(typescript, (中文(简体) ), python, (中文(简体) ), go(中文(简体) ) | (即时) |
--skip-platform | 跳过平台链接( 离线模式) | false |
当认证时, apso init 允许您创建新工程或从平台上复制一个已有工程.
apso generate
从中生成后端代码 .apsorc 计划文件 .
apso generate
apso generate --language python
apso generate --skip-format
| 选项 | 说明 | 默认 |
|---|---|---|
-l, --language | 目标语言(typescript, (中文(简体) ), python, (中文(简体) ), go(中文(简体) ) | (从.apsorc或被诱使) |
--skip-format | 生成后跳过 Pretier 格式化 | false |
生成的文件被放置在 src/autogen/。这些文件在每次运行时都会被覆盖。 将自定义代码放入 src/extensions/ 以避免失去变化.
apso dev
使用 Docker Compose 启动本地开发服务器 .
apso dev
apso dev --build
apso dev --detach
| 选项 | 说明 | 默认 |
|---|---|---|
--build | 开始前重建图像 | false |
-d, --detach | 在背景中运行容器 | false |
需要多克和多克编曲。 寻找 docker-compose.yml 在当前目录中.
apso migrate
在不丢失数据的情况下, 写入迁移计划更改 . apso migrate 重新生成代码, 比较 .apsorc 与已部署的图解,并询问计划无法显示其意图的每一个变化:一个已丢失的字段重新命名或投放,一个字段如何分割,哪些取代已删除的图解值,现有行为一个新的需要的字段获得什么. 它然后从您的答案中写入迁移( TypeScript 的 TypeORM 迁移, Python 的 Alembic 修正, Go 的鹅文件) , 保存旁边的被解答计划, 并在本地 PGlite 副本中测试部署的 schema .
apso migrate --baseline deployed.apsorc # first time: the .apsorc that is deployed
apso migrate # later runs find the baseline from the last migration
apso migrate --answer field:Contact.phone=rename:mobilePhone
apso migrate --seed seed.sql --check checks.sql
在一个终端,它问每个问题。 没有一种(或 --json)它打印出 JSON 和 出站 2 的开放式问题,所以编码代理可以用 --answer 或进入 .apso/migration-plan.json 再来一次 同样的答案总是产生相同的SQL.
这些步骤也是单独的命令: apso migrate plan, (中文(简体) ), apso migrate generate 财务报告和审定财务报表 apso migrate verify。 。 。 . apso migrate sandbox 是空数据库上较旧的快照预览( e)--apply, (中文(简体) ), --reset, (中文(简体) ), --sql) (中文(简体) ).
apso deploy
将连接服务部署到Apso平台. 在部署前进行本地迁移检查.
apso deploy
apso deploy --yes
apso deploy --skip-migrate
apso deploy --no-wait
| 选项 | 说明 | 默认 |
|---|---|---|
-y, --yes | 跳过确认提示 | false |
--skip-migrate | 跳过本地迁移验证 | false |
--no-wait | 不等待完成的触发部署 | false |
如果检测到计划变化, apso deploy 显示迁移 SQL 并请求在程序前确认。 如果本地迁移失败,部署就会被阻止.
apso login
通过基于浏览器的 OAuth 或 API 令牌认证 Apso 平台 .
apso login
apso login --token <api-token>
| 选项 | 说明 |
|---|---|
-t, --token | 非交互登录的 API 令牌( CI/ CD) |
apso logout
清除存储的证书 .
apso logout
apso whoami
显示当前认证用户和链接项目的信息 .
apso whoami
apso link
将当前项目链接到平台服务.
apso link
apso link --workspace my-team --service my-api
apso link --force
| 选项 | 说明 |
|---|---|
-w, --workspace | 工作空间弹片 |
-s, --service | 服务弹片 |
-f, --force | 无需确认即可覆盖已存在的链接 |
apso unlink
删除当前工程和平台之间的联系.
apso unlink
apso status
显示当前服务和最新构建状态 .
apso status
apso logs
查看链接服务的构建日志 .
apso logs
apso logs <build-id>
apso open
在浏览器中打开服务仪表板或API端点.
apso open
apso projects
在工作空间列出服务 .
apso projects
apso config
查看或修改 CLI 配置 .
apso config # Show all settings
apso config get apiUrl # Get a specific value
apso config set verbose true # Set a value
apso config reset # Reset to defaults
配置密钥 :
| 密钥 | 类型 | 说明 |
|---|---|---|
apiUrl | 字符串 | 平台 API URL |
webUrl | 字符串 | 平台网页 URL |
verbose | 布尔 | 启用动词输出 |
noColor | 布尔 | 禁用彩色输出 |
telemetryDisabled | 布尔 | 从匿名遥测(或 apso config set telemetry off(中文(简体) ) |
defaultWorkspace | 字符串 | 默认工作空格 |
接受布尔值 true编号 :false 或者说 1编号 :0。 。 。 .
环境变量覆盖配置文件值 :
| 变量 | 覆盖 |
|---|---|
APSO_API_URL | apiUrl |
APSO_WEB_URL | webUrl |
APSO_DEBUG=true | verbose |
NO_COLOR 或者说 APSO_NO_COLOR=true | noColor |
APSO_TELEMETRY=0 编号 : DO_NOT_TRACK=1 | telemetryDisabled |
apso schema
管理本地同步计划 .apsorc 还有月台.
apso schema validate # Validate local schema
apso schema diff # Show diff between local and remote
apso schema push # Push local schema to platform
apso schema pull # Pull remote schema to local
全球备选方案
这些选项与任何命令配合 :
apso [command] --help # Show command help
apso [command] --version # Show CLI version
遥测和隐私
CLI发送匿名使用数据,以便我们可以看到使用哪些命令 相应地确定优先顺序。 它被选择退出,没有个人资料.
收集的内容: 命令名称( e)generate, (中文(简体) ), init, (中文(简体) ), deploy,...),CLI (中文(简体) )
版本,OS和架构,节点版本,命令持续时间和成功,以及
匿名安装 ID( 存储在您的 CLI 配置中的随机 UUID ) – 不从
从任何机器标识符). 如果你被登录,事件属性于您的
Apso账户,与网络应用程序相同.
从未收集到的: 您的源代码, 您的 .apsorc 或计划
内容,文件路径,环境可变值,或任何其他文件内容.
选择出去 其中任何一种方式:
apso config set telemetry off # persisted in your CLI config
export APSO_TELEMETRY=0 # per-shell
export DO_NOT_TRACK=1 # honors the consoledonottrack.com standard
首先运行 CLI 打印一次通知 指向这些选择退出.
见 docs/telemetry.md 详细情况 合计
公共下载数据(npm/PyPI)可通过下列途径获取: node scripts/usage-stats.mjs。 。 。 .
支持的语言
| 语言 | 框架 | 机构 | 状态 |
|---|---|---|---|
| 类型脚本 | 网点JS | 类型ORM | 稳定 |
| 蟒 | FastAPI 软件 | SQL 化学式 | 发展中 |
| 走开 | 银 | 戈兰 | 发展中 |
贡献
git clone https://github.com/apsoai/cli.git
cd cli
npm install
npm run build
从本地建筑运行命令 :
./bin/run generate
./bin/run migrate --sql
不断发展:
npm run build # Rebuild after changes
npm link # Make 'apso' command available globally
测试
npm run test # Run all tests
npm run test:watch # Watch mode
npm run test:cov # Coverage report
调试
env DEBUG=* ./bin/run generate
许可证
麻省理工学院