> ## Documentation Index
> Fetch the complete documentation index at: https://avala.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 快速开始

> 在 60 秒内启动并运行 Avala

<Tip>
  **前置条件：** 您需要一个 Avala 账户。[在 avala.ai 注册](https://avala.ai)或通过 SDK 以编程方式创建（见下文），然后在 **[设置 > 安全](https://avala.ai/settings?section=security)** 中创建 API 密钥。
</Tip>

<CodeGroup>
  ```bash Python theme={null}
  pip install avala
  ```

  ```bash TypeScript theme={null}
  npm install @avala-ai/sdk
  ```

  ```bash CLI theme={null}
  curl -fsSL https://avala.ai/install.sh | bash
  ```
</CodeGroup>

<CodeGroup>
  ```python Python theme={null}
  from avala import Client

  client = Client(api_key="avk_your_api_key")

  for dataset in client.datasets.list():
      print(dataset.name, dataset.item_count)
  ```

  ```typescript TypeScript theme={null}
  import Avala from "@avala-ai/sdk";

  const avala = new Avala({ apiKey: "avk_your_api_key" });

  const page = await avala.datasets.list();
  page.items.forEach(d => console.log(d.name, d.itemCount));
  ```

  ```bash CLI theme={null}
  export AVALA_API_KEY="avk_your_api_key"
  avala datasets list
  ```

  ```bash cURL theme={null}
  curl https://api.avala.ai/api/v1/datasets/ \
    -H "X-Avala-Api-Key: avk_your_api_key"
  ```
</CodeGroup>

就这样。以下是发生了什么以及您接下来可以做什么的逐步说明。

***

## 创建账户

您可以在 [avala.ai](https://avala.ai) 注册或以编程方式创建账户。SDK 的 `signup` 函数不需要 API 密钥——成功后会返回一个。

<CodeGroup>
  ```python Python theme={null}
  from avala import signup

  result = signup(email="dev@acme.com", password="SecurePass123!")
  print(f"API Key: {result.api_key}")
  ```

  ```typescript TypeScript theme={null}
  import { signup } from "@avala-ai/sdk";

  const result = await signup({ email: "dev@acme.com", password: "SecurePass123!" });
  console.log(`API Key: ${result.apiKey}`);
  ```

  ```bash cURL theme={null}
  curl -X POST https://api.avala.ai/api/v1/signup/ \
    -H "Content-Type: application/json" \
    -d '{"email": "dev@acme.com", "password": "SecurePass123!"}'
  ```
</CodeGroup>

***

## 获取 API 密钥

1. 登录 [Mission Control](https://avala.ai)。
2. 前往 **[设置 > 安全](https://avala.ai/settings?section=security)**。
3. 点击 **创建 API 密钥**，命名，选择权限范围，然后复制密钥。

<Warning>
  API 密钥仅在创建时显示一次。在关闭对话框前将其保存到安全的地方。
</Warning>

将其设置为环境变量，以便所有 SDK 和 CLI 自动使用：

```bash theme={null}
export AVALA_API_KEY="avk_your_api_key"
```

## 列出数据集

<CodeGroup>
  ```python Python theme={null}
  from avala import Client

  client = Client()  # 从环境变量读取 AVALA_API_KEY

  for dataset in client.datasets.list():
      print(f"{dataset.name} — {dataset.item_count} items")
  ```

  ```typescript TypeScript theme={null}
  import Avala from "@avala-ai/sdk";

  const avala = new Avala();  // 从环境变量读取 AVALA_API_KEY

  const page = await avala.datasets.list();
  for (const d of page.items) {
    console.log(`${d.name} — ${d.itemCount} items`);
  }
  ```

  ```bash CLI theme={null}
  avala datasets list
  ```

  ```bash cURL theme={null}
  curl https://api.avala.ai/api/v1/datasets/ \
    -H "X-Avala-Api-Key: $AVALA_API_KEY"
  ```
</CodeGroup>

## 列出项目

<CodeGroup>
  ```python Python theme={null}
  for project in client.projects.list():
      print(f"{project.name} ({project.status})")
  ```

  ```typescript TypeScript theme={null}
  const projects = await avala.projects.list();
  projects.items.forEach(p => console.log(`${p.name} (${p.status})`));
  ```

  ```bash CLI theme={null}
  avala projects list
  ```

  ```bash cURL theme={null}
  curl https://api.avala.ai/api/v1/projects/ \
    -H "X-Avala-Api-Key: $AVALA_API_KEY"
  ```
</CodeGroup>

## 创建导出

<CodeGroup>
  ```python Python theme={null}
  export = client.exports.create(project="proj_uid_here")
  print(f"Export {export.uid}: {export.status}")
  ```

  ```typescript TypeScript theme={null}
  const exp = await avala.exports.create({ project: "proj_uid_here" });
  console.log(`Export ${exp.uid}: ${exp.status}`);
  ```

  ```bash CLI theme={null}
  avala exports create --project proj_uid_here
  ```

  ```bash cURL theme={null}
  curl -X POST https://api.avala.ai/api/v1/exports/ \
    -H "X-Avala-Api-Key: $AVALA_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"project": "proj_uid_here"}'
  ```
</CodeGroup>

<Info>
  导出是异步运行的。使用 `client.exports.get(uid)` 轮询状态或使用 `avala exports get <uid>` 检查直到完成。
</Info>

## 检查速率限制使用情况

SDK 从每个响应中公开速率限制头信息：

<CodeGroup>
  ```python Python theme={null}
  info = client.rate_limit_info
  print(f"{info['remaining']}/{info['limit']} requests remaining")
  print(f"Resets at: {info['reset']}")
  ```

  ```typescript TypeScript theme={null}
  const info = avala.rateLimitInfo;
  console.log(`${info.remaining}/${info.limit} requests remaining`);
  ```
</CodeGroup>

## 下一步

<CardGroup cols={3}>
  <Card title="Python SDK" icon="python" href="/docs/zh/sdks/python">
    异步支持、分页、错误处理和完整类型提示。
  </Card>

  <Card title="TypeScript SDK" icon="js" href="/docs/zh/sdks/typescript">
    零依赖。适用于 Node.js、Deno 和 Bun。
  </Card>

  <Card title="CLI 参考" icon="terminal" href="/docs/zh/sdks/cli">
    从终端管理数据集、项目、导出和存储。
  </Card>
</CardGroup>

<CardGroup cols={3}>
  <Card title="Webhook" icon="bell" href="/docs/integrations/webhooks">
    接收数据集、导出和任务事件的实时通知。
  </Card>

  <Card title="MCP 服务器" icon="robot" href="/docs/integrations/mcp-setup">
    通过 AI 助手使用 Avala，支持 Claude、Cursor 和 VS Code。
  </Card>

  <Card title="API 参考" icon="square-terminal" href="/docs/api-reference/overview">
    完整的端点参考，包含请求和响应模式。
  </Card>
</CardGroup>
