ebee7d71b9
Created by Github action <!-- This is an auto-generated description by cubic. --> <a href="https://cubic.dev/pr/twentyhq/twenty/pull/22715?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. --> Co-authored-by: github-actions <github-actions@twenty.com>
131 lines
6.8 KiB
Plaintext
131 lines
6.8 KiB
Plaintext
---
|
||
title: CLI
|
||
description: yarn twenty 命令可用于执行函数、流式传输日志、管理应用安装以及切换远程。
|
||
icon: terminal
|
||
---
|
||
|
||
`yarn twenty` CLI 是与你的所有应用相关内容进行交互的接口。 完整命令列表:
|
||
|
||
| 命令 | 作用 | 记录于 |
|
||
| ----------------------------------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------- |
|
||
| `dev` | 监视源文件并实时同步更改 | [快速开始](/l/zh/developers/extend/apps/getting-started/quick-start) |
|
||
| `计划` | 在不应用变更的情况下预览元数据更改 | [同步与恢复](/l/zh/developers/extend/apps/operations/sync-and-recovery#previewing-changes-plan) |
|
||
| `应用` | 在显示计划后应用元数据更改 | [同步与恢复](/l/zh/developers/extend/apps/operations/sync-and-recovery) |
|
||
| `dev:build` | 编译应用并生成 API 客户端(使用 `--tarball` 打包为 `.tgz`) | [发布](/l/zh/developers/extend/apps/operations/publishing) |
|
||
| `dev:typecheck` | 运行 TypeScript 类型检查 | [测试](/l/zh/developers/extend/apps/operations/testing) |
|
||
| `dev:add` | 搭建一个新的实体脚手架 | [脚手架](/l/zh/developers/extend/apps/getting-started/scaffolding) |
|
||
| `dev:generate-client` | 重新生成类型化 API 客户端 | 本页面 |
|
||
| `dev:function:exec` / `dev:function:logs` | 执行函数并流式输出其日志 | 本页面 |
|
||
| `dev:translations-extract` | 将可翻译字符串提取到 `locales/` 目录中的目录文件中 | [翻译](/l/zh/developers/extend/apps/translations/overview) |
|
||
| `dev:catalog-sync` | 触发一次市场目录同步 | [发布](/l/zh/developers/extend/apps/operations/publishing#how-marketplace-discovery-works) |
|
||
| `app:publish` / `app:install` / `app:uninstall` | 发布生命周期 | [发布](/l/zh/developers/extend/apps/operations/publishing) 和本页面 |
|
||
| `docker:*` | 管理本地 Twenty 服务器容器 | [本地服务器](/l/zh/developers/extend/apps/getting-started/local-server) |
|
||
| `remote:*` | 管理服务器连接 | 本页面 |
|
||
|
||
每个命令都接受 `-r, --remote \<name>` 参数,以便针对特定远程目标而不是默认远程。
|
||
|
||
## 执行函数(`yarn twenty dev:function:exec`)
|
||
|
||
手动运行逻辑函数,而无需通过 HTTP、定时任务或数据库事件来触发:
|
||
|
||
```bash filename="Terminal"
|
||
# Execute by function name
|
||
yarn twenty dev:function:exec -n create-new-post-card
|
||
|
||
# Execute by universalIdentifier
|
||
yarn twenty dev:function:exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf
|
||
|
||
# Pass a JSON payload
|
||
yarn twenty dev:function:exec -n create-new-post-card -p '{"name": "Hello"}'
|
||
|
||
# Execute the install hooks
|
||
yarn twenty dev:function:exec --postInstall
|
||
yarn twenty dev:function:exec --preInstall
|
||
```
|
||
|
||
## 查看函数日志(`yarn twenty dev:function:logs`)
|
||
|
||
实时流式查看你的应用逻辑函数的执行日志:
|
||
|
||
```bash filename="Terminal"
|
||
# Stream all function logs
|
||
yarn twenty dev:function:logs
|
||
|
||
# Filter by function name
|
||
yarn twenty dev:function:logs -n create-new-post-card
|
||
|
||
# Filter by universalIdentifier
|
||
yarn twenty dev:function:logs -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf
|
||
```
|
||
|
||
<Note>
|
||
这与 `yarn twenty docker:logs` 不同,后者显示的是 Docker 容器日志。 `yarn twenty dev:function:logs` 会显示来自 Twenty 服务器的应用函数执行日志。
|
||
</Note>
|
||
|
||
## 生成类型化客户端(`yarn twenty dev:generate-client`)
|
||
|
||
根据当前远程的 schema 重新生成类型化 API 客户端(`twenty-client-sdk`),无需构建或同步应用。 在任何项目中使用它来获取一个类型化客户端——例如位于单独代码库中的后端服务——用于与您的 Twenty 实例通信:
|
||
|
||
```bash filename="Terminal"
|
||
# In your project (no Twenty app definition required)
|
||
yarn add twenty-sdk twenty-client-sdk
|
||
|
||
# Connect to the Twenty instance to generate the client from
|
||
yarn twenty remote:add
|
||
|
||
# Generate the typed client into node_modules/twenty-client-sdk
|
||
yarn twenty dev:generate-client
|
||
```
|
||
|
||
然后在代码中导入该客户端:
|
||
|
||
```typescript
|
||
import { CoreApiClient } from 'twenty-client-sdk/core';
|
||
```
|
||
|
||
每当数据模型发生更改时,请重新运行该命令,以刷新生成的类型。
|
||
|
||
<Note>
|
||
客户端是在 `node_modules` 中生成的,因此不会随代码一起提交。 每次安装后运行 `yarn twenty dev:generate-client`(例如在 `postinstall` 脚本或 CI 中)。
|
||
</Note>
|
||
|
||
## 卸载应用(`yarn twenty app:uninstall`)
|
||
|
||
将你的应用从活动工作区中移除:
|
||
|
||
```bash filename="Terminal"
|
||
yarn twenty app:uninstall
|
||
|
||
# Skip the confirmation prompt
|
||
yarn twenty app:uninstall --yes
|
||
```
|
||
|
||
## 管理远程
|
||
|
||
“远程”是指你的应用连接到的 Twenty 服务器。 在设置期间,脚手架工具会为你自动创建一个。 你可以随时添加更多远程或在它们之间切换。
|
||
|
||
```bash filename="Terminal"
|
||
# Add a new remote (opens a browser for OAuth login)
|
||
yarn twenty remote:add
|
||
|
||
# Connect to a local Twenty server (auto-detects port 2020 or 3000)
|
||
yarn twenty remote:add --local
|
||
|
||
# Add a remote non-interactively (useful for CI)
|
||
yarn twenty remote:add --url https://your-twenty-server.com --api-key $TWENTY_API_KEY --as my-remote
|
||
|
||
# List all configured remotes
|
||
yarn twenty remote:list
|
||
|
||
# Set the active remote
|
||
yarn twenty remote:use <name>
|
||
|
||
# Check that the active remote's authentication is still valid
|
||
yarn twenty remote:status
|
||
|
||
# Remove a remote
|
||
yarn twenty remote:remove <name>
|
||
```
|
||
|
||
你的凭据存储在 `~/.twenty/config.json` 中。
|