The Markdown notebook where your words seamlessly become durable context for AI agents.
Markdown · Open Source · Multi Agent · MCP & CLI
Write in Markdown, point an agent to the context it needs, and save the result back to the same note — ready to review, edit, and reuse next time.
Keep product work, development, research, and personal knowledge together, so agents can continue without starting over.
| Use case | What it does |
|---|---|
| Product work | Keep requirements, feedback, decisions, and PRDs up to date. |
| Software development | Give coding agents the context to continue your project. |
| Research | Keep sources, analysis, and conclusions together and reusable. |
| Personal knowledge | Turn notes, plans, and preferences into useful agent context. |
Use agents inside Flowix or connect Codex, Claude Code, OpenCode, Hermes, and other MCP or CLI tools — all working from the same notes and context.
dsh-flowix-memory is a DeepSeek Harness plugin that connects any Harness agent to your local Flowix notes through the bundled flowix-cli MCP server: the agent gets the mcp__flowix__memo tool to search, read, create, and edit Flowix memos (including mind maps).
Install it into the flowix Harness profile from the flowix-main checkout (not yet published to npm). In other DSH clients, flowix is an ordinary custom profile name:
dsh plugin --profile flowix add ./dsh-flowix-memoryRequires the flowix CLI on PATH (or set FLOWIX_CLI_PATH) with access to your notebook data (~/.flowix). See the plugin README for details.
Use a UTF-8 file as the recommended way to pass Markdown content to create and write, especially from Windows PowerShell 5.1. This avoids text being damaged by stdin pipeline encoding. UTF-8 files may include a BOM, and files without a BOM are supported too.
flowix create <notebook> --file body.md --json
flowix write <id> --file body.md --jsonOn Windows, stdin is no longer read implicitly when neither input option is given, preventing PowerShell 5.1's $OutputEncoding from corrupting non-ASCII text. If the caller has guaranteed UTF-8 stdin, opt in explicitly:
$OutputEncoding = [System.Text.UTF8Encoding]::new($false)
Get-Content -Raw -Encoding UTF8 body.md | flowix create <notebook> --stdin --json--file and --stdin are mutually exclusive. The --file path is read directly as UTF-8; a missing, unreadable, or invalid UTF-8 file returns an error. With --json, errors use the stable {ok:false,error:{code,message}} shape.
Flowix keeps your work as plain Markdown files on your device. You choose what agents can access, when context is sent, and how your files are synced, backed up, or versioned.
- Files you can open anywhere — Your notes are saved as plain Markdown on your device, so you can read and edit them with other apps.
- Agents see only what you choose — Share a single note, a folder, or a whole notebook — only when you want an agent to use it.
- Use the agents you already trust — Connect Codex, Claude Code, OpenCode, or another external agent. Flowix shares only the context you choose, when you start a task.
- Sync and back up your way — Use the sync, backup, or version-control tools you already trust. There's nothing to export.
![]() Note library with tags |
![]() Note detail with agent presets |
![]() Agent model picker |
![]() Full-text and file search |
![]() Provider and MCP configuration |
![]() Code file browsing and editing |
- Download and install Flowix from the website.
- Create a new local folder, or register an existing folder as a notebook.
- Create a document and write down the task background, reference materials, goals and constraints.
- Call an agent from within the document, or keep organizing content with tags and properties.
git clone https://github.com/text2future/flowix.git
cd flowix
npm install
npm run tauri:dev
npm run tauri:build:prodRun npm run dev separately only when you want the Vite frontend without the Tauri desktop backend.
The desktop dev build (npm run tauri:dev) connects to https://cloud.flowix.cc by default. In Preferences → Development → Environment configuration, choose Staging or Prod; Flowix restarts to apply the change. The saved preference is authoritative and takes precedence over the build default. --cloud-env=staging|prod sets that default and is used until a preference is saved. The environments keep separate sign-in credentials and sync databases.
npm run tauri:dev -- --cloud-env=staging
npm run tauri:dev -- --cloud-env=prodnpm run tauri:dev:pi and npm run tauri:dev:win accept the same option. Production packages built with npm run tauri:build:prod always connect to https://cloud.flowix.cc, and do not show the environment selector. Running npm run dev alone starts only the Vite frontend; it does not start desktop Cloud sync.
The development environment requires Node.js 20+, Rust 1.75+ and Tauri v2; the desktop app supports macOS 14+ and Windows 10+.
Flowix is open source under the MIT License.









