145 lines
3.1 KiB
Markdown
145 lines
3.1 KiB
Markdown
# MemosCLI
|
|
|
|
[](https://ratatui.rs/)
|
|
|
|
使用命令行管理自己部署的 [Memos](https://usememos.com/)。
|
|
|
|
## 功能特性
|
|
|
|
- **TUI 交互界面**:基于 Ratatui 的终端用户界面,支持键盘导航
|
|
- **CLI 命令行模式**:支持命令行直接操作,便于脚本集成
|
|
- **Memo 管理**:创建、查看、列出 Memos
|
|
- **多可见性选项**:支持 PRIVATE、PUBLIC、PROTECTED 等可见性设置
|
|
- **分页浏览**:支持分页查看 Memos 列表
|
|
- **配置持久化**:自动保存服务器地址和 Token 配置
|
|
|
|
## 安装
|
|
|
|
### 从源码编译
|
|
|
|
```bash
|
|
git clone https://github.com/your-repo/memoscli.git
|
|
cd memoscli
|
|
cargo build --release
|
|
```
|
|
|
|
编译后的二进制文件位于 `target/release/memoscli`。
|
|
|
|
## 使用方法
|
|
|
|
### TUI 模式(默认)
|
|
|
|
直接运行程序进入 TUI 交互界面:
|
|
|
|
```bash
|
|
memoscli
|
|
```
|
|
|
|
#### 主菜单操作
|
|
|
|
| 按键 | 功能 |
|
|
|------|------|
|
|
| `↑` / `↓` | 导航菜单 |
|
|
| `Enter` | 选择菜单项 |
|
|
| `Q` | 退出程序 |
|
|
|
|
#### 创建 Memo
|
|
|
|
| 按键 | 功能 |
|
|
|------|------|
|
|
| `i` | 进入编辑模式 |
|
|
| `v` | 选择可见性 |
|
|
| `/` | 显示帮助 |
|
|
| `Enter` | 提交 Memo |
|
|
| `Esc` | 返回主菜单 |
|
|
|
|
编辑模式下:
|
|
|
|
| 按键 | 功能 |
|
|
|------|------|
|
|
| `Enter` | 换行 |
|
|
| `Esc` | 退出编辑模式 |
|
|
|
|
#### 查看 Memos 列表
|
|
|
|
| 按键 | 功能 |
|
|
|------|------|
|
|
| `↑` / `↓` | 选择 Memo |
|
|
| `←` / `→` | 翻页 |
|
|
| `Enter` | 查看详情 |
|
|
| `R` | 刷新列表 |
|
|
| `Esc` | 返回主菜单 |
|
|
|
|
#### 配置设置
|
|
|
|
| 按键 | 功能 |
|
|
|------|------|
|
|
| `Tab` | 切换输入字段 |
|
|
| `Enter` | 保存配置 |
|
|
| `Esc` | 取消并返回 |
|
|
|
|
### CLI 命令行模式
|
|
|
|
#### 配置
|
|
|
|
```bash
|
|
# 设置服务器地址和 Token
|
|
memoscli config --base-url https://your-memos-server.com --token your-token
|
|
|
|
# 查看当前配置
|
|
memoscli config --show
|
|
```
|
|
|
|
#### 创建 Memo
|
|
|
|
```bash
|
|
# 直接输入内容
|
|
memoscli create --content "Hello, Memos!"
|
|
|
|
# 从文件读取内容
|
|
memoscli create --file memo.md
|
|
|
|
# 指定可见性
|
|
memoscli create --content "Public memo" --visibility PUBLIC
|
|
```
|
|
|
|
#### 列出 Memos
|
|
|
|
```bash
|
|
# 列出最近的 Memos
|
|
memoscli list
|
|
|
|
# 指定数量和偏移
|
|
memoscli list --limit 50 --offset 10
|
|
```
|
|
|
|
## 配置文件
|
|
|
|
配置文件存储位置:
|
|
|
|
- **Linux/macOS**: `~/.config/memoscli/config.json`
|
|
- **Windows**: `%APPDATA%\memoscli\config\config.json`
|
|
|
|
配置文件格式:
|
|
|
|
```json
|
|
{
|
|
"base_url": "https://your-memos-server.com",
|
|
"user_token": "your-api-token"
|
|
}
|
|
```
|
|
|
|
## 依赖
|
|
|
|
- [ratatui](https://ratatui.rs/) - 终端 UI 框架
|
|
- [crossterm](https://github.com/crossterm-rs/crossterm) - 终端操作库
|
|
- [reqwest](https://github.com/seanmonstar/reqwest) - HTTP 客户端
|
|
- [tokio](https://tokio.rs/) - 异步运行时
|
|
- [clap](https://github.com/clap-rs/clap) - 命令行参数解析
|
|
- [chrono](https://github.com/chronotope/chrono) - 日期时间处理
|
|
- [anyhow](https://github.com/dtolnay/anyhow) - 错误处理
|
|
|
|
## 许可证
|
|
|
|
MIT License
|