Skip to content

Repository files navigation

CrawlChat

CrawlChat is an open sourced AI-powered platform that transforms your technical documentation into intelligent chatbots. Connect your documentation from various sources and deploy AI assistants that understand your content and answer questions across multiple channels including websites, Discord, Slack, and as an MCP server for integration with AI development tools.

You can self host it yourself or let CrawlChat handle it for you!

Services

Here are the services it consists of. They are mostly simple Node + TypeScript apps.

NamePurposeRun
frontThe front facing React Router 7 appnpm run dev
serverLLM interacting Express appnpm run dev
source-syncA BullMQ app for syncing the sources and KBnpm run dev
discord-botDiscord bot to answer questionsnpm run dev
slack-appSlack app to answer questionsnpm run dev

Self-host

There are Dockerfiles for all the above mentioned services. You can instantly host on platforms like Coolify, Railway, etc. by just setting up the environment variables

See the docker-compose.yml on how to set up all basic services automatically.

Environment variables

ServiceKeyRequiredNote
allSELF_HOSTEDNo"true"
allDATABASE_URLYesMongo URL
allJWT_SECRETYesA random secret string. Same for all services
frontVITE_APP_URLYesfront hosted URL
frontVITE_SERVER_WS_URLYesWebSocket URL for server
frontVITE_SERVER_URLYesHTTP URL for server
frontVITE_SOURCE_SYNC_URLYesURL for source-sync service
frontDEFAULT_SIGNUP_PLAN_IDYesDefault plan ID for signups
frontRESEND_FROM_EMAILNoEmail address for Resend
frontRESEND_KEYNoResend API key
frontGOOGLE_CLIENT_IDNoGoogle OAuth client ID
frontGOOGLE_CLIENT_SECRETNoGoogle OAuth client secret
frontGOOGLE_REDIRECT_URINoGoogle OAuth redirect URI
frontADMIN_EMAILSNoComma-separated admin email addresses
serverSOURCE_SYNC_URLYesURL for source-sync service
serverPINECONE_API_KEYYesPinecone API key
serverOPENROUTER_API_KEYYesOpenRouter API key
serverADMIN_EMAILSNoComma-separated admin email addresses
serverOPENAI_API_KEYNoOpenAI API key
source-syncPINECONE_API_KEYYesPinecone API key
source-syncREDIS_URLYesRedis connection URL
source-syncGROUP_QUEUE_NAMEYesQueue name for groups
source-syncITEM_QUEUE_NAMEYesQueue name for items
source-syncGITHUB_TOKENNoGithub token to fetch issues and discussions
source-syncSCRAPECREATORS_API_KEYNoScrapeCreators API key
discord-botAPP_IDYesDiscord application ID
discord-botDISCORD_TOKENYesDiscord bot token
discord-botPUBLIC_KEYYesDiscord public key
discord-botBOT_USER_IDYesDiscord bot user ID
discord-botALL_BOT_USER_IDSYesAll bot user IDs
discord-botSERVER_HOSTYesServer host URL
slack-appSERVER_HOSTYesServer host URL
slack-appSLACK_SIGNING_SECRETYesSlack signing secret
slack-appSLACK_CLIENT_IDYesSlack client ID
slack-appSLACK_CLIENT_SECRETYesSlack client secret
slack-appSLACK_STATE_SECRETYesSlack state secret
slack-appHOSTYesHost URL

Contribution

It should be pretty straight forward process. Clone the repository locally and start the front, server, source-sync to get started. Make sure you add the .env files in the services with appropriate values as mentioned in env.example files respectively.

Feel free to raise a Pull request if you find any improvement, interesting feature addition, fixes for bugs!

License

It is available on a O'Saasy license. Go to LICENSE

About

Turn your documentation into an AI assistant that answers questions instantly

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages