Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

README.md

z# DailyNoteWrite Plugin - Tag智能处理系统

功能概述

DailyNoteWrite插件已重构,现在包含强大的Tag智能处理系统,为VCP高级组网双向召回RAG技术提供基础支持。

核心功能

1. Tag格式自动检测与修复

插件会自动检测日记最后一行是否包含Tag,并进行以下格式修复:

  • 移除首行缩进:自动清理Tag行的多余空格
  • 标准化标点符号
    • 中文冒号 → 移除(已有英文冒号)
    • 中文逗号 → 英文逗号+空格 ,
    • 全角逗号 → 英文逗号+空格 ,
    • 顿号 → 英文逗号+空格 ,
  • 规范化空格:确保逗号后有且仅有一个空格

示例

修复前:

   Tag:消费降级,鸭货三巨头、商业模式分析,加盟模式

修复后:

Tag: 消费降级, 鸭货三巨头, 商业模式分析, 加盟模式

2. AI自动打Tag

如果日记内容缺少Tag行,插件会自动调用AI模型生成高质量的Tag:

  • 使用专门的TagMaster提示词(见 TagMaster.txt
  • AI输出格式:[[Tag: tag1, tag2, tag3]]
  • 自动提取并规范化Tag格式
  • 支持配置不同的AI模型

3. 健壮的错误处理

退避重试机制

针对API调用失败(500/503错误),实现了智能重试:

  • 最多重试3次
  • 指数退避策略
    • 第1次重试:等待1秒
    • 第2次重试:等待2秒
    • 第3次重试:等待4秒
  • 失败降级:3次重试后仍失败,直接保存日记(不含Tag)

配置说明

config.env 配置项

# 日记文件扩展名
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

根目录 config.env(API配置)

需要在VCP根目录的 config.env 中配置:

API_Key=YOUR_API_KEY
API_URL=YOUR_API_URL

Tag格式规范

标准格式

Tag: 关键词1, 关键词2, 关键词3, ...

规范要求

  1. 前缀:必须以 Tag: 开头(冒号后有一个空格)
  2. 分隔符:使用英文逗号+空格 , 分隔关键词
  3. 位置:必须在日记内容的最后一行
  4. 无缩进:行首不能有空格

工作流程

1. 接收日记内容
   ↓
2. 检测最后一行是否有Tag
   ↓
3a. 有Tag → 修复格式 → 写入文件
   ↓
3b. 无Tag → 调用AI生成Tag(带重试)→ 修复格式 → 附加到内容 → 写入文件
   ↓
4. 返回成功/失败状态

调试模式

在根目录 config.env 中启用调试:

DebugMode=true

调试信息会输出到stderr,包括:

  • Tag检测结果
  • 格式修复详情
  • API调用过程
  • 重试状态
  • 错误信息

示例日记

输入(AI忘记打Tag)

{
  "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系统为以下功能奠定基础:

  1. VCP高级组网双向召回RAG技术
  2. 知识图谱构建
  3. 语义检索优化
  4. 智能关联推荐

错误处理

错误类型 处理方式
缺少API配置 跳过AI生成,直接保存
TagMaster文件缺失 跳过AI生成,直接保存
API 500/503错误 最多重试3次(指数退避)
其他API错误 不重试,直接保存
网络超时 最多重试3次
Tag格式错误 自动修复

注意事项

  1. 性能:AI调用可能需要几秒钟,已设置60秒超时
  2. 成本:每次缺失Tag会调用AI模型,注意API使用量
  3. 离线模式:如无API配置,系统会优雅降级,仅保存日记
  4. 编码:所有文件使用UTF-8编码

版本历史

  • v2.0 (2025-11-15)

    • 新增Tag智能处理系统
    • 实现格式自动修复
    • 添加AI自动打Tag功能
    • 引入退避重试机制
    • 完善错误处理和降级策略
  • v1.0

    • 基础日记写入功能