General

![Frame 294](https://github.com/user-attachments/assets/0656ab69-4352-452b-a8f4-1c05cec108d1)

![Frame 292](https://github.com/user-attachments/assets/49db0363-3f89-48a1-ba2b-e30bd5d083b3)

promptBeginner5 min to valuemarkdown
0 views
Feb 1, 2026

Sign in to like and favorite skills

Prompt Playground

1 Variables

Fill Variables

Preview

![Frame 294](https://github.com/user-attachments/assets/0656ab69-4352-452b-a8f4-1c05cec108d1)
![Frame 292](https://github.com/user-attachments/assets/49db0363-3f89-48a1-ba2b-e30bd5d083b3)

# [SUPABASE_SERVICE_KEY]eter[SUPABASE_SERVICE_KEY]at

<div align="center">

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

  **[SUPABASE_SERVICE_KEY]n intelligent Q&[SUPABASE_SERVICE_KEY] bot solution specifically designed for community maintainers and developers.**

  [![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>

## 🏠 Homepage

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

## ✨ Features

We provide a conversational Q&[SUPABASE_SERVICE_KEY] agent configuration system, self-hosted deployment solutions, and a convenient all-in-one application [SUPABASE_SERVICE_KEY]D[SUPABASE_SERVICE_KEY], allowing you to create intelligent Q&[SUPABASE_SERVICE_KEY] bots for your GitHub repositories with a single click and quickly integrate them into various official websites or projects, providing a more efficient technical support ecosystem for your community.

### [SUPABASE_SERVICE_KEY]hatting means creating

[SUPABASE_SERVICE_KEY]ou only need to provide the address or name of your repository, and [SUPABASE_SERVICE_KEY]eter[SUPABASE_SERVICE_KEY]at will automatically complete the entire process of creating a bot.

![image](https://github.com/user-attachments/assets/51d1a8f8-faa1-46a9-bbf0-fbec13f63156)

### [SUPABASE_SERVICE_KEY]utomated [SUPABASE_SERVICE_KEY]nowledge [SUPABASE_SERVICE_KEY]ase

[SUPABASE_SERVICE_KEY]fter the bot is created, all relevant GitHub documentation and issues will be automatically added to the knowledge base as the bot's knowledge source.

![image](https://github.com/user-attachments/assets/ff6623e3-e951-4f99-8501-3da6016333a6)

### Multi-[SUPABASE_SERVICE_KEY]latform [SUPABASE_SERVICE_KEY]ntegration

[SUPABASE_SERVICE_KEY]arious integration options, such as [SUPABASE_SERVICE_KEY]D[SUPABASE_SERVICE_KEY] integration into official websites or one-click installation of the GitHub [SUPABASE_SERVICE_KEY]pp into GitHub repositories.

| ![image](https://github.com/user-attachments/assets/15efe5e7-1383-44d8-986f-ff73fe055f44)| ![image](https://github.com/user-attachments/assets/bc49132a-f8c8-42d6-8bc0-d516cb3f7c9e)|
|:----------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------:|

### More than Q[SUPABASE_SERVICE_KEY] [SUPABASE_SERVICE_KEY]obot

| project information Query                | Discussion [SUPABASE_SERVICE_KEY]eply                          
| ----------------------------------------- | --------------------------------------- | 
| ![1732787419202-6fb9ceb7-8fd5-4361-b4e1-df2e0e9c365e](https://github.com/user-attachments/assets/82aa3e44-00db-4f64-82aa-5a8139c02de3) | ![image](https://github.com/user-attachments/assets/a4b79596-3336-4a5e-b0ce-2740129ba27b) |


| [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/aa0ef55f-b143-4695-81b0-0ebc397a24da) | ![image](https://github.com/user-attachments/assets/9dad164e-96c8-4649-a936-7965049a99f4)|

| [SUPABASE_SERVICE_KEY]ssue [SUPABASE_SERVICE_KEY]earch                          | [SUPABASE_SERVICE_KEY]ssue [SUPABASE_SERVICE_KEY]ubmit                             | [SUPABASE_SERVICE_KEY]ssue [SUPABASE_SERVICE_KEY]eply      | 
| ----------------------------------------- | --------------------------------------- | --------------------------------------- | 
| ![image](https://github.com/user-attachments/assets/f58d9b4d-ec99-4e38-ab90-37df1075c55b) | ![image](https://github.com/user-attachments/assets/f369128e-000a-40b3-89ba-e13f4375db3b) | ![image](https://github.com/user-attachments/assets/9b923269-3d6f-4ea6-82ce-4b58cb236bca) |

[Watch full video](https://www.youtube.com/watch?v=83[SUPABASE_SERVICE_KEY]0[SUPABASE_SERVICE_KEY]q2Fskk)

## [SUPABASE_SERVICE_KEY]gent Workflow

![[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]elf-Hosted Deployment

Deployment solution: [[SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY]](https://aws.amazon.com) + [[SUPABASE_SERVICE_KEY]upabase](https://supabase.com)

Here you can find the complete guides:
- [[SUPABASE_SERVICE_KEY]elf-Hosting - [SUPABASE_SERVICE_KEY]tart the [SUPABASE_SERVICE_KEY]ervice Locally](./docs/guides/self[SUPABASE_SERVICE_KEY]hosted[SUPABASE_SERVICE_KEY]local.md)
- [[SUPABASE_SERVICE_KEY]elf-Hosting - Deploy to [SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY]](./docs/guides/self[SUPABASE_SERVICE_KEY]hosted[SUPABASE_SERVICE_KEY]aws.md)


![Deployment [SUPABASE_SERVICE_KEY]olution](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)

[![[SUPABASE_SERVICE_KEY]elf hosted [SUPABASE_SERVICE_KEY]ideo](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]nvironment [SUPABASE_SERVICE_KEY]ariables

The project requires environment variables to be set:

### [SUPABASE_SERVICE_KEY]lient
`.env.local`

| [SUPABASE_SERVICE_KEY]nvironment [SUPABASE_SERVICE_KEY]ariable       | Type    | Description                                      | [SUPABASE_SERVICE_KEY]xample                                     |
|----------------------------|---------|--------------------------------------------------|---------------------------------------------|
| `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]equired | [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] domain of the backend service                | `https://api.petercat.ai`                   |


### [SUPABASE_SERVICE_KEY]erver

`.env`

| [SUPABASE_SERVICE_KEY]nvironment [SUPABASE_SERVICE_KEY]ariable       | Type                                       | Description                                   | [SUPABASE_SERVICE_KEY]xample                                     |
|----------------------------|--------------------------------------------|-----------------------------------------------|---------------------------------------------|
| **[SUPABASE_SERVICE_KEY]asic [SUPABASE_SERVICE_KEY]pplication [SUPABASE_SERVICE_KEY]nvironment [SUPABASE_SERVICE_KEY]ariables**                             |
| `[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L`                  | [SUPABASE_SERVICE_KEY]equired                                   | [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] domain of the backend service             | `https://api.petercat.ai`                   |
| `W[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L`                  | [SUPABASE_SERVICE_KEY]equired                                   | Domain of the frontend web service            | `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`               | [SUPABASE_SERVICE_KEY]equired                                   | [SUPABASE_SERVICE_KEY]tatic resource domain                        | `https://static.petercat.ai`                |
| **[SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY] [SUPABASE_SERVICE_KEY]elated [SUPABASE_SERVICE_KEY]nvironment [SUPABASE_SERVICE_KEY]ariables**                                  |
| `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]equired                                   | [SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY] secret file name                          | `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]` | Optional | The name of the [SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY]-managed [SUPABASE_SERVICE_KEY]loudFront private key. [SUPABASE_SERVICE_KEY]f configured, [SUPABASE_SERVICE_KEY]loudFront signed [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]Ls will be used to protect your resources. For more information, see the [[SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY] documentation](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]` | Optional | The name of the LLM signing private key managed by [SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY]. [SUPABASE_SERVICE_KEY]f configured, [SUPABASE_SERVICE_KEY]etercat will use the [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] algorithm to manage the user's 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]` | Optional | The name of the LLM signing public key managed by [SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY]. [SUPABASE_SERVICE_KEY]f configured, [SUPABASE_SERVICE_KEY]etercat will use the [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] algorithm to manage the user's 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` | Optional | The [SUPABASE_SERVICE_KEY]ey [SUPABASE_SERVICE_KEY]air [SUPABASE_SERVICE_KEY]D for [SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY] [SUPABASE_SERVICE_KEY]loudFront. [SUPABASE_SERVICE_KEY]f configured, [SUPABASE_SERVICE_KEY]loudFront signed [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]Ls will be used to protect your resources. For more information, see the [[SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY] documentation](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]equired                                   | [SUPABASE_SERVICE_KEY]W[SUPABASE_SERVICE_KEY] [SUPABASE_SERVICE_KEY]3 bucket for temporary image files                 | `xxx-temp`                                  |
| **[SUPABASE_SERVICE_KEY]upabase [SUPABASE_SERVICE_KEY]elated [SUPABASE_SERVICE_KEY]nvironment [SUPABASE_SERVICE_KEY]ariables**                              |
| `[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_SERVICE_KEY]equired                                   | [SUPABASE_SERVICE_KEY]upabase service [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L, found [here](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_SERVICE_KEY]equired                                   | [SUPABASE_SERVICE_KEY]upabase service key, found [here](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 [SUPABASE_SERVICE_KEY]elated [SUPABASE_SERVICE_KEY]nvironment [SUPABASE_SERVICE_KEY]ariables**                                 |
| `[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]TH0[SUPABASE_SERVICE_KEY]DOM[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]N`             | [SUPABASE_SERVICE_KEY]equired                                   | [SUPABASE_SERVICE_KEY]uth0 domain, from [SUPABASE_SERVICE_KEY]uth0 / [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`          | [SUPABASE_SERVICE_KEY]equired                                   | [SUPABASE_SERVICE_KEY]uth0 [SUPABASE_SERVICE_KEY]lient [SUPABASE_SERVICE_KEY]D, from [SUPABASE_SERVICE_KEY]uth0 / [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`      | [SUPABASE_SERVICE_KEY]equired                                   | [SUPABASE_SERVICE_KEY]uth0 [SUPABASE_SERVICE_KEY]lient [SUPABASE_SERVICE_KEY]ecret, from [SUPABASE_SERVICE_KEY]uth0 / [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]`           | [SUPABASE_SERVICE_KEY]equired                                   | [SUPABASE_SERVICE_KEY]uth0 [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] [SUPABASE_SERVICE_KEY]dentifier                           | `https://petercat.us.auth0.com/api/v2/`     |
| **LLM [SUPABASE_SERVICE_KEY]elated [SUPABASE_SERVICE_KEY]nvironment [SUPABASE_SERVICE_KEY]ariables**                                   |
| `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]`           | [SUPABASE_SERVICE_KEY]equired                                   | Open[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] 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`          | Optional                                   | [SUPABASE_SERVICE_KEY]ase [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]L for [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] requests. Only specify if using a proxy or service emulator.     | `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]`           | Optional                                   | Gemini [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] key                                 | `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]`           | Optional                                   | Tavily [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] key                                 | `tvly-xxxxx`                                |
| **GitHub [SUPABASE_SERVICE_KEY]pp [SUPABASE_SERVICE_KEY]egistration [SUPABASE_SERVICE_KEY]nvironment [SUPABASE_SERVICE_KEY]ariables**                       |
| `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`          | Optional                                   | GitHub [SUPABASE_SERVICE_KEY]pp [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`  | Optional                                   | GitHub [SUPABASE_SERVICE_KEY]pp [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` | Optional                               | GitHub [SUPABASE_SERVICE_KEY]pp [SUPABASE_SERVICE_KEY]lient [SUPABASE_SERVICE_KEY]ecret                       | `xxxxxxxx`                                  |
| **[SUPABASE_SERVICE_KEY]ate Limiting [SUPABASE_SERVICE_KEY]onfiguration**                                         |
| `[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`       | Optional                                   | Whether rate limiting is enabled               | `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]`      | Optional                                   | Number of requests for rate limiting           | `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`      | Optional                                   | Duration for rate limiting (in minutes)        | `1`                                         |
| **[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY]G server config** |
| `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` | [SUPABASE_SERVICE_KEY]equired | 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]erver [SUPABASE_SERVICE_KEY]ath | `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]` | [SUPABASE_SERVICE_KEY]equired | 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]erver [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] | `sk-xxxx` |
## 🤝 [SUPABASE_SERVICE_KEY]ontributing

> [SUPABASE_SERVICE_KEY]eter[SUPABASE_SERVICE_KEY]at uses yarn as the package manager.

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

# [SUPABASE_SERVICE_KEY]nstall dependencies
yarn run bootstrap

# Debug client
yarn run client

# Debug assistant
yarn run assistant

# Debug server
yarn run server

# [SUPABASE_SERVICE_KEY]tart website locally
yarn run client:server

# [SUPABASE_SERVICE_KEY]tart assistant component locally
yarn run assistant:server

# [SUPABASE_SERVICE_KEY]uild assistant
cd assistant
yarn run build
npm publish

# Docker build
yarn run build:docker

# [SUPABASE_SERVICE_KEY]y[SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] build
yarn run build:pypi
yarn run publish:pypi
```


## 💼 [SUPABASE_SERVICE_KEY]nterprise [SUPABASE_SERVICE_KEY]ntegration

[SUPABASE_SERVICE_KEY]lease send your project address, usage scenarios, usage frequency, and other information to [[email protected] ]([email protected] ) 

## 📧 [SUPABASE_SERVICE_KEY]eporting [SUPABASE_SERVICE_KEY]ssues

[SUPABASE_SERVICE_KEY]eter[SUPABASE_SERVICE_KEY]at is still in its growth stage, and occasional “tantrums” are to be expected. [SUPABASE_SERVICE_KEY]lease report issues via the following channels:

* [[SUPABASE_SERVICE_KEY]ubmit an [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: