An agentic AI workbench, fully open source.
Chat with free open models β running fully locally via Ollama, or on Ollama Cloud for extra headroom.
No lock-in, no meter, no black box β the whole machine is inspectable, and yours.
Early in development; already a complete chat experience with features some proprietary chats still miss.
tripleF aims for the top of the open-source community.
This project is developed using context coding β a disciplined AI-assisted paradigm where generative tools accelerate boilerplate and exploration while every architectural decision,
interface contract, and failure mode is deliberately reviewed, tested, and owned. We believe velocity without ownership accelerates directly into technical insolvency.
Install Docker/Docker Compose 2. Clone Repository 3.
Create API keys (optional but recommended):
- **Ollama API key** β for cloud models. Create one at[ollama.com/settings/keys](https://ollama.com/settings/keys) Β·[auth docs](https://docs.ollama.com/api/authentication)
- YouTube Data API key (free) β enable the API in the Google Cloud Console, then create a key under Credentials.Getting started Β·obtaining credentials
- Serper API key βsign up and copy the key from the dashboard (2,500 free credits; afterwards super cheap β ~β¬5 yields 5k searches that will almost last you a lifetime)
- Bright Data API key + SERP zone β enterprise-grade alternative to Serper, slightly more expensive.API key docs Β·SERP API quickstart
- EODHD API key β financial data API, free tier + tiered subscriptions.Register and grab the token from the dashboard Β·quick start
Create the env files from the examples and set the keys:
./apps/server/.env.exampleβ./apps/server/.env(OLLAMA_API_KEY,YOUTUBE_API_KEY,SERPER_API_KEY,BRIGHT_DATA_API_KEY+ zones,EODHD_API_KEY)./apps/memory/.env.exampleβ./apps/memory/.env(OLLAMA_API_KEY, plusQDRANT_EMBED_MODELβ a model must be set; each memory layer can have a dedicated one, optional β otherwise it reuses the model from the request)
Memory auto-maintenance (optional but recommended) β enable the *_AUTO flags in./apps/memory/.env :
MEMORY_PARTITION_REFLECT_AUTO=trueβ auto-trigger reflection after a partition's consolidation sweepMEMORY_COGNITION_REFLECT_AUTO=trueβ auto-trigger reflection after a cognition profile jobMEMORY_ENCYCLOPEDIA_REFLECT_AUTO=trueβ auto-trigger reflection after the encyclopedia classification job- and downstream:
MEMORY_CONVICTION_AUTO=true,MEMORY_CLUSTER_AUTO=trueOtherwise reflection never runs on its own β you would need to trigger it manually via a cron job or scheduler hittingPOST /memory/reflect,POST /memory/cognition/reflect, orPOST /encyclopedia/reflect. All of these can also be toggled live in Settings (settings β memory β configuration) without a restart.
Run pnpm install
7.
CD into ./apps/server and runpnpm db:push
8.
Run docker compose -f infra.compose.yml up -d --remove-orphans
9.
Run docker compose up -d --remove-orphans
Contributions are welcome! Please read CONTRIBUTING.md before opening an issue or pull request.
Found a vulnerability? See SECURITY.md for our reporting policy.
Community guidelines are in CODE_OF_CONDUCT.md.
Distributed under the MIT License. See LICENSE for more information.