forked from fangtianchen/algonotes_rag
2.0 KiB
2.0 KiB
🗑️ 删除命令 (delete)
功能
从三层存储中删除笔记。
参数
| 参数 | 缩写 | 说明 | 默认值 |
|---|---|---|---|
filename |
- | 笔记文件名(位置参数) | 必填 |
--force |
- | 跳过确认提示 | False |
--json |
- | 输出到 JSON 文件 | stdout(使用时须指定文件路径) |
使用示例
# 删除单个笔记(需确认)
algonotes delete fenwick.md
# 强制删除(不确认)
algonotes delete fenwick.md --force
# 输出到 JSON 文件
algonotes delete fenwick.md --json result.json
输出示例
默认:
请确认删除 fenwick.md(键入 stop 以撤销操作):
成功删除 fenwick.md
强制删除:
成功删除 fenwick.md
文件不存在:
fenwick.md 文件不存在,无法进行删除
删除逻辑
删除顺序:向量层 → 文件层 → 关系层
- 删除所有分块向量(Chroma)
- 删除原始文件(FileStore)
- 删除元数据记录(SQLite)
流程
graph TD
A[输入 filename] --> B{笔记是否存在?}
B -->|否| C[返回错误]
B -->|是| D{--force?}
D -->|否| E[等待用户确认]
E -->|stop| F[退出]
E -->|继续| G[删除向量]
D -->|是| G
G --> H[删除文件]
H --> I[删除 SQL 记录]
I --> J[返回成功]
依赖模块
| 模块 | 职责 |
|---|---|
src/store/vector_store.py |
向量存储 |
src/store/file_store.py |
文件存储 |
src/store/sql_store.py |
SQL 存储 |
JSON 输出格式
使用 --json <file> 参数将结果保存到 JSON 文件。
{
"file_name": "fenwick.md",
"success": true
}
注意事项
- 删除顺序:按照向量层 → 文件层 → 关系层的顺序删除,确保数据一致性
- 确认提示:默认需要用户确认,使用
--force可跳过确认 - 文件不存在:如果笔记不存在,会返回错误信息