A complete overview of every module in Inkess — from Markdown rendering to AI data analysis.
Beautiful rendering with markdown-it + highlight.js. Edit with a formatting toolbar — no need to memorize syntax.
markdown-it parsing + highlight.js code highlighting. Read Markdown like a polished document.
Bold, italic, headings, lists, code blocks, links, images, tables — all one click away in edit mode.
8×6 grid selector. Hover to preview size, click to generate a Markdown table instantly.
Pick an image file or Cmd+V paste a screenshot. Auto-copied to the same directory, syntax inserted.
Cmd+B bold, Cmd+I italic, Cmd+Shift+X strikethrough, Cmd+K link. Muscle memory friendly.
3-second debounced auto-save with unsaved change indicator. Never lose your work.
Preview / Edit / Split three-mode toggle. Side-by-side editing with synchronized scrolling. Auto-collapses on narrow screens.
Auto-pairs ()[]{}""''. Wraps selected text, skips existing closers, Backspace deletes both.
Not a chatbot — a data analyst. Bring your own API Key (OpenAI / DeepSeek / Qwen / custom). Multi-round tool use with deep thinking mode.
read_file, list_directory, search_files, grep_files, web_search, run_python, search_knowledge, fetch_url, write_file, open_file — AI orchestrates them automatically.
Auto-downloads python-build-standalone + numpy/pandas/matplotlib/scipy/seaborn. AI writes and runs code to analyze your data.
Toggle on for up to 30 rounds of multi-step reasoning. Plan → analyze → dig deeper → report. Prompt is visible and editable.
DuckDuckGo (free default), Tavily (AI-optimized), Brave Search (privacy), SerpAPI (Google results). Configurable per provider.
Auto-summarizes conversations into long-term memory per directory. AI remembers your preferences and context across sessions.
Auto-Decay saves large tool results to disk (2KB preview in chat). Auto-Compact summarizes old messages when conversations grow long.
5 preset templates (Default / Data Analysis / Research / Code / Minimal) + fully custom base prompt. Switch with one click.
Store API keys per provider URL. Switching presets auto-saves and restores the corresponding key. Show/hide toggle for security.
Cancel AI responses mid-stream. Red stop button replaces send during streaming. Rust-side AtomicBool ensures clean cancellation.
Cmd+F to search through AI chat messages. Keyword filtering with match count display.
One app to preview them all. No need to install separate viewers for different file types.
pdfjs-dist with binary data passthrough (bypasses CSP). Smooth page navigation.
mammoth converts to HTML for instant preview. No Microsoft Office needed.
SheetJS read-only table rendering with multi-sheet tab switching.
Syntax highlighting for 30+ languages. Dark background, line numbers, language label. Supports .vue/.svelte/.dart and more.
Tauri asset protocol with zoom controls. PNG, JPG, GIF, SVG, WebP.
Blob URL iframe with sandbox isolation. Toggle between source code and rendered preview.
Convert Markdown to PDF, Word, HTML, or PPT. Pure frontend — no Pandoc, no server. What you see is what you get.
jsPDF + html2canvas. Renders an offscreen DOM with your chosen theme, then captures pixel-perfect pages.
docx library recursively parses HTML nodes into Word paragraphs. Supports nested formatting, lists, tables.
markdown-it rendering + inline theme CSS. Self-contained single file, opens in any browser.
Export slides from Markdown headings. Pro feature with no watermark.
Local SQLite database stores full-text snapshots with SHA-256 deduplication. Roll back to any previous version.
Visual dot timeline at the bottom. Click any snapshot to preview that version instantly.
Dual retention policy: by days + per-file count. Auto-VACUUM reclaims disk space after cleanup.
Built-in terminal, Git panel, and file search. Write docs and run commands in the same window.
Full terminal with zsh/bash/cmd support. 5 color schemes (Solarized/Nord/Catppuccin/Rosé Pine). Session logging with history viewer.
Visual diff, stage, commit, push/pull with multi-remote support. Timeout protection for network operations.
Manage environment variable sets (API keys, configs). Import from .zshrc/.bashrc functions. Switch providers to open new terminal tabs.
Rust-powered recursive search (8 levels deep, 50 results max). 200ms frontend debounce for instant results.
Local embedding vectors + semantic search. Index your entire workspace — text, code, PDF, Word, Excel — and let AI search by meaning.
ort (ONNX Runtime, statically linked) generates embedding vectors locally. No data leaves your machine.
Vector similarity search powered by sqlite-vec. Fast retrieval across thousands of document chunks.
pdf-extract for PDF, zip+quick-xml for Docx, calamine for Xlsx. Smart chunking with CJK support.
HuggingFace + hf-mirror.com fallback. 15s connect + 5min download timeout. Progress bar in UI.
Connect to Model Context Protocol servers via stdio or HTTP. Extend AI capabilities with external tools.
JSON-RPC over stdio (local processes) or HTTP (remote servers). Unified McpTransport interface.
30s periodic health check detects dead servers and auto-reconnects. call_tool failure triggers one retry.
Filesystem, Brave Search, GitHub, SQLite, Memory — one-click fill from dropdown presets.
Last 100 tool calls stored in memory. Expandable log viewer with request/response details.
Three built-in themes, full bilingual UI, and a tabbed settings panel. Everything adapts to your preference.
GitHub Classic, Minimal, and Dark. Each theme is a standalone CSS file registered in themes.ts. One-click switch.
200+ translation keys via custom React Context i18n. GBK encoding support. Chinese fonts built-in via @fontsource.
Appearance / Data / MCP / License tabs. Height auto-adapts to content. Consistent with AI config dialog layout.
App / File / Edit / View / Window / Help menus. About dialog with version, shortcuts, and feedback link.
Defense in depth. Path validation, XSS prevention, resource cleanup, process management — hardened through comprehensive code review.
Blocklist covers .ssh/.kube/.docker/.aws and more. sandbox_path rejects all operations when no workspace is open.
escapeHtml for rendering, protocol filtering (javascript:/data:/vbscript:) for user URLs, iframe sandbox for HTML preview.
fetch_url blocks all private IP ranges (127/10/172.16-31/192.168/169.254/IPv6). HTTP redirects disabled.
Non-blocking PTY cleanup, Git timeout protection, Python process kill on timeout, graceful app exit with full resource cleanup.
SSE buffer 512KB cap, Blob URL lifecycle tracking, UTF-8 char boundary safe truncation, race condition guards.
HMAC-SHA256 offline verification. Keys externalized from source code, injected at compile time via build.rs.