{"id":23933063,"url":"https://github.com/petercat-ai/petercat","last_synced_at":"2025-09-11T15:33:34.238Z","repository":{"id":255442033,"uuid":"724478159","full_name":"petercat-ai/petercat","owner":"petercat-ai","description":"A conversational Q\u0026A agent configuration system, self-hosted deployment solutions, and a convenient all-in-one application SDK, allowing you to create intelligent Q\u0026A bots for your GitHub repositories","archived":false,"fork":false,"pushed_at":"2025-04-11T05:27:30.000Z","size":27124,"stargazers_count":1361,"open_issues_count":56,"forks_count":78,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-04-11T06:28:30.773Z","etag":null,"topics":["ai","assistant","assistant-chat-bots","assistants","github-apps","llm","rag","react"],"latest_commit_sha":null,"homepage":"https://petercat.ai","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/petercat-ai.png","metadata":{"files":{"readme":"README.en-US.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-11-28T06:46:41.000Z","updated_at":"2025-04-11T05:27:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"3e9bb25c-0124-416b-9502-61010068d5f2","html_url":"https://github.com/petercat-ai/petercat","commit_stats":null,"previous_names":["petercat-ai/petercat"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/petercat-ai/petercat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petercat-ai%2Fpetercat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petercat-ai%2Fpetercat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petercat-ai%2Fpetercat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petercat-ai%2Fpetercat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/petercat-ai","download_url":"https://codeload.github.com/petercat-ai/petercat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petercat-ai%2Fpetercat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274660302,"owners_count":25326180,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-11T02:00:13.660Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","assistant","assistant-chat-bots","assistants","github-apps","llm","rag","react"],"created_at":"2025-01-06T00:29:30.589Z","updated_at":"2025-09-11T15:33:34.226Z","avatar_url":"https://github.com/petercat-ai.png","language":"TypeScript","readme":"![Frame 294](https://github.com/user-attachments/assets/0656ab69-4352-452b-a8f4-1c05cec108d1)\n![Frame 292](https://github.com/user-attachments/assets/49db0363-3f89-48a1-ba2b-e30bd5d083b3)\n\n# PeterCat\n\n\u003cdiv align=\"center\"\u003e\n\n  \u003cimg src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"\u003e[简体中文](./README.md) | English | [日本語](./README.ja-JP.md)\n\n  **An intelligent Q\u0026A bot solution specifically designed for community maintainers and developers.**\n\n  [![npm](https://img.shields.io/npm/dm/@petercatai/assistant.svg)](https://www.npmjs.com/package/@petercatai/assistant)\n  [![Version](https://img.shields.io/npm/v/petercat-lui/latest.svg)](https://www.npmjs.com/package/petercat-lui)\n  [![DockerHub Version](https://img.shields.io/docker/v/petercatai/petercat?logo=docker\u0026logoColor=white)](https://hub.docker.com/r/petercatai/petercat)\n  [![CI Test Status](https://github.com/petercat-ai/petercat/actions/workflows/pr-tests.yml/badge.svg)](https://github.com/petercat-ai/petercat/actions/workflows/pr-tests.yml)\n  [![codecov](https://codecov.io/github/petercat-ai/petercat/graph/badge.svg?token=2HAO18FB6X)](https://codecov.io/github/petercat-ai/petercat)\n  [![License](https://img.shields.io/badge/License-MIT%40Peter%20Cat-yellow.svg)](https://github.com/petercat-ai/petercat/blob/master/LICENSE)\n \n\n\u003c/div\u003e\n\n## 🏠 Homepage\n\n[🐱Nest: petercat.ai](https://petercat.ai)\n\n## ✨ Features\n\nWe provide a conversational Q\u0026A agent configuration system, self-hosted deployment solutions, and a convenient all-in-one application SDK, allowing you to create intelligent Q\u0026A 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.\n\n### Chatting means creating\n\nYou only need to provide the address or name of your repository, and PeterCat will automatically complete the entire process of creating a bot.\n\n![image](https://github.com/user-attachments/assets/51d1a8f8-faa1-46a9-bbf0-fbec13f63156)\n\n### Automated Knowledge Base\n\nAfter the bot is created, all relevant GitHub documentation and issues will be automatically added to the knowledge base as the bot's knowledge source.\n\n![image](https://github.com/user-attachments/assets/ff6623e3-e951-4f99-8501-3da6016333a6)\n\n### Multi-Platform Integration\n\nVarious integration options, such as SDK integration into official websites or one-click installation of the GitHub App into GitHub repositories.\n\n| ![image](https://github.com/user-attachments/assets/15efe5e7-1383-44d8-986f-ff73fe055f44)| ![image](https://github.com/user-attachments/assets/bc49132a-f8c8-42d6-8bc0-d516cb3f7c9e)|\n|:----------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------:|\n\n### More than QA Robot\n\n| project information Query                | Discussion Reply                          \n| ----------------------------------------- | --------------------------------------- | \n| ![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) |\n\n\n| PR Summary       | Code Review     | \n| ----------------------------------------- | --------------------------------------- | \n| ![image](https://github.com/user-attachments/assets/aa0ef55f-b143-4695-81b0-0ebc397a24da) | ![image](https://github.com/user-attachments/assets/9dad164e-96c8-4649-a936-7965049a99f4)｜\n\n| Issue Search                          | Issue Submit                             | Issue Reply      | \n| ----------------------------------------- | --------------------------------------- | --------------------------------------- | \n| ![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) |\n\n[Watch full video](https://www.youtube.com/watch?v=83Y0_q2Fskk)\n\n## Agent Workflow\n\n![Agent workflow](https://mdn.alipayobjects.com/huamei_j8gzmo/afts/img/A*m24tTIZpW7cAAAAAAAAAAAAADrPSAQ/original)\n\n## 📦 Self-Hosted Deployment\n\nDeployment solution: [AWS](https://aws.amazon.com) + [Supabase](https://supabase.com)\n\nHere you can find the complete guides:\n- [Self-Hosting - Start the Service Locally](./docs/guides/self_hosted_local.md)\n- [Self-Hosting - Deploy to AWS](./docs/guides/self_hosted_aws.md)\n\n\n![Deployment Solution](https://mdn.alipayobjects.com/huamei_j8gzmo/afts/img/A*0_aUTJpyx1YAAAAAAAAAAAAADrPSAQ/original)\n\n[![Self hosted Video](https://mdn.alipayobjects.com/huamei_j8gzmo/afts/img/A*spdZSbWsVhkAAAAAAAAAAAAADrPSAQ/fmt.webp)](https://www.youtube.com/watch?v=Al6R9Ye5mBY)\n\n\n## ⚙️ Environment Variables\n\nThe project requires environment variables to be set:\n\n### Client\n`.env.local`\n\n| Environment Variable       | Type    | Description                                      | Example                                     |\n|----------------------------|---------|--------------------------------------------------|---------------------------------------------|\n| `NEXT_PUBLIC_API_DOMAIN`    | Required | API domain of the backend service                | `https://api.petercat.ai`                   |\n\n\n### Server\n\n`.env`\n\n| Environment Variable       | Type                                       | Description                                   | Example                                     |\n|----------------------------|--------------------------------------------|-----------------------------------------------|---------------------------------------------|\n| **Basic Application Environment Variables**                             |\n| `API_URL`                  | Required                                   | API domain of the backend service             | `https://api.petercat.ai`                   |\n| `WEB_URL`                  | Required                                   | Domain of the frontend web service            | `https://petercat.ai`                       |\n| `STATIC_URL`               | Required                                   | Static resource domain                        | `https://static.petercat.ai`                |\n| **AWS Related Environment Variables**                                  |\n| `X_GITHUB_SECRET_NAME`          | Required                                   | AWS secret file name                          | `prod/githubapp/petercat/pem`               |\n| `STATIC_SECRET_NAME` | Optional | The name of the AWS-managed CloudFront private key. If configured, CloudFront signed URLs will be used to protect your resources. For more information, see the [AWS documentation](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-trusted-signers.html). | `prod/petercat/static` |\n| `LLM_TOKEN_SECRET_NAME` | Optional | The name of the LLM signing private key managed by AWS. If configured, Petercat will use the RSA algorithm to manage the user's LLM Token. | `prod/petercat/llm` |\n| `LLM_TOKEN_PUBLIC_NAME` | Optional | The name of the LLM signing public key managed by AWS. If configured, Petercat will use the RSA algorithm to manage the user's LLM Token. | `prod/petercat/llm/pub` |\n| `STATIC_KEYPAIR_ID` | Optional | The Key Pair ID for AWS CloudFront. If configured, CloudFront signed URLs will be used to protect your resources. For more information, see the [AWS documentation](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-trusted-signers.html). | `APKxxxxxxxx` |\n| `S3_TEMP_BUCKET_NAME`      | Required                                   | AWS S3 bucket for temporary image files                 | `xxx-temp`                                  |\n| **Supabase Related Environment Variables**                              |\n| `SUPABASE_URL`             | Required                                   | Supabase service URL, found [here](https://supabase.com/dashboard/project/_/settings/database) | `https://***.supabase.co`                   |\n| `SUPABASE_SERVICE_KEY`     | Required                                   | Supabase service key, found [here](https://supabase.com/dashboard/project/_/settings/database) | `{{SUPABASE_SERVICE_KEY}}`                  |\n| **Auth0 Related Environment Variables**                                 |\n| `AUTH0_DOMAIN`             | Required                                   | Auth0 domain, from Auth0 / Application / Basic Information | `petercat.us.auth0.com`                     |\n| `AUTH0_CLIENT_ID`          | Required                                   | Auth0 Client ID, from Auth0 / Application / Basic Information | `artfiUxxxx`                                |\n| `AUTH0_CLIENT_SECRET`      | Required                                   | Auth0 Client Secret, from Auth0 / Application / Basic Information | `xxxx-xxxx-xxx`                             |\n| `API_IDENTIFIER`           | Required                                   | Auth0 API Identifier                           | `https://petercat.us.auth0.com/api/v2/`     |\n| **LLM Related Environment Variables**                                   |\n| `OPENAI_API_KEY`           | Required                                   | OpenAI API key                                 | `sk-xxxx`                                   |\n| `OPENAI_BASE_URL`          | Optional                                   | Base URL for API requests. Only specify if using a proxy or service emulator.     | `https://api.openai.com/v1`\n| `GEMINI_API_KEY`           | Optional                                   | Gemini API key                                 | `xxxx`                                      |\n| `TAVILY_API_KEY`           | Optional                                   | Tavily API key                                 | `tvly-xxxxx`                                |\n| **GitHub App Registration Environment Variables**                       |\n| `X_GITHUB_APP_ID`          | Optional                                   | GitHub App ID                                  | `123456`                                    |\n| `X_GITHUB_APPS_CLIENT_ID`  | Optional                                   | GitHub App Client ID                           | `Iv1.xxxxxxx`                               |\n| `X_GITHUB_APPS_CLIENT_SECRET` | Optional                               | GitHub App Client Secret                       | `xxxxxxxx`                                  |\n| **Rate Limiting Configuration**                                         |\n| `RATE_LIMIT_ENABLED`       | Optional                                   | Whether rate limiting is enabled               | `True`                                      |\n| `RATE_LIMIT_REQUESTS`      | Optional                                   | Number of requests for rate limiting           | `100`                                       |\n| `RATE_LIMIT_DURATION`      | Optional                                   | Duration for rate limiting (in minutes)        | `1`                                         |\n| **RAG server config** |\n| `WHISKER_API_URL` | Required | WHISKER RAG Server Path | `http://....` |\n| `WHISKER_API_KEY` | Required | WHISKER RAG Server KEY | `sk-xxxx` |\n## 🤝 Contributing\n\n\u003e PeterCat uses yarn as the package manager.\n\n```bash\ngit clone https://github.com/petercat-ai/petercat.git\n\n# Install dependencies\nyarn run bootstrap\n\n# Debug client\nyarn run client\n\n# Debug assistant\nyarn run assistant\n\n# Debug server\nyarn run server\n\n# Start website locally\nyarn run client:server\n\n# Start assistant component locally\nyarn run assistant:server\n\n# Build assistant\ncd assistant\nyarn run build\nnpm publish\n\n# Docker build\nyarn run build:docker\n\n# PyPI build\nyarn run build:pypi\nyarn run publish:pypi\n```\n\n\n## 💼 Enterprise Integration\n\nPlease send your project address, usage scenarios, usage frequency, and other information to [petercat.assistant@gmail.com ](petercat.assistant@gmail.com ) \n\n## 📧 Reporting Issues\n\nPeterCat is still in its growth stage, and occasional “tantrums” are to be expected. Please report issues via the following channels:\n\n* [Submit an Issue(https://github.com/petercat-ai/petercat/issues/new/choose)\n*  [Discussions](https://github.com/petercat-ai/petercat/discussions) \n\n👬 Contributors\n\n![https://github.com/petercat-ai/petercat/graphs/contributors](https://contrib.rocks/image?repo=petercat-ai/petercat)\n\n## 💗 Sponsor\n\n[Ant Design](https://ant.design/)\n\n## 📄 License\n\nMIT@[PeterCat](https://github.com/petercat-ai/petercat/blob/main/LICENSE)\n","funding_links":[],"categories":["Building","A01_文本生成_文本对话"],"sub_categories":["Deployment","大语言对话模型及数据"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetercat-ai%2Fpetercat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpetercat-ai%2Fpetercat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetercat-ai%2Fpetercat/lists"}