chore: Update README and add Mintlify docs

* Update README and add Mintlify docs

* Add Twilio documentation

* Remove license and fix readme
This commit is contained in:
Abhishek 2025-10-04 15:05:07 +05:30 committed by GitHub
parent 90f7aac8ad
commit 1f4ff8f865
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 267 additions and 60 deletions

View file

@ -1,12 +1,11 @@
# Dograh AI
<h3 align="center"><strong>If you find value in this project, PLEASE STAR IT to help others discover our FOSS platform!</strong></h3>
<h3 align="center"><strong>If you find value in this project, PLEASE STAR the Github repository to help others discover our FOSS platform!</strong></h3>
<p align="center">
<a href="https://docs.dograh.com">
<img src="https://img.shields.io/badge/docs-https://docs.dograh.com-blue.svg" alt="Docs: https://docs.dograh.com">
</a>
<a href="LICENSE">
<img src="https://img.shields.io/badge/license-BSD%202--Clause-blue.svg" alt="License: BSD 2-Clause">
</a>
@ -26,8 +25,8 @@ Dograh helps you build your own voice agents with an easy drag-and-drop workflow
## 🎥 Demo Video
<div align="center">
<a href="https://www.youtube.com/watch?v=LK8mvK5TH2Q">
<img src="https://img.youtube.com/vi/LK8mvK5TH2Q/maxresdefault.jpg" alt="Watch Dograh AI Demo Video" width="80%" style="border-radius: 8px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);">
<a href="https://www.tella.tv/video/cmgbysbsz00kw0bjm2qnc5f1d/view">
<img src="docs/images/video_thumbnail.png" alt="Watch Dograh AI Demo Video" width="80%" style="border-radius: 8px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);">
</a>
<br>
<em>Click to watch a 2-minute demo of Dograh AI in action</em>
@ -35,82 +34,88 @@ Dograh helps you build your own voice agents with an easy drag-and-drop workflow
## 🚀 Get Started
### Prerequisites
Before you begin, make sure you have the requirements installed. See 📋 **[Prerequisites](docs/prerequisites.md)** for system requirements and port availability.
The only command you need to run:
##### Download and setup Dograh on your local machine
> **Note**
> We collect anonymous usage data to improve the product. You can opt out by setting the `ENABLE_TELEMETRY` to `false` in the below command.
```bash
curl -o docker-compose.yaml https://raw.githubusercontent.com/dograh-hq/dograh/main/docker-compose.yaml && REGISTRY=ghcr.io/dograh-hq docker compose up
curl -o docker-compose.yaml https://raw.githubusercontent.com/dograh-hq/dograh/main/docker-compose.yaml && REGISTRY=ghcr.io/dograh-hq ENABLE_TELEMETRY=true docker compose up
```
> **Note**
> First startup may take 2-3 minutes to download all images. Once running, open http://localhost:3010 to create your first AI voice assistant!
> **Note**
> First startup may take 2-3 minutes to download all images. Once running, open http://localhost:3010 to create your first AI voice assistant!
> For common issues and solutions, see 🔧 **[Troubleshooting](docs/troubleshooting.md)**.
### 🎙️ Your First Voice Bot
1. **Open Dashboard**: Launch [http://localhost:3010](http://localhost:3010) on your browser
2. **Choose Call Type**: Select **Inbound** or **Outbound** calling.
3. **Name Your Bot**: Use a short two-word name (e.g., *Lead Qualification*).
4. **Describe Use Case**: In 510 words (e.g., *Screen insurance form submissions for purchase intent*).
3. **Name Your Bot**: Use a short two-word name (e.g., _Lead Qualification_).
4. **Describe Use Case**: In 510 words (e.g., _Screen insurance form submissions for purchase intent_).
5. **Launch**: Your bot is ready! Open the bot and click **Web Call** to talk to it.
6. **No API Keys Needed**: We auto-generate Dograh API keys so you can start immediately. You can switch to your own keys anytime.
7. **Default Access**: Includes Dograhs own LLMs, STT, and TTS stack by default.
8. **Bring Your Own Keys**: Optionally connect your own API keys for LLMs, STT, TTS, or telephony providers like Twilio.
## Quick Summary
⚡ 2-Minute Setup: Hard SLA standards - from zero to working voice bot in under 2 minutes
- 🔧 Minimal setup: Just [run docker command](#get-started) and you're live
- 🔧 Minimal setup: Just [run docker command](#get-started) and you're live
- 🤖 AI Testing Personas: Test your bots with LoopTalk AI that mimics real customer interactions
- 🔓 100% Open Source: Every line of code is open - no hidden logic, no black boxes
- 🔄 Flexible Integration: Bring your own LLM, TTS, or STT - or use Dograhs APIs
- ☁️ Self-Host or Cloud: Run locally or use our hosted version at app.dograh.com
## Features
## Features
### Voice Capabilities
- Telephony: Built-in Twilio integration (easily add others)
- Languages: English support (expandable to other languages)
- Custom Models: Bring your own TTS/STT models
- Real-time Processing: Low-latency voice interactions
### Developer Experience
- Zero Config Start: Auto-generated API keys for instant testing
- Python-Based: Built on Python for easy customization
- Docker-First: Containerized for consistent deployments
- Modular Architecture: Swap components as needed
### Testing & Quality
- LoopTalk (Beta): Create AI personas to test your voice agents
- Workflow Testing: Test specific workflow IDs with automated calls
- Real-world Simulation: AI personas that mimic actual customer behavior
## Configuration
Dograh automatically generates API keys on first run, but you can use your own keys.
- OPENAI_API_KEY=your_key_here
- TWILIO_ACCOUNT_SID=your_sid_here
- TWILIO_AUTH_TOKEN=your_token_here
## Architecture
Architecture diagram *(coming soon)*
Architecture diagram _(coming soon)_
## Deployment Options
### Local Development
Refer [prerequisites](#prerequisites) and [first steps](#-get-started)
Refer [prerequisites](https://docs.dograh.com/getting-started/prerequisites) and [first steps](#-get-started)
### Production (Self-Hosted)
Production guide coming soon. [Drop in a message](https://join.slack.com/t/dograh-community/shared_invite/zt-3czr47sw5-MSg1J0kJ7IMPOCHF~03auQ) for assistance.
### Cloud Version
Visit [https://www.dograh.com](https://www.dograh.com/) for our managed cloud offering.
## 📚Documentation
Full documentation is in progress. For now, this README will get you started.
You can go to [https://docs.dograh.com](https://docs.dograh.com/) for our documentation.
## 🤝Community & Support
- GitHub Issues: Report bugs or request features
- Slack: Our Slack community is not just for support — its the cornerstone of Dograh AI contributions. Here, you can:
- Connect with maintainers and other contributors
@ -118,22 +123,14 @@ Full documentation is in progress. For now, this README will get you started.
- Get help with setup and debugging
- Stay up to date with contribution sprints
👉 Join us → Dograh Community Slack
## Tech Stack
- FastAPI
- Pipecat
- LiveKit
- PostgreSQL
- Next.js
- XYFlow React
- Inbuilt Twilio integration
- Flexible back-end: switch to any LLM, TTS, or STT
## 🙌 Contributing
We love contributions! Dograh AI is 100% open source and we intend to keep it that way.
### Getting Started
- Fork the repository
- Create your feature branch (git checkout -b feature/AmazingFeature)
- Commit your changes (git commit -m 'Add some AmazingFeature')
@ -141,9 +138,11 @@ We love contributions! Dograh AI is 100% open source and we intend to keep it th
- Open a Pull Request
## 📄 License
Dograh AI is licensed under the [BSD 2-Clause License](LICENSE)- the same license as projects that were used in building Dograh AI, ensuring compatibility and freedom to use, modify, and distribute.
## 🏢 About
Built with ❤️ by **Dograh** (Zansat Technologies Private Limited)
Founded by YC alumni and exit founders committed to keeping voice AI open and accessible to everyone.
@ -154,4 +153,3 @@ Founded by YC alumni and exit founders committed to keeping voice AI open and ac
<a href="https://app.dograh.com">☁️ Try Cloud Version</a> |
<a href="https://join.slack.com/t/dograh-community/shared_invite/zt-3czr47sw5-MSg1J0kJ7IMPOCHF~03auQ">💬 Join Slack</a>
</p>

View file

@ -173,16 +173,17 @@ services:
BACKEND_URL: "http://api:8000"
NODE_ENV: "oss"
# Flag to enable/ disable posthog and sentry
ENABLE_TELEMETRY: "${ENABLE_TELEMETRY:-true}"
# Posthog
ENABLE_POSTHOG: "${ENABLE_POSTHOG:-true}"
POSTHOG_KEY: "phc_ItizB1dP6yv7ZYobbcqrpxTdbomDA8hJFSEmAMdYvIr"
POSTHOG_HOST: "https://us.posthog.com"
# Sentry
ENABLE_SENTRY: "${ENABLE_SENTRY:-true}"
SENTRY_DSN: "https://d9387fed5f80e90781f1dbd9b2c0994c@o4509486225096704.ingest.us.sentry.io/4510124708200448"
ports:
- "3010:3000"
- "3010:3010"
depends_on:
api:
condition: service_healthy
@ -190,7 +191,7 @@ services:
test:
[
"CMD-SHELL",
"wget --no-verbose --tries=1 --spider http://localhost:3000 || exit 1",
"wget --no-verbose --tries=1 --spider http://localhost:3010 || exit 1",
]
interval: 30s
timeout: 10s

53
docs/CLAUDE.md Normal file
View file

@ -0,0 +1,53 @@
# Mintlify documentation
## Working relationship
- You can push back on ideas-this can lead to better documentation. Cite sources and explain your reasoning when you do so
- ALWAYS ask for clarification rather than making assumptions
- NEVER lie, guess, or make up information
## Project context
- Format: MDX files with YAML frontmatter
- Config: docs.json for navigation, theme, settings
- Components: Mintlify components
## Content strategy
- Document just enough for user success - not too much, not too little
- Prioritize accuracy and usability of information
- Make content evergreen when possible
- Search for existing information before adding new content. Avoid duplication unless it is done for a strategic reason
- Check existing patterns for consistency
- Start by making the smallest reasonable changes
## Frontmatter requirements for pages
- title: Clear, descriptive page title
- description: Concise summary for SEO/navigation
## Writing standards
- Second-person voice ("you")
- Prerequisites at start of procedural content
- Test all code examples before publishing
- Match style and formatting of existing pages
- Include both basic and advanced use cases
- Language tags on all code blocks
- Alt text on all images
- Relative paths for internal links
## Git workflow
- NEVER use --no-verify when committing
- Ask how to handle uncommitted changes before starting
- Create a new branch when no clear branch exists for changes
- Commit frequently throughout development
- NEVER skip or disable pre-commit hooks
## Do not
- Skip frontmatter on any MDX file
- Use absolute URLs for internal links
- Include untested code examples
- Make assumptions - always ask for clarification

7
docs/README.md Normal file
View file

@ -0,0 +1,7 @@
# Dograh AI Documentation
### Local Setup
1. Install mintlify `npm i -g mint`
1. Clone the repository
1. `cd dograh/docs` and run `mint dev`

75
docs/docs.json Normal file
View file

@ -0,0 +1,75 @@
{
"$schema": "https://mintlify.com/docs.json",
"theme": "mint",
"name": "Dograh AI",
"colors": {
"primary": "#16A34A",
"light": "#07C983",
"dark": "#15803D"
},
"favicon": "/favicon.ico",
"navigation": {
"tabs": [
{
"tab": "Guides",
"groups": [
{
"group": "Getting started",
"pages": [
{
"group": "Introduction",
"pages": [
"getting-started/index",
"getting-started/prerequisites",
"getting-started/troubleshooting"
]
}
]
},
{
"group": "Telephony Integrations",
"pages": [
"telephony/twilio"
]
}
]
}
]
},
"logo": {
"light": "/logo/light.svg",
"dark": "/logo/dark.svg",
"href": "https://docs.dograh.com"
},
"navbar": {
"links": [
{
"label": "Support",
"href": "https://github.com/dograh-hq/dograh/issues/new/choose"
}
],
"primary": {
"type": "button",
"label": "Dashboard",
"href": "https://app.dograh.com"
}
},
"contextual": {
"options": [
"copy",
"view",
"chatgpt",
"claude",
"perplexity",
"mcp",
"cursor",
"vscode"
]
},
"footer": {
"socials": {
"github": "https://github.com/dograh-hq",
"linkedin": "https://linkedin.com/company/dograh"
}
}
}

BIN
docs/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View file

@ -0,0 +1,26 @@
---
title: "Introduction"
description: "Welcome to Dograh AI documentation"
---
## Setting up
Get the stack up and running using Docker with a single command.
<Note>We collect anonymous usage data to improve the product. You can opt out by setting the `ENABLE_TELEMETRY` to `false` in the below command.</Note>
```bash
curl -o docker-compose.yaml https://raw.githubusercontent.com/dograh-hq/dograh/main/docker-compose.yaml && REGISTRY=ghcr.io/dograh-hq ENABLE_TELEMETRY=true docker compose up
```
Please check [Prerequisites](getting-started/prerequisites) for the system requirements and [Troubleshooting](getting-started/troubleshooting) for common issues.
You can also watch below video to see the setup in action.
<iframe
className="w-full aspect-video rounded-xl"
src="https://www.tella.tv/video/cmgbysbsz00kw0bjm2qnc5f1d/embed?b=1&title=1&a=1&loop=0&t=0&muted=0&wt=1"
title="Dogrh Getting Started"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>

View file

@ -1,4 +1,7 @@
# Prerequisites
---
title: "Prerequisites"
description: "System requirements and setup needed to run Dograh AI"
---
## System Requirements
@ -6,8 +9,8 @@
- **RAM**: 8 GB (4 GB available for Docker)
- **Storage**: 10 GB free disk space
- **CPU**: 2 cores (x86_64 or ARM64)
- **OS**:
- macOS 10.15+ (Catalina or newer)\
- **OS**:
- macOS 10.15+ (Catalina or newer)
- Windows 10/11 with WSL2
- Linux with kernel 3.10+
@ -16,13 +19,16 @@
To run Dograh AI locally, make sure you have the following installed:
- [Docker](https://docs.docker.com/get-docker/) (version 20.10 or later)
- [curl](https://curl.se/download.html)  usually preinstalled on macOS/Linux
- [curl](https://curl.se/download.html) - usually preinstalled on macOS/Linux
> **Note**
> Docker Compose is included with Docker Desktop. Make sure Docker is running before you begin.
<Note>
Docker Compose is included with Docker Desktop. Make sure Docker is running before you begin.
</Note>
### Docker Resource Allocation
For Docker Desktop users, ensure Docker has adequate resources:
1. Open Docker Desktop settings
2. Navigate to Resources
3. Allocate at least:
@ -33,6 +39,7 @@ For Docker Desktop users, ensure Docker has adequate resources:
## Required Ports
Ensure these ports are available:
- `3010` - Web UI
- `8000` - API Server
- `5432` - PostgreSQL
@ -42,23 +49,37 @@ Ensure these ports are available:
## Checking Port Availability
##### Check if a port is in use (replace 3010 with the port number)
```bash
Check if a port is in use (replace 3010 with the port number):
<CodeGroup>
```bash macOS/Linux
lsof -i :3010
```
```bash Linux (alternative)
netstat -tulpn | grep 3010
```
```bash Windows (PowerShell)
netstat -ano | findstr :3010
```
</CodeGroup>
## Docker Registry Options
Dograh images are available from two registries that you can choose from:
Dograh images are available from two registries:
- **GitHub Container Registry (Default)**: `ghcr.io/dograh-hq` - Recommended for most users
- **Docker Hub**: `dograhai` - Alternative registry
To use a specific registry, set the `REGISTRY` environment variable using either of the following:
To use a specific registry, set the `REGISTRY` environment variable:
##### Using GitHub Container Registry (recommended) or Docker Hub
```bash
# Using GitHub Container Registry (recommended)
REGISTRY=ghcr.io/dograh-hq docker compose up
# Using Docker Hub
REGISTRY=dograhai docker compose up
```
```

View file

@ -1,3 +1,8 @@
---
title: "Troubleshooting"
description: "Common issues and solutions for running Dograh AI"
---
# Troubleshooting
## Freeing Up Ports
@ -42,4 +47,4 @@ docker inspect -f '{{.Name}} - {{.HostConfig.RestartPolicy.Name}}' $(docker ps -
docker compose down
docker compose down -v
```
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

BIN
docs/images/hero-dark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

BIN
docs/images/hero-light.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 552 KiB

3
docs/logo/dark.svg Normal file
View file

@ -0,0 +1,3 @@
<svg width="120" height="30" viewBox="0 0 120 30" xmlns="http://www.w3.org/2000/svg">
<text x="5" y="22" font-family="Arial, sans-serif" font-size="20" font-weight="bold" fill="#FFFFFF">Dograh AI</text>
</svg>

After

Width:  |  Height:  |  Size: 212 B

3
docs/logo/light.svg Normal file
View file

@ -0,0 +1,3 @@
<svg width="120" height="30" viewBox="0 0 120 30" xmlns="http://www.w3.org/2000/svg">
<text x="5" y="22" font-family="Arial, sans-serif" font-size="20" font-weight="bold" fill="#000000">Dograh AI</text>
</svg>

After

Width:  |  Height:  |  Size: 212 B

15
docs/telephony/twilio.mdx Normal file
View file

@ -0,0 +1,15 @@
---
title: "Twilio"
description: "Setting up Twilio on Dograh AI"
---
### Introduction
You can setup Twilio on Dograh AI to make and receive calls when executing your Voice Agent Workflow. You can watch below video to get started with the setup once you have your Dograh AI stack running.
<iframe
className="w-full aspect-video rounded-xl"
src="https://www.tella.tv/video/cmgbvzkrt00jk0clacu16blm3/embed?b=1&title=1&a=1&loop=0&t=0&muted=0&wt=1"
title="Dogrh Twilio Setup"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>

View file

@ -59,7 +59,7 @@ COPY --from=builder --chown=nextjs:nodejs /app/public ./public
USER nextjs
# Expose the port Next.js runs on
EXPOSE 3000
EXPOSE 3010
# Start the production server using the standalone Node.js server
CMD ["node", "server.js"]
CMD sh -c "echo '🚀 Application ready at http://localhost:3010' && PORT=3010 node server.js"

View file

@ -8,7 +8,7 @@ import { NextResponse } from 'next/server';
export async function GET() {
return NextResponse.json({
enabled: process.env.ENABLE_POSTHOG === 'true',
enabled: process.env.ENABLE_TELEMETRY === 'true',
key: process.env.POSTHOG_KEY || '',
host: process.env.POSTHOG_HOST || '/ingest',
uiHost: process.env.POSTHOG_UI_HOST || 'https://us.posthog.com',

View file

@ -2,7 +2,7 @@ import { NextResponse } from 'next/server';
export async function GET() {
return NextResponse.json({
enabled: process.env.ENABLE_SENTRY === 'true',
enabled: process.env.ENABLE_TELEMETRY === 'true',
dsn: process.env.SENTRY_DSN || '',
environment: process.env.NODE_ENV || 'development',
});