# AIPROS Lite Skill 管理模板

这是面向交付/演示的最小可运行版本：客户改品牌名后，可以部署成自己的 Skill 管理平台。

## 已保留的交付链路

- 上传：`.md / .txt / .zip` 上传到 R2，并绑定到流程架构节点。
- 创建：AI 创建面板通过 AgentRun 生成标准 Skill 包，再走上传链路。
- 展示：全量 Skill、我的 Skill、编辑页、状态管理。
- 下载：Skill 包从 R2 下载，并记录下载热度。
- 调用：已上线 Skill 可创建 API Key，并通过 `/v1/skills/:id/invoke` 调用。
- 管理：用户、流程架构、API Key、智能体/运行时配置。
- 运营：一张运营排行表查看领域热点、SKU 热点、API 活跃排行。

## 品牌配置

改 [src/productConfig.js](src/productConfig.js)：

```js
export const PRODUCT = {
  name: '客户产品名',
  fullName: '客户产品名 · Skill 管理平台',
  shortName: '客户名',
  subtitle: '客户自己的副标题',
  logoAccent: 'S',
}
```

## 本地运行

```bash
npm install
cp .env.example .env
cd cf-worker
npm install
cp .env.example .env
npm run init-db
npm run dev
```

另开一个终端：

```bash
npm run dev
```

前端默认是 `http://localhost:5180`，Vite 会把 `/api` 转发到本地后端 `http://127.0.0.1:4000`。

## Cloudflare 部署

后端使用 Cloudflare Workers + D1 + R2，入口是 [cf-worker/src/cloudflare-lite.js](cf-worker/src/cloudflare-lite.js)。

1. 创建 D1：

```bash
cd cf-worker
npx wrangler d1 create aipro-skill-db
```

把输出里的 `database_id` 写回 [cf-worker/wrangler.toml](cf-worker/wrangler.toml)。

2. 创建 R2：

```bash
npx wrangler r2 bucket create aipro-skill-pkg
```

3. 执行数据库迁移：

```bash
npx wrangler d1 migrations apply aipro-skill-db --remote
```

4. 部署 Worker：

```bash
npx wrangler deploy
```

5. 部署前端到 Cloudflare Pages：

```bash
npm install
npm run build
```

Pages 构建配置：

- Build command: `npm run build`
- Build output directory: `dist`
- Environment variables:
  - `VITE_API_BASE=https://<your-worker-domain>/api`
  - `VITE_PUBLIC_BASE_URL=https://<your-worker-domain>`

部署后，把 Pages 域名写入 [cf-worker/wrangler.toml](cf-worker/wrangler.toml) 的 `ALLOW_ORIGINS`，再执行一次 `npx wrangler deploy`。

## AgentRun 配置

Cloudflare 线上默认使用远端 AgentRun 公网集成 URL，不执行本机 CLI；本地 Codex/Qoder 等 CLI 运行时配置会保留，适合本地 Node 后端或私有服务器环境测试。上线后用超级管理员登录，进入“智能体配置”：

- 运行时：选择 AgentRun。
- 填写公网集成 URL。
- 填写调用凭证。
- 启用并设为当前运行时。

配置完成后，AI 创建、评测、运行和 API 调用都会走同一个 AgentRun 运行时。

## 状态口径

交付版只保留三个主状态：

- `draft`：草稿
- `published`：已上线
- `archived`：已下线

API Key 只能为 `published` Skill 创建。
