Receber por email
← Voltar para o catálogo

ai-partner-chat

基于用户画像和向量化笔记提供个性化对话。当用户需要个性化交流、上下文感知的回应,或希望 AI 记住并引用其之前的想法和笔记时使用。

367estrelas
Atualizado há 4 meses

Ver no GitHub ↗

Como adicionar

/plugin marketplace add aiskillstore/marketplace

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/ai-partner-chat/svg)](https://www.skillteca.com.br/skills/ai-partner-chat)
#ai

Skills relacionadas

Ver todas de Segurança →

Alerta por categoria

Receba novas skills de Segurança toda segunda

1 email curto, só com as skills novas de Segurança. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

AI Partner Chat 2.0

⚠️ IMPORTANT: 自动学习工作流程

Claude,你必须遵循以下自动化工作流程:

1. 会话开始时 - 初始化系统

import sys
from pathlib import Path
sys.path.insert(0, str(Path.home() / '.claude/skills/ai-partner-chat/scripts'))
from orchestrator import AIPartnerOrchestrator

orch = AIPartnerOrchestrator()

2. 每次对话后 - 自动记录对话

orch.handle_conversation(
    user_message="[用户的完整问题]",
    ai_response="[你的完整回复]",
    save_conversation=True
)

重要性判断:

  • 简单问候、确认:重要性 1-2(仅保存到文件)
  • 技术讨论、问题解决:重要性 3-4(保存+向量化)
  • 深度学习、关键决策:重要性 5(保存+向量化+重点标记)

3. 检测项目笔记 - 自动处理新笔记

使用专用的笔记处理器(推荐):

from note_processor import check_and_process_notes

# 自动检测并处理新笔记
result = check_and_process_notes()

print(f"✅ 已处理 {result['processed_count']} 个笔记")
for note in result['notes']:
    print(f"   📝 {note['file']}: {note['tags']}")

触发条件(自动检测以下情况):

  • ✅ 会话开始时主动检查 notes/ 目录
  • ✅ 用户提到"我写了笔记"、"更新了 notes"
  • ✅ 用户要求"处理笔记"、"学习我的笔记"
  • ✅ 用户创建或修改 .md 文件后

笔记处理器特性:

  • 🔍 自动扫描项目 notes/ 目录
  • 📊 跟踪已处理笔记(避免重复处理)
  • 🔄 检测修改时间,只处理新的或更新的笔记
  • 💾 状态持久化到 ~/.claude/skills/ai-partner-chat/data/indexes/processed_notes.json

4. 检索增强 - 使用长期记忆回答

在回答问题前,先检索相关知识:

# 检索相关内容
context = orch.handle_conversation(
    user_message="[用户问题]",
    generate_response=True,
    save_conversation=False  # 暂不保存,等生成回复后再保存
)

# 使用 context['context']['search_results'] 中的内容来增强回复
# - notes: 用户之前的笔记
# - conversations: 历史对话
# - code: 相关代码片段

注意事项:

  • ✅ 每次对话都必须记录,不要遗漏
  • ✅ 主动检查 notes/ 目录,处理新笔记
  • ✅ 使用长期记忆增强回答质量
  • ✅ 如果用户明确要求"不要记录",则跳过
  • ✅ 在虚拟环境中运行:确保已激活 venv
  • ✅ 所有数据保存到 ~/.claude/skills/ai-partner-chat/data/

Overview

AI Partner Chat 2.0 是一个全功能的个性化 AI 学习私人长期伙伴系统,整合了以下核心能力:

🧠 核心功能:

  • 智能标签系统 - 自动生成分层标签(主题/技术/自定义),实现高效组织和检索
  • 对话历史记忆 - 记录和向量化重要对话,支持对话内容的智能检索
  • 代码片段管理 - 自动识别、提取和分析笔记中的代码块,独立索引
  • 状态感知对话 - 追踪学习状态和情绪变化,提供个性化回应
  • 思维模式分析 - 分析学习深度和广度,生成个性化学习报告

✨ 关键特性:

  • ✅ 多源检索 - 统一检索笔记、对话、代码片段
  • ✅ 增量更新 - 无需重建数据库,即时添加新内容
  • ✅ 状态感知 - AI 根据你的学习状态调整回应策略
  • ✅ 自动分析 - 定期生成学习报告和对话摘要
  • ✅ 完整历史 - 所有对话永久保存,重要对话向量化检索
  • ✅ 自动记录 - Claude 在每次对话后自动保存到长期记忆

Prerequisites

1. 创建 Python 虚拟环境

为什么需要虚拟环境?

  • ✅ 隔离依赖,避免与系统 Python 包冲突
  • ✅ 确保依赖版本一致性
  • ✅ 不同项目可以使用不同版本的依赖

创建虚拟环境:

# 在项目目录创建虚拟环境
python3 -m venv venv

# 激活虚拟环境
source venv/bin/activate  # macOS/Linux
# 或
venv\Scripts\activate     # Windows

# 安装依赖
pip install -r ~/.claude/skills/ai-partner-chat/scripts/requirements.txt

注意事项:

  • 首次运行会自动下载嵌入模型 BAAI/bge-m3 (~4.3GB)
  • macOS/Linux: 模型缓存到 ~/.cache/huggingface/hub/
  • Windows: 模型缓存到 %USERPROFILE%\.cache\huggingface\hub\
  • 系统会自动检测是否已缓存,避免重复下载
  • 后续运行会直接使用缓存,加载速度很快(几秒钟)
  • 每次使用前需要激活虚拟环境:
  • macOS/Linux: source venv/bin/activate
  • Windows: venv\Scripts\activate

关于 torch.load 安全警告:

  • 依赖中使用 transformers<4.50 来避免 torch 2.6 依赖(macOS torch 2.6 尚未发布)
  • transformers 4.50+ 强制要求 torch>=2.6 解决 CVE-2025-32434 安全漏洞
  • 当前方案使用 transformers==4.49.1 + torch==2.5.1 是安全的
  • BAAI/bge-m3 模型使用 safetensors 格式,不受此漏洞影响
  • 如果你使用的是 Linux/Windows 且需要最新版本,可以升级:

``bash pip install torch>=2.6 transformers>=4.50 ``

2. 配置双画像系统(首次使用必须)

系统需要双画像文件来理解你和定义 AI 的行为:

步骤 1: 复制模版文件到项目配置目录

从 ~/.claude/skills/ai-partner-chat/assets/ 复制到项目的 config/ 目录:

macOS/Linux:

# 创建配置目录
mkdir -p config

# 复制用户画像模版
cp ~/.claude/skills/ai-partner-chat/assets/user-persona-template.md config/user-persona.md

# 复制 AI 画像模版
cp ~/.claude/skills/ai-partner-chat/assets/ai-persona-template.md config/ai-persona.md

Windows:

# 创建配置目录
mkdir config

# 复制用户画像模版
copy %USERPROFILE%\.claude\skills\ai-partner-chat\assets\user-persona-template.md config\user-persona.md

# 复制 AI 画像模版
copy %USERPROFILE%\.claude\skills\ai-partner-chat\assets\ai-persona-template.md config\ai-persona.md

步骤 2: 自定义你的画像

编辑项目 config/ 目录中的文件:

  • config/user-persona.md - 描述你的背景、学习风格、沟通偏好
  • config/ai-persona.md - 定义 AI 的角色、回复风格、个性

为什么需要复制?

  • ✅ assets/ 中的模版保持不变,供参考
  • ✅ config/ 中的文件是你的自定义版本
  • ✅ 每个项目可以有不同的画像配置
  • ✅ Python 代码会读取项目 config/ 目录中的画像

3. 目录结构说明

重要改进:长期记忆设计

系统采用集中存储设计,所有运行时数据存放在 skill 目录,实现真正的长期学习伙伴:

~/.claude/skills/ai-partner-chat/
├── scripts/                   # Python 模块
│   ├── orchestrator.py
│   ├── note_processor.py
│   └── ... (其他模块)
├── assets/                    # 模版文件
│   ├── user-persona-template.md
│   └── ai-persona-template.md
├── notes-examples/            # 笔记示例(仅供参考)
│   └── example-learning.md
└── data/                      # 运行时数据(自动创建)
    ├── vector_db/             # 统一向量库(长期记忆)
    │   └── chroma.sqlite3     # ⚡ 所有笔记/对话/代码的向量都在这里
    ├── conversations/         # 对话历史
    │   ├── raw/
    │   │   └── YYYY-MM/
    │   │       └── YYYY-MM-DD.md  # 按日期组织的对话
    │   ├── summary/
    │   └── metadata.json
    ├── indexes/               # 索引文件
    │   ├── tags_index.json
    │   ├── emotion_timeline.json
    │   └── processed_notes.json   # 已处理笔记跟踪
    └── analysis/              # 分析报告
        └── weekly_*.md

your-project/                  # 用户项目(干净)
├── config/                    # 画像配置(可选)
│   ├── user-persona.md
│   └── ai-persona.md
├── notes/                     # ⚡ 你的笔记(项目本地,原文保留)
│   └── *.md                   #    被处理后向量进入 skill/data/vector_db
└── venv/                      # 虚拟环境

核心特性:

  • ✅ 长期记忆 - 所有学习历史累积在 skill 目录,永不丢失
  • ✅ 跨项目复用 - 项目 A 学的知识,项目 B 也能用
  • ✅ 项目干净 - 用户项目只有 config 和 notes
  • ✅ 自动恢复 - 每次启动自动加载历史数据

数据流说明:

项目 notes/ 中的笔记
    ↓ (检测到新笔记)
note_processor.py 处理
    ↓ (提取内容、标签、代码)
orchestrator.process_new_note()
    ↓ (生成 chunks)
vector_indexer.append_chunks()
    ↓ (向量化)
skill/data/vector_db/  ← 向量存储(长期记忆)
    ↓
跨项目可检索!

原笔记文件 → 保留在项目 notes/ 中

重要:

  • 📝 原文件保留 - 你的笔记永远在项目 notes/ 目录,不会被移动或删除
  • 🔍 向量入库 - 笔记内容被向量化后存入 skill/data/vector_db/
  • 🌐 跨项目共享 - 向量库是全局的,所有项目共享同一个知识库
  • 📊 状态跟踪 - processed_notes.json 记录哪些笔记已处理,避免重复

手动创建目录:

# 项目目录只需创建 notes
mkdir -p notes

# config 从模版复制(已在步骤2完成)
# data 目录会自动创建在 skill 目录,无需手动操作

4. 首次运行检查清单

在开始使用系统前,请确认以下步骤:

  • [ ] 虚拟环境已创建并激活

``bash # 检查虚拟环境 which python # macOS/Linux,应显示 venv/bin/python where python # Windows,应包含 venv\Scripts\python ``

  • [ ] 依赖已安装

``bash python -c "import chromadb; print('✅ chromadb')" python -c "import sentence_transformers; print('✅ sentence-transformers')" ``

  • [ ] 双画像已配置

``bash # 检查画像文件是否存在 ls config/user-persona.md config/ai-persona.md # macOS/Linux dir config\user-persona.md config\ai-persona.md # Windows ``

  • [ ] 笔记目录已创建

``bash mkdir -p notes # 创建笔记目录(如果不存在) ``

  • [ ] 测试运行

```python import sys from pathlib import Path sys.path.insert(0, str(Path.home() / '.claude/skills/ai-partner-chat/scripts'))

from orchestrator import AIPartnerOrchestrator orch = AIPartnerOrchestrator() # 应该看到 "✅ AI Partner 协调器已初始化" ```

5. 长期记忆工作原理

首次使用(新用户):

>>> orch = AIPartnerOrchestrator()
✅ AI Partner 协调器已初始化
   项目: ai-partner-chat
   数据: ~/.claude/skills/ai-partner-chat/data/
   向量库: 0 chunks

3 天后使用(自动恢复记忆):

>>> orch = AIPartnerOrchestrator()
✅ AI Partner 协调器已初始化
   项目: ai-partner-chat
   数据: ~/.claude/skills/ai-partner-chat/data/
   向量库: 25 chunks  ← 自动加载历史!
   💭 长期记忆已加载

3 个月后使用(长期记忆):

>>> orch = AIPartnerOrchestrator()
✅ AI Partner 协调器已初始化
   向量库: 1,250 chunks  ← 3 个月的学习积累!
   💭 长期记忆已加载

>>> context = orch.handle_conversation("useCallback 怎么用?")
🔍 检索结果:
   📝 相关笔记 (3条) - 包含 90 天前的笔记
   💬 相关对话 (2条) - AI 记得你之前问过

AI 回复示例:

你好!看到你又回来学习 React 了 😊

根据你 3 个月前的笔记,你已经掌握了 useCallback 的基础。
那时候你在性能优化项目中成功应用了它...

现在可以开始使用系统 →

完整工作流程

流程 1: 添加新笔记

import sys
from pathlib import Path

# 添加 skill 脚本路径
sys.path.insert(0, str(Path.home() / '.claude/skills/ai-partner-chat/scripts'))
from orchestrator import AIPartnerOrchestrator

orch = AIPartnerOrchestrator()

result = orch.process_new_note(
    note_path="./notes/学习笔记.md",
    content=open("./notes/学习笔记.md").read()
)

返回结果:

Compartilhar X LinkedIn