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.
-
Create API keys (optional but recommended):
- Ollama API key — for cloud models. Create one at ollama.com/settings/keys · auth docs
- 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
*_AUTOflags 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=true
Otherwise reflection never runs on its own — you would need to trigger it manually via a cron job or scheduler hitting
POST /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 -
CD into
./apps/serverand runpnpm db:push -
Run
docker compose -f infra.compose.yml up -d --remove-orphans -
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.
