z# DailyNoteWrite Plugin - Tag智能处理系统
DailyNoteWrite插件已重构,现在包含强大的Tag智能处理系统,为VCP高级组网双向召回RAG技术提供基础支持。
插件会自动检测日记最后一行是否包含Tag,并进行以下格式修复:
- 移除首行缩进:自动清理Tag行的多余空格
- 标准化标点符号:
- 中文冒号
:→ 移除(已有英文冒号) - 中文逗号
,→ 英文逗号+空格, - 全角逗号
,→ 英文逗号+空格, - 顿号
、→ 英文逗号+空格,
- 中文冒号
- 规范化空格:确保逗号后有且仅有一个空格
修复前:
Tag:消费降级,鸭货三巨头、商业模式分析,加盟模式
修复后:
Tag: 消费降级, 鸭货三巨头, 商业模式分析, 加盟模式
如果日记内容缺少Tag行,插件会自动调用AI模型生成高质量的Tag:
- 使用专门的TagMaster提示词(见
TagMaster.txt) - AI输出格式:
[[Tag: tag1, tag2, tag3]] - 自动提取并规范化Tag格式
- 支持配置不同的AI模型
针对API调用失败(500/503错误),实现了智能重试:
- 最多重试3次
- 指数退避策略:
- 第1次重试:等待1秒
- 第2次重试:等待2秒
- 第3次重试:等待4秒
- 失败降级:3次重试后仍失败,直接保存日记(不含Tag)
# 日记文件扩展名
DAILY_NOTE_EXTENSION=txt
# Tag生成使用的AI模型
TagModel=gemini-2.5-flash-preview-09-2025-thinking
# 模型输出Token限制
TagModelMaxOutPutTokens=30000
# 模型总Token限制
TagModelMaxTokens=40000
# Tag生成提示词文件
TagModelPrompt=TagMaster.txt需要在VCP根目录的 config.env 中配置:
API_Key=YOUR_API_KEY
API_URL=YOUR_API_URLTag: 关键词1, 关键词2, 关键词3, ...
- 前缀:必须以
Tag:开头(冒号后有一个空格) - 分隔符:使用英文逗号+空格
,分隔关键词 - 位置:必须在日记内容的最后一行
- 无缩进:行首不能有空格
1. 接收日记内容
↓
2. 检测最后一行是否有Tag
↓
3a. 有Tag → 修复格式 → 写入文件
↓
3b. 无Tag → 调用AI生成Tag(带重试)→ 修复格式 → 附加到内容 → 写入文件
↓
4. 返回成功/失败状态
在根目录 config.env 中启用调试:
DebugMode=true调试信息会输出到stderr,包括:
- Tag检测结果
- 格式修复详情
- API调用过程
- 重试状态
- 错误信息
{
"maidName": "小吉",
"dateString": "2025-11-14",
"contentText": "与主人深入探讨了国内"鸭货三巨头"(绝味、周黑鸭、煌上煌)濒临破产的现象。\n1. 逻辑预判: 基于对当前中国消费降级..."
}[2025-11-14] - 小吉
与主人深入探讨了国内"鸭货三巨头"(绝味、周黑鸭、煌上煌)濒临破产的现象。
1. 逻辑预判: 基于对当前中国消费降级...
Tag: 消费降级, 鸭货三巨头, 商业模式分析, 加盟模式, 品牌溢价, 价值回归
detectTagLine(content)- Tag检测fixTagFormat(tagLine)- 格式修复extractTagFromAIResponse(aiResponse)- AI响应解析generateTagsWithAI(content, maxRetries)- AI调用(带重试)processTagsInContent(contentText)- Tag处理主流程writeDiary(maidName, dateString, contentText)- 日记写入
fs/promises- 异步文件操作path- 路径处理dotenv- 环境变量加载node-fetch- HTTP请求(动态导入)
此Tag系统为以下功能奠定基础:
- VCP高级组网双向召回RAG技术
- 知识图谱构建
- 语义检索优化
- 智能关联推荐
| 错误类型 | 处理方式 |
|---|---|
| 缺少API配置 | 跳过AI生成,直接保存 |
| TagMaster文件缺失 | 跳过AI生成,直接保存 |
| API 500/503错误 | 最多重试3次(指数退避) |
| 其他API错误 | 不重试,直接保存 |
| 网络超时 | 最多重试3次 |
| Tag格式错误 | 自动修复 |
- 性能:AI调用可能需要几秒钟,已设置60秒超时
- 成本:每次缺失Tag会调用AI模型,注意API使用量
- 离线模式:如无API配置,系统会优雅降级,仅保存日记
- 编码:所有文件使用UTF-8编码
-
v2.0 (2025-11-15)
- 新增Tag智能处理系统
- 实现格式自动修复
- 添加AI自动打Tag功能
- 引入退避重试机制
- 完善错误处理和降级策略
-
v1.0
- 基础日记写入功能