{"id":13627857,"url":"https://github.com/vespperhq/vespper","last_synced_at":"2025-04-17T00:32:39.811Z","repository":{"id":246067072,"uuid":"785868292","full_name":"vespperhq/vespper","owner":"vespperhq","description":"Open-source AI copilot that lets you chat with your observability data and code 🧙‍♂️ ","archived":false,"fork":false,"pushed_at":"2024-11-23T23:40:28.000Z","size":4172,"stargazers_count":311,"open_issues_count":11,"forks_count":39,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-12-31T14:03:26.238Z","etag":null,"topics":["aiops","alerts","chatops-ai","contributions-welcome","devtools","first-contributions","hacktoberfest","hacktoberfest-accepted","hacktoberfest2024","incident","incident-response","incident-response-tooling","llm","llm-agent","metrics","monitoring","observability","oncall-engineers","site-reliability-engineering","traces"],"latest_commit_sha":null,"homepage":"https://www.vespper.com/?utm_source=github","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vespperhq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-12T19:52:53.000Z","updated_at":"2024-12-30T17:02:07.000Z","dependencies_parsed_at":"2024-10-20T21:48:51.178Z","dependency_job_id":"7903b48c-1545-407e-ba36-1629e734326c","html_url":"https://github.com/vespperhq/vespper","commit_stats":null,"previous_names":["merlinn-co/merlinn","vespperhq/vespper"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vespperhq%2Fvespper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vespperhq%2Fvespper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vespperhq%2Fvespper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vespperhq%2Fvespper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vespperhq","download_url":"https://codeload.github.com/vespperhq/vespper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249293086,"owners_count":21245679,"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","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":["aiops","alerts","chatops-ai","contributions-welcome","devtools","first-contributions","hacktoberfest","hacktoberfest-accepted","hacktoberfest2024","incident","incident-response","incident-response-tooling","llm","llm-agent","metrics","monitoring","observability","oncall-engineers","site-reliability-engineering","traces"],"created_at":"2024-08-01T22:00:39.423Z","updated_at":"2025-04-17T00:32:39.787Z","avatar_url":"https://github.com/vespperhq.png","language":"TypeScript","funding_links":[],"categories":["Projects by main language","Development Workflows \u0026 Agents"],"sub_categories":["typescript","Other IDEs"],"readme":"# Vespper - open-source AI on-call developer\n\n\u003cdiv align=\"center\"\u003e\n    \u003ca href=\"https://vespper.co\"\u003e\n      \u003cimg src=\"./assets/logo-cat.png\" alt=\"Vespper-logo\" width=\"30%\"/\u003e\n    \u003c/a\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n   \u003cdiv\u003e\n      \u003ca href=\"https://docs.vespper.com\"\u003e\u003cstrong\u003eDocs\u003c/strong\u003e\u003c/a\u003e ·\n      \u003ca href=\"https://www.loom.com/share/85dc64d021cc40c4b1064389c20782a6?sid=91b063df-8111-40f0-9ea4-793d5fbe3f6f\"\u003e\u003cstrong\u003eDemo\u003c/strong\u003e\u003c/a\u003e ·\n      \u003ca href=\"https://github.com/vespperhq/vespper/issues\"\u003e\u003cstrong\u003eReport Bug\u003c/strong\u003e\u003c/a\u003e ·\n      \u003ca href=\"https://github.com/orgs/vespper/discussions\"\u003e\u003cstrong\u003eFeature Request\u003c/strong\u003e\u003c/a\u003e ·\n      \u003ca href=\"https://vespper.com/blog\"\u003e\u003cstrong\u003eBlog\u003c/strong\u003e\u003c/a\u003e ·\n      \u003ca href=\"https://join.slack.com/t/vesppercommunity/signup\"\u003e\u003cstrong\u003eSlack\u003c/strong\u003e\u003c/a\u003e \n   \u003c/div\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\u003cdiv style=\"display: flex\" style=\"margin-bottom: 20px\"\u003e\n\u003ca href=\"https://vespper.com/?utm_source=github\"\u003e\u003cimg src=\"https://img.shields.io/badge/Website-blue?logo=googlechrome\u0026logoColor=orange\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://calendly.com/dudu-vespper/45-minute-meeting\"\u003e\u003cimg src=\"https://img.shields.io/badge/Book%20a%20Call-blue\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/vespperhq/vespper/blob/main/LICENSE.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-Apache 2.0-red.svg?style=flat-square\" alt=\"Apache 2.0 License\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/vespperhq/vespper/actions/workflows/ci.yml/badge.svg?branch=main\"\u003e\n\u003cimg src=\"https://github.com/vespperhq/vespper/actions/workflows/ci.yml/badge.svg?branch=main\" alt=\"main-workflow\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/prettier/prettier\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\" alt=\"code style: prettier\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://join.slack.com/t/vesppercommunity/signup\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/slack-vespper-E01E5A.svg?logo=slack\" alt=\"slack-logo\" /\u003e\n\u003c/a\u003e\n\u003c/div\u003e\n\n\nNote: If you want to use vespper for your team or for your organisation please reach out to us.\nThis open-source project is suited for single individual use. Any advanced investigation features will be under vespper-ee.\n\nyou can leave your email to be notified when our cloud offering is available: https://tally.so/r/3EBa5l\n\n\u003c/p\u003e\n\n\n## Overview 💫\n\nVespper is an AI-powered on-call engineer. It can automatically jump into incidents \u0026 alerts with you, and provide you useful \u0026 contextual insights and RCA in real time.\n\n\n## Why ❓\n\nMost people don't like to do on-call shifts. It requires engineers to be swift and solve problems quickly. Moreover, it takes time to reach to the root cause of the problem. That's why we developed Vespper. We believe Gen AI can help on-call developers solve issues faster.\n\n## Table of Contents\n\n- [Overview](#overview-)\n- [Why](#why-)\n- [Key Features](#key-features-)\n- [Demo](#demo-)\n- [Getting started](#getting-started-)\n  - [Prerequisites](#prerequisites-)\n  - [Quick Installation](#quick-installation-)\n  - [Updating Vespper](#updating-vespper-️-)\n  - [Deployment](#deployment-)\n  - [Visualize Knowledge Base](#visualize-knowledge-base-)\n- [Support and feedback](#support-and-feedback-️)\n- [Contributing to Vespper](#contributing-to-vespper-️)\n- [Troubleshooting](#troubleshooting-️)\n- [Telemetry](#telemetry-)\n- [License](#license-)\n- [Learn more](#learn-more-)\n- [Contributors](#contributors-)\n\n## Key features 🎯\n\n- **Automatic RCA**: Vespper automatically listens to production incidents/alerts and automatically investigates them for you.\n- **Slack integration**: Vespper lives inside your Slack. Simply connect it and enjoy an on-call engineer that never sleeps.\n- **Integrations**: Vespper integrates with popular observability/incident management tools such as Datadog, Coralogix, Opsgenie and Pagerduty. It also integrates to other tools as GitHub, Notion, Jira and Confluence to gain insights on incidents.\n- **Intuitive UX**: Vespper offers a familiar experience. You can talk to it and ask follow-up questions.\n- **Secure**: Self-host Vespper and own your data. Always.\n- **Open Source**: We love open-source. Self-host Vespper and use it for free.\n\n## Demo 🎥\n\nCheckout our [demo video](https://www.loom.com/share/85dc64d021cc40c4b1064389c20782a6?sid=1178d76f-5036-4fb2-887b-63b7f4f9aaac) to see Vespper in action.\n\n## Getting started 🚀\n\nIn order to run Vespper, you need to clone the repo \u0026 run the app using Docker Compose.\n\n### Prerequisites 📜\n\nEnsure you have the following installed:\n\n- **Docker \u0026 Docker Compose** - The app works with Docker containers. To run it, you need to have [Docker Desktop](https://docs.docker.com/desktop/), which comes with Docker CLI, Docker Engine and Docker Compose.\n\u003c!-- - **Ngrok** - Ngrok allows you to open HTTPS tunnel to your local machine. This is needed in order to get events from PagerDuty/Opsgenie. Install ngrok cli and create an account (see [here](https://ngrok.com/)). --\u003e\n\n### Quick installation 🏎️\n\nYou can find the installation video [here](https://www.loom.com/share/1f562cb067364517b1c1e7bf7f789db7?sid=8ea35183-893e-4e74-b450-c3e2e1cc1f11).\n\n1. Clone the repository:\n\n   ```bash\n   git clone git@github.com:vespper/vespper.git \u0026\u0026 cd vespper\n   ```\n\n2. Configure LiteLLM Proxy Server:\n\n   We use [LiteLLM Proxy Server](https://docs.litellm.ai/docs/simple_proxy) to interact with 100+ of LLMs in a unified interface (OpenAI interface).\n\n   1. Copy the example files:\n\n      ```bash\n      cp config/litellm/.env.example config/litellm/.env\n      cp config/litellm/config.example.yaml config/litellm/config.yaml\n      ```\n\n   2. Define your **OpenAI key** and place it inside `config/litellm/.env` as `OPENAI_API_KEY`. You can get your API key [here](https://platform.openai.com/api-keys). Rest assured, you won't be charged unless you use the API. For more details on pricing, check [here](https://openai.com/pricing).\n\n3. Copy the `.env.example` file:\n\n   ```bash\n   cp .env.example .env\n   ```\n\n4. Open the `.env` file in your favorite editor (vim, vscode, emacs, etc):\n\n   ```bash\n   vim .env # or emacs or vscode or nano\n   ```\n\n5. Update these variables:\n\n   - `SLACK_BOT_TOKEN`, `SLACK_APP_TOKEN` and `SLACK_SIGNING_SECRET` - These variables are needed in order to talk to Vespper on Slack. Please follow [this guide](https://github.com/vespperhq/vespper/tree/main/config/slack/README.md) to create a new Slack app in your organization.\n\n   - (Optional) `SMTP_CONNECTION_URL` - This variable is needed in order to invite new members to your Vespper organization via email and allow them to use the bot. It's not mandatory if you just want to test Vespper and play with it. If you do want to send invites to your team members, you can use a service like SendGrid/Mailgun. Should follow this pattern: `smtp://username:password@domain:port`.\n\n6. Launch the project:\n   ```bash\n   docker compose up -d\n   ```\n\nThat's it. You should be able to visit Vespper's dashboard in http://localhost:5173.\nSimply create a user **(with the same e-mail as the one in your Slack user)** and start to configure your organization. If something does not work for you, please checkout our [troubleshooting](#troubleshooting-️) or reach out to us via our [support channels](#support-and-feedback-️).\n\nThe next steps are to configure your organization a bit more (connect incident management tools, build a knowledge base, etc). Head over to the [connect \u0026 configure](https://docs.vespper.com/Getting%20started/Configure%20\u0026%20connect) section in our docs for more information 💫\n\n#### Using DockerHub images\n\nIf you want, you can pull our [Docker images](https://hub.docker.com/u/vespper) from DockerHub instead of cloning the repo \u0026 building from scratch.\n\nIn order to do that, follow these steps:\n\n1. Download configuration files:\n\n   ```bash\n   curl https://raw.githubusercontent.com/vespper/vespper/main/tools/scripts/download_env_files.sh | sh\n   ```\n\n2. Follow steps 2 and 5 above to configure LiteLLM Proxy and your `.env` file respectively. Namely, you'd need to configure your OpenAI key at `config/litellm/.env` and configure your Slack credentials in the root `.env`.\n\n3. Spin up the environment using docker compose:\n   ```bash\n   curl https://raw.githubusercontent.com/vespper/vespper/main/tools/scripts/start.sh | sh\n   ```\n\nThat's it 💫 You should be able to visit Vespper's dashboard in http://localhost:5173.\n\n### Updating Vespper 🧙‍♂️\n\n1. Pull the latest changes:\n\n   ```bash\n   git pull\n   ```\n\n2. Rebuild images:\n\n   ```bash\n   docker-compose up --build -d\n   ```\n\n### Deployment ☁️\n\nVisit our [example guides](https://github.com/vespperhq/vespper/tree/main/examples) in order to deploy Vespper to your cloud.\n\n### Visualize Knowledge Base 🗺️\n\nWe use ChromaDB as our vector DB. We also use [vector admin](https://vectoradmin.com/) in order to see the ingested documents. To use vector admin, simply run this command:\n\n```bash\ndocker compose up vector-admin -d\n```\n\nThis command starts vector-admin at port 3001. Head over to http://localhost:3001 and configure your local ChromaDB. **Note:** Since vector-admin runs inside a docker container, in the \"host\" field make sure to insert `http://host.docker.internal:8000` instead of `http://localhost:8000`. This is because \"localhost\" doesn't refer to the host inside the container itself.\n\nMoreover, in the \"API Header \u0026 Key\", you'd need to put \"X-Chroma-Token\" as the header and the value you have inside .env `CHROMA_SERVER_AUTHN_CREDENTIALS` as the value.\n\nTo learn how to use VectorAdmin, visit the [docs](https://github.com/Mintplex-Labs/vector-admin).\n\n## Support and feedback 👷‍♀️\n\nIn order of preference the best way to communicate with us:\n\n- **GitHub Discussions**: Contribute ideas, support requests and report bugs (preferred as there is a static \u0026 permanent for other community members).\n- **Slack**: community support. Click [here](https://vespper.com/#community) to join.\n- **Privately**: contact at support@vespper.com\n\n## Contributing to Vespper ⛑️\n\nIf you're interested in contributing to Vespper, checkout our [`CONTRIBUTING.md`](https://github.com/vespperhq/vespper/blob/main/CONTRIBUTING.md) file 💫 🧙‍♂️\n\n## Troubleshooting ⚒️\n\nIf you encounter any problems/errors/issues with Vespper, checkout our [troubleshooting guide](https://github.com/vespperhq/vespper/tree/main/TROUBLESHOOTING.md). We try to update it regularly, and fix some of the urgent problems there as soon as possible.\n\nMoreover, feel free to reach out to us at our [support channels](#support-and-feedback-️).\n\n## Telemetry 🔢\n\nBy default, Vespper automatically sends basic usage statistics from self-hosted instances to our server via PostHog.\n\nThis allows us to:\n\n- Understand how Vespper is used so we can improve it.\n- Track overall usage for internal purposes and external reporting, such as for fundraising.\n\nRest assured, the data collected is not shared with third parties and does not include any sensitive information. We aim to be transparent, and you can review the specific data we collect [here](https://github.com/vespperhq/vespper/blob/main/services/api/src/telemetry/listener.ts).\n\nIf you prefer not to participate, you can easily opt-out by setting `TELEMETRY_ENABLED=false` inside your `.env`.\n\n## License 📃\n\nThis project is licensed under the Apache 2.0 license - see the [LICENSE](https://github.com/vespperhq/vespper/tree/main/LICENSE.md) file for details\n\n## Learn more 🔍\n\nCheck out the official website at https://vespper.com for more information.\n\n## Contributors ✨\n\nBuilt with ❤️ by Dudu \u0026 Topaz\n\nDudu: [Github](https://github.com/david1542), [Twitter](https://twitter.com/DavidLasry17164)\n\nTopaz: [Github](https://github.com/topaztee), [Twitter](https://twitter.com/topaz_tee)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvespperhq%2Fvespper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvespperhq%2Fvespper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvespperhq%2Fvespper/lists"}