{"slug": "triplef", "title": "TripleF", "summary": "Developer ehildt released tripleF, an open-source agentic AI chat workbench that runs free open models fully locally via Ollama or through Ollama Cloud, with no usage meter or proprietary lock-in. The project, described as early in development but already a complete chat experience, ships with Docker Compose setup, optional integrations for the YouTube Data API, Serper (2,500 free credits, then roughly €5 for 5k searches), Bright Data SERP, and EODHD financial data, plus a Qdrant-backed memory layer with auto-reflection flags such as MEMORY_PARTITION_REFLECT_AUTO. tripleF is built using what its author calls \"context coding,\" an AI-assisted development approach in which generative tools accelerate boilerplate while architectural decisions and failure modes are reviewed and tested.", "body_md": "**An agentic AI workbench, fully open source.**\n\nChat with free open models — running **fully locally** via Ollama, or on **Ollama Cloud** for extra headroom.\n\nNo lock-in, no meter, no black box — the whole machine is inspectable, and yours.\n\nEarly in development; already a complete chat experience with features some proprietary chats still miss.\n\ntripleF aims for the top of the open-source community.\n\nThis project is developed using **context coding** — a disciplined [AI-assisted](https://github.com/ehildt/tripleF/blob/main/.wiki/3-ai-assisted-development.md) paradigm\n\nwhere generative tools accelerate boilerplate and exploration while every architectural decision,\n\ninterface contract, and failure mode is deliberately reviewed, tested, and owned.\n\nWe believe velocity without ownership accelerates directly into technical insolvency.\n\n1. \n[Install Docker/Docker Compose](https://docs.docker.com/compose/install/)\n2. \n[Clone Repository](https://github.com/ehildt/tripleF)\n3. \nCreate API keys (optional but recommended): \n  - **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)\n  - **YouTube Data API key** (free) — enable the API in the Google Cloud Console, then create a key under Credentials.[Getting started](https://developers.google.com/youtube/v3/getting-started) ·[obtaining credentials](https://developers.google.com/youtube/registering_an_application)\n  - **Serper API key** —[sign up](https://serper.dev/signup) 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)\n  - **Bright Data API key + SERP zone** — enterprise-grade alternative to Serper, slightly more expensive.[API key docs](https://docs.brightdata.com/api-reference/authentication) ·[SERP API quickstart](https://docs.brightdata.com/scraping-automation/serp-api/quickstart)\n  - **EODHD API key** — financial data API, free tier + tiered subscriptions.[Register](https://eodhd.com/register) and grab the token from the dashboard ·[quick start](https://eodhd.com/financial-apis/quick-start-with-our-financial-data-apis)\n4. \nCreate the env files from the examples and set the keys: \n  - `./apps/server/.env.example` →`./apps/server/.env` (`OLLAMA_API_KEY` ,`YOUTUBE_API_KEY` ,`SERPER_API_KEY` ,`BRIGHT_DATA_API_KEY` + zones,`EODHD_API_KEY` )\n  - `./apps/memory/.env.example` →`./apps/memory/.env` (`OLLAMA_API_KEY` , plus`QDRANT_EMBED_MODEL` — a model must be set; each memory layer can have a dedicated one, optional — otherwise it reuses the model from the request)\n5. \nMemory auto-maintenance (optional but recommended) — enable the `*_AUTO` flags in`./apps/memory/.env` :\n  - `MEMORY_PARTITION_REFLECT_AUTO=true` — auto-trigger reflection after a partition's consolidation sweep\n  - `MEMORY_COGNITION_REFLECT_AUTO=true` — auto-trigger reflection after a cognition profile job\n  - `MEMORY_ENCYCLOPEDIA_REFLECT_AUTO=true` — auto-trigger reflection after the encyclopedia classification job\n  - and downstream: `MEMORY_CONVICTION_AUTO=true` ,`MEMORY_CLUSTER_AUTO=true`\n 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` , or`POST /encyclopedia/reflect` . All of these can also be toggled live in Settings (settings → memory → configuration) without a restart.\n6. \nRun `pnpm install`\n7. \nCD into `./apps/server` and run`pnpm db:push`\n8. \nRun `docker compose -f infra.compose.yml up -d --remove-orphans`\n9. \nRun `docker compose up -d --remove-orphans`\n\nContributions are welcome! Please read [CONTRIBUTING.md](https://github.com/ehildt/tripleF/blob/main/CONTRIBUTING.md) before opening an issue or pull request.\n\nFound a vulnerability? See [SECURITY.md](https://github.com/ehildt/tripleF/blob/main/SECURITY.md) for our reporting policy.\n\nCommunity guidelines are in [CODE_OF_CONDUCT.md](https://github.com/ehildt/tripleF/blob/main/CODE_OF_CONDUCT.md).\n\nDistributed under the MIT License. See [LICENSE](https://github.com/ehildt/tripleF/blob/main/LICENSE) for more information.", "url": "https://wpnews.pro/news/triplef", "canonical_source": "https://github.com/ehildt/tripleF", "published_at": "2026-11-06 12:40:05+00:00", "updated_at": "2026-11-06 12:50:08.853789+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-agents", "ai-tools", "large-language-models", "developer-tools"], "entities": ["tripleF", "ehildt", "Ollama", "Ollama Cloud", "Serper", "Bright Data", "EODHD", "Qdrant"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/triplef", "markdown": "https://wpnews.pro/news/triplef.md", "text": "https://wpnews.pro/news/triplef.txt", "jsonld": "https://wpnews.pro/news/triplef.jsonld"}}