名称: 草稿本 描述: | 基于Markdown的复杂任务工作内存。使用场景:需要5个以上工具调用时、研究多个来源时、 分析/比较项目时、多步骤工作流程时。记录过程 → 参考以生成响应 → 使用后删除
草稿本 - 基于Markdown的任务内存
简单的markdown文件,用于在复杂任务期间跟踪进度。所有内容直接写入.md文件以便立即使用。
快速开始
# 初始化草稿本
python scripts/scratch_pad.py init "任务名称"
# 添加内容
python scripts/scratch_pad.py append "发现: 分析显示..."
# 记录工具调用
python scripts/scratch_pad.py log-tool "web_search" '{"query": "AI趋势"}' "找到10个结果"
# 读取当前内容
python scripts/scratch_pad.py read
核心命令
基本操作
# 开始新任务
python scripts/scratch_pad.py --file /path/to/scratch.md init "任务名称"
# 添加任何内容
python scripts/scratch_pad.py append "要添加的内容..."
# 添加章节标题
python scripts/scratch_pad.py section "研究发现"
# 读取整个便笺
python scripts/scratch_pad.py read
结构化日志
# 记录工具执行
python scripts/scratch_pad.py log-tool "工具名称" '{"参数": "值"}' "结果文本"
# 添加发现
python scripts/scratch_pad.py finding "重要发现" --category "分析"
# 添加检查点
python scripts/scratch_pad.py checkpoint "第一阶段完成"
# 添加待办事项
python scripts/scratch_pad.py todo "跟进此事"
python scripts/scratch_pad.py todo "完成任务" --done
# 标记完成
python scripts/scratch_pad.py complete
何时使用
始终用于:
- 需要5个以上工具调用的任务
- 多源研究(例如“请调查”)
- 比较分析(例如“请比较”)
- 信息合成(例如“请总结”)
- 逐步处理
集成模式
# 1. 在任务开始时初始化
SCRATCH_FILE="FILESYSTEM_BASE_DIR/files/{channel_id}/tmp/scratch_{timestamp}.md"
python scripts/scratch_pad.py --file $SCRATCH_FILE init "用户请求摘要"
# 2. 记录每个工具调用
python scripts/scratch_pad.py --file $SCRATCH_FILE log-tool "mcp__perplexity__search" '{"query": "..."}'
# 执行工具...
python scripts/scratch_pad.py --file $SCRATCH_FILE append "结果: 找到X个相关项目"
# 3. 添加发现
python scripts/scratch_pad.py --file $SCRATCH_FILE finding "研究中的关键见解"
# 4. 读取内容以供参考(请勿在响应中包含原始内容)
CONTENT=$(python scripts/scratch_pad.py --file $SCRATCH_FILE read)
# 使用$CONTENT作为参考,在mcp__slack__answer中编写有组织的响应
# 5. 清理(必需)
rm $SCRATCH_FILE
重要提示:
- 草稿本仅供您自己参考使用
- 请勿将原始markdown内容复制/粘贴到响应中
- 使用它来组织和编写适当的答案
- 任务完成后务必删除草稿文件
输出格式
markdown文件结构便于阅读:
# 📋 任务名称
**创建时间:** 2025-11-05 10:00:00
**状态:** 🔄 进行中
---
## 📝 任务概述
任务: 研究竞争对手产品
开始时间: 2025-11-05 10:00:00
---
## 研究发现 (10:05:23)
[10:05:30] 发现3个主要竞争对手...
### 🔧 [10:06:15] 工具: web_search
**参数:**
```json
{
"query": "竞争对手分析"
}
结果:
找到10个相关结果
✅ 检查点: 初步研究完成
时间: 10:15:00 收集了所有竞争对手的基本信息
## 最佳实践
1. **使用描述性章节标题** - 使内容易于导航
2. **立即记录工具** - 在执行前捕获参数
3. **边进行边添加发现** - 不要等到最后
4. **使用检查点** - 标记主要里程碑
5. **参考而非复制** - 使用草稿本作为有组织响应的参考
6. **始终清理** - 任务完成后删除草稿文件
7. **保持简洁** - 专注于对您参考的关键信息
## 模块使用
```python
from scripts.scratch_pad import ScratchPadManager
# 初始化
manager = ScratchPadManager('/tmp/task.md')
manager.init("复杂分析任务")
# 添加内容
manager.add_section("研究阶段")
manager.append("开始研究主题X...")
# 记录工具
manager.log_tool("web_search", {"query": "主题X"}, "找到10个结果")
# 添加发现
manager.add_finding("主题X年增长率50%", "市场趋势")
# 读取内容
content = manager.read()
# 标记完成
manager.complete()
文件管理
- 位置: 始终在
FILESYSTEM_BASE_DIR/files/{channel_id}/tmp/ - 命名:
scratch_{timestamp}.md或scratch_{task_id}.md - 清理: 任务完成后删除
- 大小限制: 保持小于1MB以确保性能
为何使用Markdown?
- ✅ 人类可读格式
- ✅ 无需JSON解析开销
- ✅ 直接追加操作
- ✅ 易于包含在响应中
- ✅ 可手动查看/编辑
- ✅ 文档的自然结构