<h1 align="center">
<a href="https://prompts.chat">
<h1 align="center"> PeterCat</h1>
Sign in to like and favorite skills
  <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) **专为社区维护者和开发者打造的智能答疑机器人解决方案。** [](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) [](https://codecov.io/github/petercat-ai/petercat) [](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 即可自动完成创建机器人的全部流程  ### 知识自动入库 机器人创建后,所有相关 Github 文档和 issue 将自动入库,作为机器人的知识依据  ### 多平台集成 多种集成方式自由选择,如对话应用 [SUPABASE_SERVICE_KEY]D[SUPABASE_SERVICE_KEY] 集成至官网,Github [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] 一键安装至 Github 仓库等 |  |  | | :-: | :-: | [完整演示视频](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) |  | | [SUPABASE_SERVICE_KEY][SUPABASE_SERVICE_KEY] [SUPABASE_SERVICE_KEY]ummary | [SUPABASE_SERVICE_KEY]ode [SUPABASE_SERVICE_KEY]eview | | --- | --- | |  |  | | | 查 [SUPABASE_SERVICE_KEY]ssue | 提 [SUPABASE_SERVICE_KEY]ssue | 回 [SUPABASE_SERVICE_KEY]ssue | | --- | --- | --- | |  |  |  | [完整演示视频](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://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` | 环境变量 | 类型 | 描述 | 示例 | | --- | --- | --- | --- | | **应用基础环境变量** | | `[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  ## 💗 [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])
我们提供对话式答疑 Agent 配置系统、自托管部署方案和便捷的一体化应用 SDK,让您能够为自己的 GitHub 仓库一键创建智能答疑机器人,并快速集成到各类官网或项目中, 为社区提供更高效的技术支持生态。
仅需要告知你的仓库地址或名称,PeterCat 即可自动完成创建机器人的全部流程
机器人创建后,所有相关 Github 文档和 issue 将自动入库,作为机器人的知识依据
多种集成方式自由选择,如对话应用 SDK 集成至官网,Github APP 一键安装至 Github 仓库等
| 项目信息查询 | 回复 Discussion |
|---|---|
| PR Summary | Code Review |
|---|---|
| 查 Issue | 提 Issue | 回 Issue |
|---|---|---|
我们为猫猫预置了一个创建机器人的机器人,当得到用户 GitHub 仓库地址或名称时,它会使用创建工具,生成该仓库答疑机器人的各项配置(Prompt,、名字、 头像、开场白、引导语、工具集……),同时触发 Issue 和 Markdown 的入库任务。这些任务会拆分为多个子任务,将该仓库的所有已解决 issue 、高票回复以及所有 Markdown 文件内容经过 load -> split -> embed -> store 的加工过程进行知识库构建,作为机器人的回复知识依据。
你可以在这里看到完整方案:
本项目需要进行环境变量进行设置:
.env.local
| 环境变量 | 类型 | 描述 | 示例 |
|---|---|---|---|
| 必选 | 后端服务的 API 域名。 | |
.env
| 环境变量 | 类型 | 描述 | 示例 |
|---|---|---|---|
| 应用基础环境变量 | |||
| 必选 | 后端服务的 API 域名 | |
| 必选 | 前端 Web 服务的域名 | |
| 必选 | 静态资源域名 | |
| AWS 相关环境变量 | |||
| 必选 | AWS 托管的 Github 私钥文件名 | |
| 可选 | AWS 托管的 CloudFront 签名私钥名称。如果配置了该项,将使用 CloudFront 签名 URL 来保护你的资源。更多信息请参阅 AWS 文档。 | |
| 可选 | AWS 托管的 llm 签名私钥名称。如果配置了该项,petercat 将使用 RSA 算法托管用户的 LLM Token | |
| 可选 | AWS 托管的 llm 签名公钥名称。如果配置了该项,petercat 将使用 RSA 算法托管用户的 LLM Token | |
| 可选 | AWS CloudFront 的 Key Pair ID。如果配置了该项,将使用 CloudFront 签名 URL 来保护你的资源。更多信息请参阅 AWS 文档。 | |
| 可选 | 用于托管 AWS 临时图片文件 S3 的 bucket | |
| SUPABASE 相关 env | |||
| 必选 | supabase 服务的 URL,可以在这里找到 | |
| 必选 | supabase 服务密钥,可以在这里找到 | |
| Auth0 相关 env | |||
| 必选 | auth0 服务域名,从 auth0 / Application / Basic Information 下获取 | |
| 必选 | auth0 客户端 ID,从 auth0 / Application / Basic Information 下获取 | |
| 必选 | auth0 客户端密钥, 从 auth0 / Application / Basic Information 下获取 | |
| 必选 | auth0 的 API Identifier | |
| LLM 相关的 env | |||
| 必选 | OpenAI 的密钥 | |
| 可选 | API 请求的基础 URL。仅在使用代理或服务模拟器时指定。 | |
| 可选 | Gemini 的密钥 | |
| 必选 | Tavily 的密钥 | |
| 注册为 Github App 的 env | |||
| 可选 | 注册为 Github App 时,APPID | |
| 可选 | 注册为 Github App 时,APP 的 Client ID | |
| 可选 | 注册为 Github App 时,APP 的 Client 密钥 | |
| 限流配置 | |||
| 可选 | 限流配置是否开启 | |
| 可选 | 限流的请求数量 | |
| 可选 | 限流的统计时长,单位为分钟 | |
| RAG 服务配置 | |||
| 必选 | WHISKER RAG 服务地址 | |
| 必选 | WHISKER RAG 服务的 KEY | |
PeterCat 使用 yarn 作为包管理器
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]
猫猫还在养成阶段,难免有些 “小脾气”,遇到问题请对它宽容一些,可以通过以下两种途径告知铲屎官:
MIT@PeterCat