https://github.com/slaveoftime/brainloop
Brainloop is using LLM from multiple providers to enhance human brain with external memory looped into your internal ones
https://github.com/slaveoftime/brainloop
agent ai assistant chatbot dotnet llm mcp-client ollama openai rag
Last synced: 11 months ago
JSON representation
Brainloop is using LLM from multiple providers to enhance human brain with external memory looped into your internal ones
- Host: GitHub
- URL: https://github.com/slaveoftime/brainloop
- Owner: slaveOftime
- License: mit
- Created: 2025-07-11T08:07:32.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-20T09:46:16.000Z (11 months ago)
- Last Synced: 2025-07-20T11:30:25.358Z (11 months ago)
- Topics: agent, ai, assistant, chatbot, dotnet, llm, mcp-client, ollama, openai, rag
- Language: F#
- Homepage:
- Size: 16.7 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Brainloop 🧠⇄💻
[](https://opensource.org/licenses/MIT)
[](https://github.com/slaveoftime/brainloop/releases)
> Create intelligent loops that combine LLM reasoning with actionable tools to amplify your brain.
Simple but powerful patterns to get things done with LLMs:
1. Support LLM **models** from OpenAI, Ollama, Google, MistralAI, HuggingFace.
2. Integrate **tools** from build in functions, OpenApi or MCP.
3. Define any **agents**: prompt + models + tools
4. Create loops to invoke agent to do something

There are the [video links for the demo](./Docs/brainloop-0.1.0%20demo.gif)
## How to Use
- download binaries to run directly on Windows/Mac/Linux from [releases](https://github.com/slaveOftime/Brainloop/releases)
Unzip it and find file **Brainloop** to run it.
Below is the default configuration (appsettings.Production.json) which is using SqlLite for data and memory vector embedding, but you can open it and modify it accordingly:
```json
{
"HTTP_PORTS": 11435,
"AppOptions": {
"DataDbProvider": "SqlLite",
"DataDbConnectionString": "Data Source=brainloop.db",
"VectorDbProvider": "SqlLite",
"VectorDbConnectionString": "Data Source=brainloop.db",
"VectorCollectionName": "memory"
}
}
```
> For Qdrant, the "VectorDbConnectionString" can be "Endpoint=http://xxx;Key=xxx" or just "http://xxx" if it has no api key required
After it run, you just access the url with the port in you in the config file like "http://localhost:11435" with your browser.
- docker host, from the root dir run:
```bash
docker compose build
docker compose up -d
```
## 🧩 Ecosystem Integration
| Component | Supported Providers |
|-----------------|--------------------------------------|
| **Storage** | MsSqlServer, PostgreSQL, SqlLite |
| **Vector DBs** | MsSqlServer, PostgreSQL, SqlLite, Qdrant |
| **LLMs** | OpenAI, Ollama, Google, MistralAI, HuggingFace |
| **MCP** | SSE, STDIO |
## ⚒️ Build in functions
- Get current time
- Render html string in iframe
- Send http request
- Search memory by natural language
- Read uploaded document as text
- Execute command
- Create a task for a specific agent
- Create a task scheduler for a specific agent
## Local dev requirements
- [dotnet 9 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/9.0)
- VSCode (+ extension: Ionide for F#) or VS2022 above
You can run (posgres for data + qdrant for vector):
```bash
dotnet run --project ./Brainloop.DevHost/Brainloop.DevHost.csproj
```
Or you can run directly (sqlite for data and vector) if you do not want to use docker:
```bash
dotnet run --project ./Brainloop/Brainloop.fsproj
```