Use cases/Knowledge & Research

Knowledge Base with Semantic Search

Index your company docs, meeting notes, and saved articles for fast AI-powered retrieval — your private RAG system, no SaaS subscription.

Knowledge & Researchmedium~1h setup
Tools
memorymemory_searchexecread_file
Channels
desktoptelegram
Uses
cron

Most "AI for your docs" tools require uploading content to someone else's index. Flowly's memory is local, semantic-search-aware, and already integrated with the agent's reasoning loop — so building a private knowledge base is just a matter of feeding it content.

What it does

  • Ingests Markdown, PDF, txt files from a designated folder
  • Watches for new/changed files and re-indexes incrementally
  • Supports semantic queries: "What did we decide about pricing in March?"
  • Returns source-cited answers — the agent quotes the exact sentence and tells you which document it's from
  • Works alongside other tools: ask "what's in my doc?" and "send a reply" in the same conversation

What you'll need

  • Memory with embeddings configured (Gemini text-embedding-004 is the default and free for low volume)
  • A folder to watch — ~/Documents/knowledge-base/, your Obsidian vault, or a shared Dropbox folder
  • Cron for incremental sync

Setup

1. Create the watch folder

bash
mkdir -p ~/Documents/knowledge-base

Drop in any markdown or text files — meeting notes, product docs, research summaries, contract excerpts. Subfolders are fine; the agent will use them as implicit categories.

2. Initial bulk index

Send to Flowly
Index every file under ~/Documents/knowledge-base/ into memory: - For each file, read its content - Chunk into ~500-token sections - Store each chunk with metadata: source path, section heading, last_modified - Tag everything with "kb" Skip files larger than 1 MB unless I confirm. When done, tell me how many documents and chunks were indexed.

3. Schedule incremental sync

Send to Flowly
Set up a cron job "kb-sync" that runs every hour: 1. Walk ~/Documents/knowledge-base/ 2. For each file, compare its mtime to the most recent indexed mtime in memory 3. Re-index changed or new files (delete old chunks first) 4. Remove chunks for files that no longer exist on disk Log a summary line each run: "kb-sync: +2 new, ~3 updated, -1 removed".

4. Query naturally

From any channel:

"What did we decide about the launch checklist? Cite the source." "Search the knowledge base for anything mentioning the Munich office." "I'm reviewing the Q3 plan — what are the open questions in our notes that we haven't answered?"

The agent runs memory_search, returns matches, and links back to the source files.

Tips

  • Quality over quantity. Indexing every email + every Slack message drowns the search. Start with a curated set; expand only when you hit search misses.
  • Chunk boundaries matter. Split on heading boundaries when possible. Mid-paragraph chunks lose context. Markdown's ## structure is a good proxy.
  • Source citation is non-negotiable. Configure the agent to always return source paths with answers. Without citations, you can't trust the response.
  • Pair with a "knowledge gap" log. When the agent answers "I couldn't find anything about X", capture the query in a separate log. After a month, those queries reveal what your KB is missing.
  • Consider scope by channel. Desktop = full KB access. Telegram on phone = narrower scope (skip 50-page contracts). Configure with a per-channel system prompt.