Back to skills
extension
Category: Development & EngineeringNo API key required

chat-recorder

Specifically used for recording and summarizing the current conversation content (user input and AI responses). It is triggered when the user requests to 'record the conversation', 'save chat history', or mentions 'archive current progress'.

personAuthor: jakexiaohubgithub

Chat Recorder

这个技能用于将当前对话上下文中尚未记录的部分,增量追加到日志文件中。

核心机制:断点续传

为了避免重复记录或遗漏,本技能采用 “第 N 轮” 序列号机制:

  1. 检查:先读取日志文件,找到已记录的最大轮次 N
  2. 同步:从当前对话上下文的第 N+1 轮开始,将所有后续对话依次追加写入。
  3. 完整性:如果文件不存在,则从第 1 轮开始全量写入。

操作步骤

  1. 准备工作

    • 用户 (Author): 优先获取 Git 用户名,若无则回退到系统用户名。
      • 执行 git config user.name,若有返回值则作为 <username>
      • 若无,则执行 whoami 作为 <username>
    • 日期 (Date): 获取当前日期 (格式 YYYY-MM-DD)。
    • 目标路径: ./workspaces/devs/<username>/
    • 文件名: <YYYY-MM-DD>-chat-log.md
  2. 文件状态检查

    • 尝试读取文件:检查目标文件是否存在,并读取其最后 50 行内容。
    • 提取进度 (Last Index)
      • 在文件内容中查找格式为 ### [第 N 轮] 的标记。
      • 提取最大的 N 值作为“已记录轮次”。
      • 如果文件不存在或未找到标记,则 N = 0
  3. 执行写入 (初始化)

    • 如果 N=0 (新文件)
      • 创建文件并写入头部:

        # Chat Log
        
        **Author**: <username>
        **Date**: <YYYY-MM-DD>
        
        ---
        
  4. 执行写入 (增量追加)

    • 遍历上下文:回顾当前的对话历史(User Input + AI Response)。

    • 筛选:忽略前 N 轮对话,只处理第 N+1 轮及之后的对话。

    • 追加:对每一轮新对话,生成一个对话块并追加到文件末尾。

    • 格式规范

      ### [第 <当前轮次> 轮]
      
      **User**:
      <该轮次的用户输入内容>
      
      **AI**:
      <该轮次的 AI 回复摘要>
      
      ---
      

注意事项

  • 准确计数:务必准确计算当前对话在整个上下文中的轮次(Sequence Number)。
  • 格式严格:严格遵守 ### [第 N 轮] 的格式,以便下次读取时能正确解析。
  • 隐私与安全:不要记录敏感信息(如密码、API Key)。