General

![Frame 303](https://github.com/user-attachments/assets/01cf3bb2-650a-47a4-88b3-a63f961ae5e2) ![image](https://github.com/user-attachments/assets/77670023-4fab-4ac9-bbe1-c7ea36363e02)

<h1 align="center"> PeterCat</h1>

promptBeginner5 min to valuemarkdown
0 views
Feb 1, 2026

Sign in to like and favorite skills

Prompt Playground

1 Variables

Fill Variables

Preview

![Frame 303](https://github.com/user-attachments/assets/01cf3bb2-650a-47a4-88b3-a63f961ae5e2) ![image](https://github.com/user-attachments/assets/77670023-4fab-4ac9-bbe1-c7ea36363e02)

<h1 align="center"> [SUPABASE_SERVICE_KEY]eter[SUPABASE_SERVICE_KEY]at</h1>

<div  align="center">

<img src="https://gw.alipayobjects.com/zos/antfincdn/[SUPABASE_SERVICE_KEY]8sN%24GNdh6/language.svg" width="18"> 简体中文 | [[SUPABASE_SERVICE_KEY]nglish](./[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]DM[SUPABASE_SERVICE_KEY].en-[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY].md) | [日本語](./[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]DM[SUPABASE_SERVICE_KEY].ja-J[SUPABASE_SERVICE_KEY].md)

**专为社区维护者和开发者打造的智能答疑机器人解决方案。**

[![npm](https://img.shields.io/npm/dm/@petercatai/assistant.svg)](https://www.npmjs.com/package/@petercatai/assistant) [![[SUPABASE_SERVICE_KEY]ersion](https://img.shields.io/npm/v/petercat-lui/latest.svg)](https://www.npmjs.com/package/petercat-lui) [![DockerHub [SUPABASE_SERVICE_KEY]ersion](https://img.shields.io/docker/v/petercatai/petercat?logo=docker&logo[SUPABASE_SERVICE_KEY]olor=white)](https://hub.docker.com/r/petercatai/petercat) [![[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] Test [SUPABASE_SERVICE_KEY]tatus](https://github.com/petercat-ai/petercat/actions/workflows/pr-tests.yml/badge.svg)](https://github.com/petercat-ai/petercat/actions/workflows/pr-tests.yml) [![codecov](https://codecov.io/github/petercat-ai/petercat/graph/badge.svg?token=2H[SUPABASE_SERVICE_KEY]O18F[SUPABASE_SERVICE_KEY]6X)](https://codecov.io/github/petercat-ai/petercat) [![License](https://img.shields.io/badge/License-M[SUPABASE_SERVICE_KEY]T%40[SUPABASE_SERVICE_KEY]eter%20[SUPABASE_SERVICE_KEY]at-yellow.svg)](https://github.com/petercat-ai/petercat/blob/master/L[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]N[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY])

</div>

## 🏠 主页

[🐱 窝: petercat.ai](https://petercat.ai)

## ✨ 特性

我们提供对话式答疑 [SUPABASE_SERVICE_KEY]gent 配置系统、自托管部署方案和便捷的一体化应用 [SUPABASE_SERVICE_KEY]D[SUPABASE_SERVICE_KEY],让您能够为自己的 GitHub 仓库一键创建智能答疑机器人,并快速集成到各类官网或项目中, 为社区提供更高效的技术支持生态。

### 对话即创造

仅需要告知你的仓库地址或名称,[SUPABASE_SERVICE_KEY]eter[SUPABASE_SERVICE_KEY]at 即可自动完成创建机器人的全部流程

![对话即创造](https://mdn.alipayobjects.com/huamei[SUPABASE_SERVICE_KEY]j8gzmo/afts/img/[SUPABASE_SERVICE_KEY]*aQ9u[SUPABASE_SERVICE_KEY]oNZGe8[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]Dr[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]Q/original)

### 知识自动入库

机器人创建后,所有相关 Github 文档和 issue 将自动入库,作为机器人的知识依据

![知识自动入库](https://mdn.alipayobjects.com/huamei[SUPABASE_SERVICE_KEY]j8gzmo/afts/img/[SUPABASE_SERVICE_KEY]*hkkF[SUPABASE_SERVICE_KEY]a[SUPABASE_SERVICE_KEY]1[SUPABASE_SERVICE_KEY]qg[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]Dr[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]Q/original)

### 多平台集成

多种集成方式自由选择,如对话应用 [SUPABASE_SERVICE_KEY]D[SUPABASE_SERVICE_KEY] 集成至官网,Github [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] 一键安装至 Github 仓库等

| ![官网](https://mdn.alipayobjects.com/huamei[SUPABASE_SERVICE_KEY]j8gzmo/afts/img/[SUPABASE_SERVICE_KEY]*[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]w3Q[SUPABASE_SERVICE_KEY]gdJ44[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]Dr[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]Q/original) | ![GitHub](https://mdn.alipayobjects.com/huamei[SUPABASE_SERVICE_KEY]j8gzmo/afts/img/[SUPABASE_SERVICE_KEY]*jl[SUPABASE_SERVICE_KEY]z[SUPABASE_SERVICE_KEY]qlcp[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]Dr[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]Q/original) |
| :-: | :-: |

[完整演示视频](https://www.bilibili.com/video/[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]1[SUPABASE_SERVICE_KEY]iH[SUPABASE_SERVICE_KEY]eF[SUPABASE_SERVICE_KEY]4p)

### 不止是 Q[SUPABASE_SERVICE_KEY] 机器人

| 项目信息查询 | 回复 Discussion |
| --- | --- |
| ![search[SUPABASE_SERVICE_KEY]repo](https://github.com/user-attachments/assets/a7e6d37b-4674-4fd0-a89b-678e10ec01c8) | ![ discussion replay](https://github.com/user-attachments/assets/e28a3ded-dc6c-4ba5-9543-05c41bbff331) |

| [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] [SUPABASE_SERVICE_KEY]ummary | [SUPABASE_SERVICE_KEY]ode [SUPABASE_SERVICE_KEY]eview |
| --- | --- |
| ![image](https://github.com/user-attachments/assets/28bd546b-0c00-48a2-a57e-982448d37ef2) | ![image](https://github.com/user-attachments/assets/a39c4d71-1368-4508-bca4-018a00549528) | |

| 查 [SUPABASE_SERVICE_KEY]ssue | 提 [SUPABASE_SERVICE_KEY]ssue | 回 [SUPABASE_SERVICE_KEY]ssue |
| --- | --- | --- |
| ![image](https://github.com/user-attachments/assets/501c6ba0-20c4-480f-97ff-1f20d0a99136) | ![image](https://github.com/user-attachments/assets/d020b03d-74cd-49d2-a199-5d21154b7793) | ![image](https://github.com/user-attachments/assets/f6093cb1-b089-4ac9-ad2c-f1c8126fb86b) |

[完整演示视频](https://www.bilibili.com/video/[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]12eH[SUPABASE_SERVICE_KEY]e8[SUPABASE_SERVICE_KEY]kT/)

## [SUPABASE_SERVICE_KEY]gent 工作流

我们为猫猫预置了一个创建机器人的机器人,当得到用户 GitHub 仓库地址或名称时,它会使用创建工具,生成该仓库答疑机器人的各项配置([SUPABASE_SERVICE_KEY]rompt,、名字、 头像、开场白、引导语、工具集……),同时触发 [SUPABASE_SERVICE_KEY]ssue 和 Markdown 的入库任务。这些任务会拆分为多个子任务,将该仓库的所有已解决 issue 、高票回复以及所有 Markdown 文件内容经过 load -> split -> embed -> store 的加工过程进行知识库构建,作为机器人的回复知识依据。

![[SUPABASE_SERVICE_KEY]gent workflow](https://mdn.alipayobjects.com/huamei[SUPABASE_SERVICE_KEY]j8gzmo/afts/img/[SUPABASE_SERVICE_KEY]*m24tT[SUPABASE_SERVICE_KEY]ZpW7c[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]Dr[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]Q/original)

## 📦 私有化部署

部署方案:[[SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY]](https://aws.amazon.com) + [[SUPABASE_SERVICE_KEY]upabase](https://supabase.com)

你可以在这里看到完整方案:

- [私有化部署 - 本地启动服务](./docs/guides/self[SUPABASE_SERVICE_KEY]hosted[SUPABASE_SERVICE_KEY]local[SUPABASE_SERVICE_KEY]cn.md)
- [私有化部署 - 部署到 [SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY] ](./docs/guides/self[SUPABASE_SERVICE_KEY]hosted[SUPABASE_SERVICE_KEY]aws[SUPABASE_SERVICE_KEY]cn.md)

![架构方案](https://mdn.alipayobjects.com/huamei[SUPABASE_SERVICE_KEY]j8gzmo/afts/img/[SUPABASE_SERVICE_KEY]*0[SUPABASE_SERVICE_KEY]a[SUPABASE_SERVICE_KEY]TJpyx1[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]Dr[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]Q/original)

[![演示视频](https://mdn.alipayobjects.com/huamei[SUPABASE_SERVICE_KEY]j8gzmo/afts/img/[SUPABASE_SERVICE_KEY]*spdZ[SUPABASE_SERVICE_KEY]bWs[SUPABASE_SERVICE_KEY]hk[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]Dr[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]Q/fmt.webp)](https://www.youtube.com/watch?v=[SUPABASE_SERVICE_KEY]l6[SUPABASE_SERVICE_KEY]9[SUPABASE_SERVICE_KEY]e5m[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY])

## ⚙️ 环境变量

本项目需要进行环境变量进行设置:

### [SUPABASE_SERVICE_KEY]lient

`.env.local`

| 环境变量 | 类型 | 描述 | 示例 |
| --- | --- | --- | --- |
| `N[SUPABASE_SERVICE_KEY]XT[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]DOM[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]N` | 必选 | 后端服务的 [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] 域名。 | `https://api.petercat.ai` |

### [SUPABASE_SERVICE_KEY]erver

`.env`

| 环境变量 | 类型 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | 描述 | 示例 |
| --- | --- | --- | --- |
| **应用基础环境变量** |
| `[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L` | 必选 | 后端服务的 [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] 域名 | `https://api.petercat.ai` |
| `W[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L` | 必选 | 前端 Web 服务的域名 | `https://petercat.ai` |
| `[SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L` | 必选 | 静态资源域名 | `https://static.petercat.ai` |
| **[SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY] 相关环境变量** |
| `X[SUPABASE_SERVICE_KEY]G[SUPABASE_SERVICE_KEY]TH[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY]N[SUPABASE_SERVICE_KEY]M[SUPABASE_SERVICE_KEY]` | 必选 | [SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY] 托管的 Github 私钥文件名 | `prod/githubapp/petercat/pem` |
| `[SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY]N[SUPABASE_SERVICE_KEY]M[SUPABASE_SERVICE_KEY]` | 可选 | [SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY] 托管的 [SUPABASE_SERVICE_KEY]loudFront 签名私钥名称。如果配置了该项,将使用 [SUPABASE_SERVICE_KEY]loudFront 签名 [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L 来保护你的资源。更多信息请参阅 [[SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY] 文档](https://docs.aws.amazon.com/[SUPABASE_SERVICE_KEY]mazon[SUPABASE_SERVICE_KEY]loudFront/latest/DeveloperGuide/private-content-trusted-signers.html)。 | `prod/petercat/static` |
| `LLM[SUPABASE_SERVICE_KEY]TO[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]N[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY]N[SUPABASE_SERVICE_KEY]M[SUPABASE_SERVICE_KEY]` | 可选 | [SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY] 托管的 llm 签名私钥名称。如果配置了该项,petercat 将使用 [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] 算法托管用户的 LLM Token | `prod/petercat/llm` |
| `LLM[SUPABASE_SERVICE_KEY]TO[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]N[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]N[SUPABASE_SERVICE_KEY]M[SUPABASE_SERVICE_KEY]` | 可选 | [SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY] 托管的 llm 签名公钥名称。如果配置了该项,petercat 将使用 [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] 算法托管用户的 LLM Token | `prod/petercat/llm/pub` |
| `[SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]D` | 可选 | [SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY] [SUPABASE_SERVICE_KEY]loudFront 的 [SUPABASE_SERVICE_KEY]ey [SUPABASE_SERVICE_KEY]air [SUPABASE_SERVICE_KEY]D。如果配置了该项,将使用 [SUPABASE_SERVICE_KEY]loudFront 签名 [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L 来保护你的资源。更多信息请参阅 [[SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY] 文档](https://docs.aws.amazon.com/[SUPABASE_SERVICE_KEY]mazon[SUPABASE_SERVICE_KEY]loudFront/latest/DeveloperGuide/private-content-trusted-signers.html)。 | `[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]xxxxxxxx` |
| `[SUPABASE_SERVICE_KEY]3[SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY]M[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY]N[SUPABASE_SERVICE_KEY]M[SUPABASE_SERVICE_KEY]` | 可选 | 用于托管 [SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY] 临时图片文件 [SUPABASE_SERVICE_KEY]3 的 bucket | `xxx-temp` |
| **[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] 相关 env** |
| `[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L` | 必选 | supabase 服务的 [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L,可以在[这里](https://supabase.com/dashboard/project/[SUPABASE_SERVICE_KEY]/settings/database)找到 | `https://***.supabase.co` |
| `[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]` | 必选 | supabase 服务密钥,可以在[这里](https://supabase.com/dashboard/project/[SUPABASE_SERVICE_KEY]/settings/database)找到 | `[[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]]` |
| **[SUPABASE_SERVICE_KEY]uth0 相关 env** |
| `[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]TH0[SUPABASE_SERVICE_KEY]DOM[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]N` | 必选 | auth0 服务域名,从 auth0 / [SUPABASE_SERVICE_KEY]pplication / [SUPABASE_SERVICE_KEY]asic [SUPABASE_SERVICE_KEY]nformation 下获取 | `petercat.us.auth0.com` |
| `[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]TH0[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]NT[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]D` | 必选 | auth0 客户端 [SUPABASE_SERVICE_KEY]D,从 auth0 / [SUPABASE_SERVICE_KEY]pplication / [SUPABASE_SERVICE_KEY]asic [SUPABASE_SERVICE_KEY]nformation 下获取 | `artfi[SUPABASE_SERVICE_KEY]xxxx` |
| `[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]TH0[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]NT[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]T` | 必选 | auth0 客户端密钥, 从 auth0 / [SUPABASE_SERVICE_KEY]pplication / [SUPABASE_SERVICE_KEY]asic [SUPABASE_SERVICE_KEY]nformation 下获取 | `xxxx-xxxx-xxx` |
| `[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]D[SUPABASE_SERVICE_KEY]NT[SUPABASE_SERVICE_KEY]F[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]` | 必选 | auth0 的 [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] [SUPABASE_SERVICE_KEY]dentifier | `https://petercat.us.auth0.com/api/v2/` |
| **LLM 相关的 env** |
| `O[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]N[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]` | 必选 | Open[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] 的密钥 | `sk-xxxx` |
| `O[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]N[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L` | 可选 | [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] 请求的基础 [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L。仅在使用代理或服务模拟器时指定。 | `https://api.openai.com/v1` |
| `G[SUPABASE_SERVICE_KEY]M[SUPABASE_SERVICE_KEY]N[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]` | 可选 | Gemini 的密钥 | `xxxx` |
| `T[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]` | 必选 | Tavily 的密钥 | `tvly-xxxxx` |
| **注册为 Github [SUPABASE_SERVICE_KEY]pp 的 env** |
| `X[SUPABASE_SERVICE_KEY]G[SUPABASE_SERVICE_KEY]TH[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]D` | 可选 | 注册为 Github [SUPABASE_SERVICE_KEY]pp 时,[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]D | `123456` |
| `X[SUPABASE_SERVICE_KEY]G[SUPABASE_SERVICE_KEY]TH[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]NT[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]D` | 可选 | 注册为 Github [SUPABASE_SERVICE_KEY]pp 时,[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] 的 [SUPABASE_SERVICE_KEY]lient [SUPABASE_SERVICE_KEY]D | `[SUPABASE_SERVICE_KEY]v1.xxxxxxx` |
| `X[SUPABASE_SERVICE_KEY]G[SUPABASE_SERVICE_KEY]TH[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]NT[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]T` | 可选 | 注册为 Github [SUPABASE_SERVICE_KEY]pp 时,[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] 的 [SUPABASE_SERVICE_KEY]lient 密钥 | `xxxxxxxx` |
| **限流配置** |
| `[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L[SUPABASE_SERVICE_KEY]M[SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]N[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L[SUPABASE_SERVICE_KEY]D` | 可选 | 限流配置是否开启 | `True` |
| `[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L[SUPABASE_SERVICE_KEY]M[SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]Q[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY]` | 可选 | 限流的请求数量 | `100` |
| `[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L[SUPABASE_SERVICE_KEY]M[SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY]D[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]T[SUPABASE_SERVICE_KEY]ON` | 可选 | 限流的统计时长,单位为分钟 | `1` |
| **[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]G 服务配置** |
| `WH[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L` | 必选 | WH[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]G 服务地址   | `http://....` |
| `WH[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]` | 必选 | WH[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]G 服务的 [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] | `sk-xxxx` |

## 🤝 参与贡献

> [SUPABASE_SERVICE_KEY]eter[SUPABASE_SERVICE_KEY]at 使用 yarn 作为包管理器

```bash
git clone https://github.com/petercat-ai/petercat.git

# 安装依赖
yarn run bootstrap

# 调试 client
yarn run client

# 调试 assistant
yarn run assistant

# 调试 server
yarn run server

# 本地启动网站
yarn run client:server

# 本地启动 assistant 组件
yarn run assistant:server

# assistant 构建
cd assistant
yarn run build
npm publish

# docker 构建
yarn run build:docker

# pypi 构建
yarn run build:pypi
yarn run publish:pypi

```

## 💼 企业版接入

请把您的项目地址,使用场景,使用频率等信息发送至 [[email protected] ]([email protected])

## 📧 反馈问题

猫猫还在养成阶段,难免有些 “小脾气”,遇到问题请对它宽容一些,可以通过以下两种途径告知铲屎官:

- [提交 [SUPABASE_SERVICE_KEY]ssue](https://github.com/petercat-ai/petercat/issues/new/choose)
- [Discussions](https://github.com/petercat-ai/petercat/discussions) 提问

## 👬 [SUPABASE_SERVICE_KEY]ontributors

![https://github.com/petercat-ai/petercat/graphs/contributors](https://contrib.rocks/image?repo=petercat-ai/petercat)

## 💗 [SUPABASE_SERVICE_KEY]ponsor

[[SUPABASE_SERVICE_KEY]nt Design](https://ant.design/)

## 📄 License

M[SUPABASE_SERVICE_KEY]T@[[SUPABASE_SERVICE_KEY]eter[SUPABASE_SERVICE_KEY]at](https://github.com/petercat-ai/petercat/blob/main/L[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]N[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY])
Share: