CTK: 한 곳에서 모든 AI 대화를 관리하세요

발행: (2025년 12월 16일 오후 05:45 GMT+9)
6 min read
원문: Dev.to

Source: Dev.to

Overview

CTK (Conversation Toolkit)는 다중 제공자 AI 대화를 관리하기 위한 강력한 플러그인 기반 시스템입니다. 대화를 가져오고, 저장하고, 검색하고, 통합 트리 형식으로 내보낼 수 있으며, 제공자별 세부 정보를 보존합니다.

여러 AI 어시스턴트를 사용한다면 다음과 같은 문제를 겪었을 가능성이 높습니다:

  • ChatGPT 대화는 OpenAI 웹 앱에만 존재합니다
  • Claude 대화는 Anthropic 인터페이스에 별도로 저장됩니다
  • GitHub Copilot 채팅 기록은 VS Code 저장소에 묻혀 있습니다
  • 로컬 LLM(Ollama 등)은 표준 내보내기 형식이 없습니다

결과: 귀중한 대화가 호환되지 않는 여러 플랫폼에 흩어져 있어 검색이 어려우며, 손실 위험이 있습니다.

CTK는 모든 대화를 위한 보편적인 트리 표현을 제공합니다:

User: "What is Python?"
  └── Assistant: "Python is a programming language..."
      └── User: "How do I install it?"
          └── Assistant: "You can install Python by..."

핵심 인사이트: 선형 채팅은 단일 경로 트리이며, 분기된 대화(예: ChatGPT의 “재생성” 기능)는 다중 경로 트리로, 모든 분기 구조를 보존하면서 일관된 인터페이스를 제공합니다.

설정

pip install conversation-tk

여러 공급자에서 가져오기

ctk import chatgpt_export.json --db my_chats.db
ctk import claude_export.json --db my_chats.db --format anthropic

아름다운 테이블을 사용한 검색

ctk search "python async" --db my_chats.db --limit 10

인터랙티브 채팅 – 모든 대화와 대화하기

ctk chat --db my_chats.db

chat 명령은 대화형 인터페이스를 생성하여 다음과 같은 작업을 할 수 있게 합니다:

  • 내 기록에 대해 질문하기 – 예: “지난 달에 Claude와 파이썬 데코레이터에 대해 어떤 이야기를 나눴지?”
  • 요약 얻기 – 예: “머신러닝에 관한 최근 대화를 요약해 줘.”
  • 패턴 찾기 – 예: “ChatGPT 대화에서 가장 자주 등장하는 주제는 뭐야?”
  • 작업 수행하기 – 예: “비동기 프로그래밍에 관한 모든 대화에 별표를 달아줘.”

LLM은 전체 대화 데이터베이스에 접근할 수 있으며, 도구 호출을 통해 자연어로 검색, 필터링 및 조작을 수행합니다.

LLM‑Powered Tool Calling

ctk say "show me starred conversations" --db chats.db
ctk say "find discussions about async python" --db chats.db
ctk say "star the last conversation about machine learning" --db chats.db

LLM은 사용자의 명령을 해석하고 적절한 CTK 도구를 호출하여 별표 지정, 태그 지정, 내보내기와 같은 자연어 작업을 가능하게 합니다.

제공자 지원

제공자브랜치 지원
ChatGPT✅ 전체 트리 (재생성을 보존)
Claude✅ 전체 트리
GitHub Copilot선형
Google Gemini부분적
Generic JSONL선형 (로컬 LLM용)

핵심 보장

  • 100 % 로컬 – 데이터가 기기를 떠나지 않습니다.
  • 분석 및 텔레메트리 없음.
  • 선택적 비밀 마스킹을 통해 안전하게 공유할 수 있습니다.

Terminal UI for Visual Management

  • Rich 테이블 뷰로 대화를 탐색합니다.
  • 상태를 나타내는 이모지 플래그: ⭐ (즐겨찾기) 📌 (고정) 📦 (보관됨).
  • 대화 분기를 위한 트리 뷰.
  • 대안을 탐색하기 위해 대화를 포크합니다.
  • MCP 도구 지원.

Export Formats

JSONL for Training

ctk export training.jsonl --db chats.db --format jsonl

Path Selection for Branching Conversations

ctk export out.jsonl --db chats.db --path-selection longest

CTK는 AI 대화를 장기적으로 보존하도록 설계되었습니다. 플랫폼 변화에도 견딜 수 있는 형식으로 내보내세요:

  • HTML5 – 자체 포함형이며 모든 브라우저에서 작동합니다.
  • Markdown – 일반 텍스트이며 어디서든 읽을 수 있습니다.
  • JSON – 구조화된 데이터이며 수십 년 후에도 쉽게 파싱할 수 있습니다.

저장소 및 문서

  • GitHub:
  • 전체 문서: 저장소 README를 참조하세요.
Back to Blog

관련 글

더 보기 »