Thanks to visit codestin.com
Credit goes to github.com

Skip to content

tyeetale/echotrace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒฟ EchoTrace - Modern Branchable AI Conversations

EchoTrace is a modern, branchable AI conversation system built with Vue.js 3, TypeScript, Quasar, and FastAPI. It allows you to fork conversations at any point, explore multiple AI-generated paths, and trace your thinking over time with an intuitive tree-based interface.

โœจ Features

  • ๐ŸŒณ Interactive Tree Visualization - Drag, zoom, and navigate conversation trees with Vue Flow
  • ๐Ÿง  Contextual Memory - Maintain full conversation history across branches
  • ๐Ÿ”€ Branching Conversations - Fork from any message to explore alternative paths
  • ๐Ÿ“ฑ Responsive Design - Mobile-first design with Quasar components
  • ๐ŸŽจ Modern UI/UX - Clean, intuitive interface with dark/light themes
  • โšก Real-time Updates - Instant updates with Pinia state management
  • ๐Ÿ” Search & Filter - Find specific messages or branches quickly
  • ๐Ÿ“ค Export/Import - Save conversations in multiple formats
  • โŒจ๏ธ Keyboard Shortcuts - Power user features for efficiency

๐Ÿ› ๏ธ Tech Stack

Frontend

  • Vue.js 3 with Composition API
  • TypeScript for type safety
  • Quasar Framework for UI components
  • Vue Flow for interactive tree visualization
  • Pinia for state management
  • Vite for fast development and building

Backend

  • FastAPI for high-performance API
  • SQLAlchemy for database ORM
  • SQLite for local data storage
  • OpenAI API for AI responses
  • Pydantic for data validation

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18+ and npm
  • Python 3.9+
  • OpenAI API key

Installation

  1. Clone and setup

    git clone <repository-url>
    cd echotrace
  2. Setup backend

    cd backend
    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    pip install -r requirements.txt
    cp .env.example .env
    # Edit .env and add your OPENAI_API_KEY
  3. Setup frontend

    cd ../frontend
    npm install
  4. Start both servers

    # From project root
    ./start.sh

    Or start manually:

    # Terminal 1 - Backend
    cd backend
    source venv/bin/activate
    python run.py
    
    # Terminal 2 - Frontend  
    cd frontend
    npm run dev
  5. Open your browser

๐Ÿ“ Project Structure

echotrace/
โ”œโ”€โ”€ frontend/                 # Vue.js frontend
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ components/      # Vue components
โ”‚   โ”‚   โ”œโ”€โ”€ stores/         # Pinia stores
โ”‚   โ”‚   โ”œโ”€โ”€ services/       # API services
โ”‚   โ”‚   โ”œโ”€โ”€ types/          # TypeScript types
โ”‚   โ”‚   โ””โ”€โ”€ utils/          # Utility functions
โ”‚   โ””โ”€โ”€ package.json
โ”œโ”€โ”€ backend/                 # FastAPI backend
โ”‚   โ”œโ”€โ”€ app/                # Main application
โ”‚   โ”œโ”€โ”€ database/           # Database models and setup
โ”‚   โ”œโ”€โ”€ schemas/            # Pydantic schemas
โ”‚   โ”œโ”€โ”€ services/           # Business logic
โ”‚   โ””โ”€โ”€ requirements.txt
โ””โ”€โ”€ README.md

๐ŸŽฏ Core Concepts

Conversations

  • Conversations are the top-level containers
  • Each conversation has multiple branches
  • Branches represent different conversation paths
  • Only one branch is "active" at a time

Nodes

  • Nodes are individual messages in a conversation
  • Each node can have a user message, AI response, or both
  • Nodes are connected in a tree structure
  • You can branch from any node to create alternative paths

Branching

  • Click any message to create a new branch
  • Branches inherit the conversation history up to that point
  • Switch between branches to explore different paths
  • Each branch maintains its own conversation flow

๐ŸŽฎ Usage

Creating Conversations

  1. Click the "+" button in the sidebar
  2. Enter a conversation title
  3. Start chatting with the AI

Branching

  1. Click the tree icon (๐ŸŒฑ) next to any message
  2. Enter a branch name
  3. Continue the conversation from that point

Navigation

  • Use the tree view to see the full conversation structure
  • Click nodes to jump to specific messages
  • Switch between branches using the branch panel
  • Use zoom controls to navigate large trees

Keyboard Shortcuts

  • Ctrl/Cmd + N - New conversation
  • Ctrl/Cmd + B - Create branch from current message
  • Ctrl/Cmd + K - Focus search
  • Ctrl/Cmd + D - Toggle dark mode

๐Ÿ”ง Development

Frontend Development

cd frontend
npm run dev          # Start dev server
npm run build        # Build for production
npm run type-check   # Run TypeScript checks

Backend Development

cd backend
source venv/bin/activate
python run.py        # Start with auto-reload

Database

The app uses SQLite by default. The database file is created automatically at backend/echotrace.db.

To reset the database:

rm backend/echotrace.db
# Restart the backend server

๐Ÿš€ Deployment

Local Production Build

# Build frontend
cd frontend
npm run build

# Serve with a static file server
npx serve dist

Docker (Optional)

# Build and run with Docker Compose
docker-compose up --build

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

๐Ÿ“„ License

MIT License - see LICENSE file for details

๐Ÿ™ Acknowledgments


EchoTrace - Branch your thoughts, explore your ideas. ๐ŸŒฟ

About

A branchable, version-controlled AI conversation system.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •