Skip to content

A conversational Q&A agent configuration system, self-hosted deployment solutions, and a convenient all-in-one application SDK, allowing you to create intelligent Q&A bots for your GitHub repositories

License

Notifications You must be signed in to change notification settings

petercat-ai/petercat

Repository files navigation

banner

Peter Cat

简体中文 | English | 日本語

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

npm Version DockerHub Version CI Test Status codecov License

🏠 主页

🐱窝: petercat.ai

✨ 特性

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

对话即创造

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

对话即创造

知���自动入库

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

知识自动入库

多平台集成

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

官网 GitHub

完整演示视频

不止是 QA 机器人

项目信息查询 回复 Discussion
search_repo  discussion replay
PR Summary Code Review
image image
查 Issue 提 Issue 回 Issue
image image image

完整演示视频

Agent 工作流

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

Agent workflow

📦 私有化部署

部署方案:AWS + Supabase

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

架构方案

演示视频

⚙️ 环境变量

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

Client

.env.local

环境变量 类型 描述 示例
NEXT_PUBLIC_API_DOMAIN 必选 后端服务的 API 域名。 https://api.petercat.ai

Server

.env

环境变量 类型          描述 示例
应用基础环境变量
API_URL 必选 后端服务的 API 域名 https://api.petercat.ai
WEB_URL 必选 前端 Web 服务的域名 https://petercat.ai
STATIC_URL 必选 静态资源域名 https://static.petercat.ai
AWS 相关环境变量
AWS_GITHUB_SECRET_NAME 必选 AWS 托管的 Github 私钥文件名 prod/githubapp/petercat/pem
AWS_STATIC_SECRET_NAME 可选 AWS 托管的 CloudFront 签名私钥名称。如果配置了该项,将使用 CloudFront 签名 URL 来保护你的资源。更多信息请参阅 AWS 文档 prod/petercat/static
AWS_LLM_TOKEN_SECRET_NAME 可选 AWS 托管的 llm 签名私钥名称。如果配置了该项,petercat 将使用 RSA 算法托管用户的 LLM Token prod/petercat/llm
AWS_LLM_TOKEN_PUBLIC_NAME 可选 AWS 托管的 llm 签名公钥名称。如果配置了该项,petercat 将使用 RSA 算法托管用户的 LLM Token prod/petercat/llm/pub
AWS_STATIC_KEYPAIR_ID 可选 AWS CloudFront 的 Key Pair ID。如果配置了该项,将使用 CloudFront 签名 URL 来保护你的资源。更多信息请参阅 AWS 文档 APKxxxxxxxx
S3_TEMP_BUCKET_NAME 可选 用于托管 AWS 临时图片文件 S3 的 bucket xxx-temp
SQS_QUEUE_URL 必选 AWS SQS 消息队列 URL https://sqs.ap-northeast-1.amazonaws.com/xxx/petercat-task-queue
SUPABASE 相关 env
SUPABASE_URL 必选 supabase 服务的 URL,可以在这里找到 https://***.supabase.co
SUPABASE_SERVICE_KEY 必选 supabase 服务密钥,可以在这里找到 {{SUPABASE_SERVICE_KEY}}
Auth0 相关 env
AUTH0_DOMAIN 必选 auth0 服务域名,从 auth0 / Application / Basic Information 下获取 petercat.us.auth0.com
AUTH0_CLIENT_ID 必选 auth0 客户端 ID,从 auth0 / Application / Basic Information 下获取 artfiUxxxx
AUTH0_CLIENT_SECRET 必选 auth0 客户端密钥, 从 auth0 / Application / Basic Information 下获取 xxxx-xxxx-xxx
API_IDENTIFIER 必选 auth0 的 API Identifier https://petercat.us.auth0.com/api/v2/
LLM相关的 env
OPENAI_API_KEY 必选 OpenAI 的密钥 sk-xxxx
OPENAI_BASE_URL 可选 API 请求的基础 URL。仅在使用代理或服务模拟器时指定。 https://api.openai.com/v1
GEMINI_API_KEY 可选 Gemini 的密钥 xxxx
TAVILY_API_KEY 必选 Tavily 的密钥 tvly-xxxxx
注册为 Github App 的 env
X_GITHUB_APP_ID 可选 注册为 Github App 时,APPID 123456
X_GITHUB_APPS_CLIENT_ID 可选 注册为 Github App 时,APP 的 Client ID Iv1.xxxxxxx
X_GITHUB_APPS_CLIENT_SECRET 可选 注册为 Github App 时,APP 的 Client 密钥 xxxxxxxx
限流配置
RATE_LIMIT_ENABLED 可选 限流配置是否开启 True
RATE_LIMIT_REQUESTS 可选 限流的请求数量 100
RATE_LIMIT_DURATION 可选 限流的统计时长,单位为分钟 1

🤝 参与贡献

Peter Cat 使用 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

💼 企业版接入

请把您的项目地址,使用场景,使用频率等信息发送至 antd.antgroup@gmail.com 或者扫码加入我们的交流群

钉钉群 GitHub

📧 反馈问题

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

👬 Contributors

https://github.com/petercat-ai/petercat/graphs/contributors

💗 Sponsor

Ant Design

📄 License

MIT@Peter Cat

About

A conversational Q&A agent configuration system, self-hosted deployment solutions, and a convenient all-in-one application SDK, allowing you to create intelligent Q&A bots for your GitHub repositories

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published