💬">
v0.2.13 — Open Source & Free

AI that lives in your Markdown

Any editor Any model

Every AI reply becomes a Markdown file you own. In Obsidian / Typora / VS Code / Vim, type a command and save — AI writes back inside the file. Image hosting, email, cron jobs, news, and more Skills work the exact same way.

The Problem with Today's AI Tools

Current AI assistants force you into their ecosystem. ChatMarkdown takes a different approach.

🔒

Data Trapped in the Cloud

Your conversations, notes, and data live on someone else's server. Platform shuts down? Data gone.

👁️

AI Sees Everything You Type

Copilot reads your entire codebase. ChatGPT stores every conversation. You have zero control over what data reaches AI.

🎰

AI Hallucination Risk

AI-centric agents let LLMs make every decision. Same prompt, different results. Unpredictable tool calls.

🔗

Platform Lock-in

Must use a specific app, browser, or terminal. Offline? Completely useless. Switching costs are huge.

How It Works

Three steps. That's it.

1

Install & Init

pip install chatmd

chatmd init ~/workspace

2

Start Agent

chatmd start

# Agent watches your files

3

Edit & Save

/ask What is quantum entanglement?

→ AI responds in your file

You Control What AI Sees

ChatMarkdown never sends a single byte to AI that you didn't explicitly choose. Here's how.

# Your workspace boundary

chatmd init ~/my-project

# Agent only watches files you specify

watcher:

  watch_files: ["chat.md"]

  watch_dirs: ["chat/"]

# Only the line you point to reaches AI

/translate(ja) Hello world

→ AI receives: "Hello world"

→ AI never sees: your other 10,000 files

🎯

Workspace Boundary

chatmd init sets the fence. Agent operates only within your chosen directory.

📄

File-Level Precision

Configure exactly which files and directories the agent watches. Everything else is invisible.

🛡️

KernelGate Isolation

AI is an untrusted "user process." The deterministic engine is the "kernel." All AI output is filtered before writing.

📋

Full Audit Trail

Every command: parsed → routed → called → filtered → written. Complete lifecycle logged. Type /log to inspect.

Built Different

The agent engine is deterministic code — not AI. AI is just one tool it orchestrates.

🛡️

Security Isolation

KernelGate separates the trusted engine from untrusted AI. Only the text you explicitly choose is sent. Every action is audited.

🔒

100% Local Data

Your data stays on your machine as plain Markdown files. You own everything. Always.

🔀

Swap Any AI Provider

OpenAI, Claude, local Ollama — one config change. No vendor lock-in. MIT licensed, forever free.

✏️

Any Editor

VS Code, Vim, Obsidian, Typora, Notepad — anything that can edit a .md file works.

🎯

Deterministic Routing

/translate(ja) Hello always routes to the translation skill. No LLM guessing.

🌐

Offline-First

Local commands work offline. Remote tasks queue automatically and execute when you're back online.

🔌

Infinitely Extensible

Add skills with YAML (zero code) or Python plugins. Hot-reload — no restart needed.

🔄

Git-Native Sync

Auto commit + push/pull. Multi-device sync and full version history for free.

Zero Lock-in. Swap Everything.

Leave ChatMarkdown anytime — your data is plain Markdown. Switch editors in seconds. Switch AI providers in one line.

✏️

Swap Editor

VS Code → Vim → Obsidian → Typora → Notepad. Any app that edits .md files.

🤖

Swap AI

OpenAI → Claude → Gemini → local Ollama. One line in agent.yaml.

📂

Own Your Data

Plain Markdown + Git. Stop using ChatMarkdown? Your files are still readable, searchable, yours.

⚖️

MIT Licensed

Read every line of code. Fork it. Modify it. Sell it. No proprietary SDK, no hidden fees, forever.

Things You Can Do — Right Inside Your Local Markdown Notes

Writing, automation, digital assets — all happen inside .md files.

Your writing workbench

📝

AI Writing Studio

Rewrite, expand, polish, summarize, translate — all inside your Markdown file. No tab-switching to ChatGPT.

/rewrite improve this paragraph
🧠

Smart Note Enhancement

Auto-tag, auto-title, auto-link your old notes. Your vault gets smarter the longer you use it.

@ai{tag and link this note}
🗺️

Mind Maps · Obsidian Canvas

Generate and edit Obsidian Canvas with AI. Convert between Markdown outlines and Canvas — your ideas, never fragmented by tooling.

/canvas outline.md → mindmap
🌐

Notes → Live · One Step

Finish a note, hit publish — instantly live on a shareable URL. Send it to whoever you want, no re-export, no copy-paste.

/publish → share URL

Put AI on autopilot

📰

Daily News Briefing

Wake up to a fresh news.md summarizing HN, Reddit, RSS, newsletters — whatever you follow.

/news hn,reddit → news.md

cron.md · Scheduled Tasks

Write one cron line in Markdown. AI shows up on time, every time — no platform glue needed.

0 9 * * * /news
📧

Email Notifications

Cron done, news brief ready, long AI task finished, key events triggered — ping your inbox automatically.

/mail to:me subject:cron done
📱

Telegram Bot · Mobile Capture

Forward a link, voice memo, or photo to your Telegram bot — auto-archived into your vault.

Telegram → inbox/2026-05-14.md

Your digital assets, forever yours

🖼️

Native Image Hosting

Paste a screenshot, save — auto-uploaded to image hosting, URL inlined back into your file. Notes with images, links that last.

/upload screenshot.png → URL
🔀

Multi-Device · Git Sync

Your vault is a Git repo. Push to any remote, pull to any device, git checkout to any historical version.

git pull → any device
♾️

Lifelong Knowledge Partner

Questions you ask today — still greppable next year. AI conversations don't evaporate into vendor session history.

grep "quantum" vault/*.md
💾

Zero Lock-in · Real Digital Assets

Plain Markdown + Git. Swap editor, swap AI, recover any note from any commit. No vendor owns your work.

git log -- chat.md

How ChatMarkdown Compares

We occupy a unique position: local-first + deterministic.

Dimension Claude Code / Cursor ChatGPT / Claude Web ChatMarkdown
Core Brain AI (LLM decides) AI (LLM decides) Deterministic Code
Data Location Local (session temp) Cloud Local (Markdown + Git)
Interaction Terminal (blocking) Browser Any editor (async)
Offline ❌ No ❌ No ✅ Local skills work
Extensibility Limited Plugins (cloud) YAML + Python (local)
Persistence Session temporary Cloud history Git versioned forever
Data Sent to AI Entire codebase All conversations Only what you choose
AI Provider Single Provider Single vendor Any (swap in config)
License Proprietary Proprietary MIT (forever free)

40+ Built-in Commands

From date stamps to AI writing — all through slash commands.

AI Conversation

/ask What is quantum computing?

/translate(ja) Hello world

✍️ AI Writing

/rewrite improve this paragraph

/summary @above

/expand /polish /tag /title

🧠 Natural Language

@ai{translate this to French}

@ai{summarize the above}

📅 Date & Time

/date /datetime /timestamp

/week /weekday /progress

📋 Markdown Templates

/table(3x4) /code(python)

/todo /link /img /heading

🔧 Infrastructure

/sync /log /status /list

/new /upload /canvas

Quick Start

Up and running in 60 seconds.

Terminal

# Install

pip install chatmd

# Initialize a workspace

chatmd init ~/my-workspace

# Start the agent

chatmd start

# Open chat.md in your favorite editor and type:

/ask What is ChatMarkdown?

# Save the file → agent responds in-place ✨

Works on Windows, macOS, and Linux · Python 3.10+

Code Is the Brain. AI Is Just a Tool.

Unlike AI-centric agents where LLMs decide everything, ChatMarkdown uses deterministic code as the routing engine. AI is called only for what it's good at — understanding and generating content.

User input

Agent Engine (deterministic code)

Exact routing

├─ Local Skill → execute directly

├─ AI Skill → LLM for analysis & generation

├─ Remote Skill → API call

└─ Composite → orchestrate

Result written back to your file

Open Source. MIT Licensed. Forever Free.

ChatMarkdown is built in the open. Star us on GitHub, report issues, contribute code, or build your own skills.

MIT License · Python 3.10+ · 659+ Tests · 中文