AI that lives in your Markdown
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.
Install & Init
pip install chatmd
chatmd init ~/workspace
Start Agent
chatmd start
# Agent watches your files
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.
# 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.