返回 Skill 列表
extension
分类: 开发与工程无需 API Key

chat-recorder

专门用于记录和汇总当前的对话内容(用户输入和 AI 回复)。当用户要求“记录对话”、“保存聊天记录”或提及“归档当前进度”时触发。

person作者: 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)。