From 6e1eccc5e2c75985c42b3eb73e998edb14971ef2 Mon Sep 17 00:00:00 2001 From: MangoFanFanw Date: Mon, 11 May 2026 13:25:21 +0800 Subject: [PATCH] Add README.md with project overview, build instructions, and keybindings. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Code + Kimi 🐾 --- README.md | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..113e881 --- /dev/null +++ b/README.md @@ -0,0 +1,68 @@ +# Meow 🐱 + +> A high-performance terminal AI chat client written in Rust. + +Meow 是一个纯文本终端 AI 聊天客户端,基于 Rust + ratatui 构建,支持任意 OpenAI 兼容的 API 提供商(DeepSeek、Kimi、硅基流动等)。 + +## Features + +- **OpenAI 兼容层** — 支持任意 OpenAI API 兼容的模型提供商 +- **实时流式输出** — SSE 逐字渲染,支持随时中断(`Ctrl+C`) +- **Markdown 渲染** — 粗体、斜体、行内代码、代码块语法高亮、列表、引用块 +- **聊天记录持久化** — 自动保存到 `~/.meow/data/sessions/*.jsonl` +- **模型获取与切换** — 内置模型列表获取,支持搜索过滤 +- **多行输入** — `Shift+Enter` 换行,`Enter` 发送 +- **鼠标滚轮支持** — 可滚动浏览历史消息 + +## Build + +```bash +cargo build --release +``` + +编译完成后,二进制文件位于: +- Windows: `target/release/meow.exe` +- Linux/macOS: `target/release/meow` + +## First-Time Setup + +首次运行时会自动进入 **Add Provider** 引导界面,填写以下信息: + +| 字段 | 示例 | +|------|------| +| Name | `DeepSeek` | +| Base URL | `https://api.deepseek.com` | +| API Key | `sk-...` | +| Default Model (optional) | `deepseek-chat` | + +配置保存于 `~/.meow/config.toml`,之后可随时按 `Ctrl+S` 修改。 + +## Keybindings + +| 按键 | 功能 | +|------|------| +| `Enter` | 发送消息 | +| `Shift+Enter` | 输入框内换行 | +| `Ctrl+P` | 打开模型选择器 | +| `Ctrl+S` | 打开 Provider 配置 | +| `Ctrl+N` | 新建会话 | +| `Ctrl+B` | 显示/隐藏侧边栏 | +| `Ctrl+R` | 清空当前会话 | +| `Ctrl+C` | 停止 AI 流式输出 | +| `Ctrl+Q` | 退出程序 | +| 鼠标滚轮 | 滚动消息历史 | + +## Tech Stack + +| 模块 | 依赖 | +|------|------| +| 异步运行时 | `tokio` | +| HTTP / SSE | `reqwest` | +| TUI 框架 | `ratatui` + `crossterm` | +| Markdown 解析 | `pulldown-cmark` | +| 代码高亮 | `syntect` | +| 配置存储 | `serde` + `toml` + `dirs` | + +## Authors + +**Claude Code + Kimi** 🐾