algonotes_rag/docs/cli
zaochen f70307f49e [feat] CLI/MCP ingest 支持 --filename/-n 自定义文件名(含文档更新) 2026-07-05 14:08:34 +08:00
..
README.md [fix] 修复代码与文档不一致:移除残留clean引用、实现info --id、修正MCP文档 2026-06-29 18:56:58 +08:00
delete.md [feat] update 命令实现 + CLI 文档格式统一 2026-06-24 17:10:55 +08:00
ingest.md [feat] CLI/MCP ingest 支持 --filename/-n 自定义文件名(含文档更新) 2026-07-05 14:08:34 +08:00
query.md [feat] 实现单行 RAG 问答命令 + MCP ask 工具 2026-06-29 17:13:16 +08:00
update.md [refactor] 移除命令行参数中的 --clean 选项并更新文档 2026-06-29 17:06:13 +08:00

README.md

📟 CLI 命令行工具

状态:已完成 | 最后更新2026-06-25


📋 设计目标

  1. 与 MCP 功能对等,提供脚本化、批量操作的接口
  2. 覆盖笔记管理、语义查询、交互问答等核心场景
  3. 支持 algonotes 命令和 python -m scripts.<module> 两种调用方式

📁 目录结构

scripts/
├── __init__.py
├── cli.py              # algonotes 统一入口
├── ingest.py           # 导入笔记
├── delete.py           # 删除笔记
├── update.py           # 更新笔记
├── query.py            # 查询笔记
├── chat.py             # 交互式问答
│
└── tui/                # TUI 界面模块(规划中)
    └── ...

🚀 调用方式

方式 1algonotes 命令(推荐)

uv run algonotes ingest -i ./my_notes/
uv run algonotes query list
uv run algonotes chat

方式 2独立模块

uv run python -m scripts.ingest -i ./my_notes/
uv run python -m scripts.query list

📋 命令总览

分类 命令 用途 详见
ingest 导入笔记 ingest.md
update content 更新笔记内容 update.md
update metadata 更新笔记元数据 update.md
delete 删除笔记 delete.md
query show/list/info/search 查询笔记 query.md
query export 导出笔记Obsidian query.md
query ask RAG 问答 query.md

⚙️ 通用参数

所有输出类命令(showlistinfosearch)支持以下参数:

参数 说明 默认值
--json 输出到 JSON 文件(指定文件路径) 若使用此参数,必须指定文件路径

使用示例

# 默认输出到 stdout人类可读
algonotes search "树状数组"

# 输出到 JSON 文件
algonotes search "树状数组" --json results.json

JSON 输出格式:各命令 JSON 格式详见对应文档

命令 JSON 格式
show query.md
list query.md
info query.md
search query.md

🔄 CLI vs MCP 对照

功能 CLI 命令 MCP 工具
导入笔记 algonotes ingest ingest
更新内容 algonotes update content update
更新元数据 algonotes update metadata metadata
删除笔记 algonotes delete delete
查看原文 algonotes query show show
列出笔记 algonotes query list list
语义搜索 algonotes query search search
RAG 问答 algonotes query ask ask
导出笔记 algonotes query export export

⚙️ 配置

已在 pyproject.toml 中注册:

[project.scripts]
algonotes = "scripts.cli:main"