https://github.com/skaldlabs/skald
Context layer platform in your infrastructure
https://github.com/skaldlabs/skald
ai chat javascript knowledge-base python rag self-hosted typescript
Last synced: 5 months ago
JSON representation
Context layer platform in your infrastructure
- Host: GitHub
- URL: https://github.com/skaldlabs/skald
- Owner: skaldlabs
- License: other
- Created: 2025-10-09T13:15:29.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2026-01-26T02:49:49.000Z (5 months ago)
- Last Synced: 2026-01-26T16:55:42.111Z (5 months ago)
- Topics: ai, chat, javascript, knowledge-base, python, rag, self-hosted, typescript
- Language: TypeScript
- Homepage: https://useskald.com
- Size: 28.5 MB
- Stars: 533
- Watchers: 3
- Forks: 36
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome - skaldlabs/skald - Context layer platform in your infrastructure (TypeScript)
README

Docs - Website - Demo video - Self-hosted deploy
# Skald: Open Source Production RAG in your infrastructure
Skald gives you a production-ready RAG in minutes through a plug-and-play API, and then let's you configure your RAG engine exactly to your needs.
In the ingestion phase, Skald takes care of document parsing, chunking strategy, summaries, tagging, embedding generation, and vector storage. In the retrieval phase, it handles query rewriting, vector search, LLM chat, chat history, and source references.
Our solid defaults will work for most use cases, but you can tune every part of your RAG to better suit your needs. That means configurable vector search params, reranking, models, query rewriting, chunking (soon), and more.
Ship, configure, and evaluate performance directly inside Skald.
## [Node SDK](https://github.com/skaldlabs/skald-node) example
```js
import { Skald } from '@skald-labs/skald-node'
const skald = new Skald('your-api-key-here')
await skald.createMemo({
title: 'Meeting Notes',
content: 'Full content of the memo...',
})
const chatRes = await skald.chat({
query: 'What were the main points discussed in the Q1 meeting?',
rag_config: { reranking: { enabled: true } },
})
console.log(chatRes.response)
```
[Python](https://docs.useskald.com/docs/sdks/python#usage) - [Ruby](https://docs.useskald.com/docs/sdks/ruby#usage) - [Go](https://docs.useskald.com/docs/sdks/go#usage) - [PHP](https://docs.useskald.com/docs/sdks/php#quick-start) - [C#](https://github.com/skaldlabs/skald-csharp) - [MCP](https://docs.useskald.com/docs/sdks/mcp) - [CLI](https://docs.useskald.com/docs/sdks/cli)
## ⚡ Try it
```sh
git clone https://github.com/skaldlabs/skald
cd skald
echo "OPENAI_API_KEY=" > .env
docker-compose up
```
For a production self-hosted deploy, check out our [self-hosting docs](https://docs.useskald.com/docs/self-host/intro).
Running Skald without any third-party services
You can deploy Skald without **any** third-party dependencies (including OpenAI), but that will require hosting your own LLM inference server and using a local embeddings service (we've provided one for you in the `local` docker compose profile). This is advanced usage and you should check out our [docs](https://docs.useskald.com) for more details. You can also ask us questions on [Slack](https://join.slack.com/t/skaldcommunity/shared_invite/zt-3he986lub-UWKTZneOAUeTFa4LDXpFEg).
## ✨ Features:
- **Chat:** Chat with your knowledge in Skald with just one API call
- **Search:** Use semantic search to find relevant context based on user queries
- **Turnkey configuration:** Get started in minutes with great defaults and then configure your RAG engine exactly how you want it.
- **Evaluate:** Evaluate the performance of your custom RAG engine with our built-in evaluation tools.
- **Powerful filtering:** Speed up and improve responses by filtering the accessible knowledge in every query.
- **Amazing DX, no bullsh\*t:** Implement in minutes with SDKs for every major language. Don't see yours? Open [an issue](https://github.com/skaldlabs/skald/issues/new) and we'll build it!
- **Truly open source:** Our open source version is fully-featured, easy to deploy, and can even run with [no third-party dependencies](https://docs.useskald.com/docs/self-host/full-local).
## 🚀 Get started
- [Cloud](https://useskald.com): free tier with no credit card required
- [Self-hosted](https://docs.useskald.com/docs/self-host/intro): get a fully-featured production deploy with SSL live in less than an hour
## 🗒️ License
This repo is available under the [MIT license](https://github.com/skaldlabs/skald/blob/main/LICENSE), except for the `ee` directory (which has [its license here](https://github.com/skaldlabs/skald/blob/main/ee/LICENSE)) if applicable.
If you absolutely need 100% FOSS code, you can use the [skald-foss](https://github.com/skaldlabs/skald-foss) repository, which contains all the code from this repo with the `ee` directory removed. It is fully-featured and as of today we actually run skald-foss on our Cloud offering. Our Enterprise Edition today is meant for on-prem deployments.
## 🤝 Contributing
We'd be glad to have your contributions! See [CONTRIBUTING.md](/CONTRIBUTING.md) for instructions on how to run Skald locally and how to contribute.
Feel free to join our [Slack Community](https://join.slack.com/t/skaldcommunity/shared_invite/zt-3he986lub-UWKTZneOAUeTFa4LDXpFEg)
## ❤️ Contributors
List of people who have contributed to any of our repos.









