Skip to main content

A local read-only AI coding assistant

Project description

FileChat

FileChat is an AI assistant designed to help users understand and improve their local projects. It allows you to chat about files in your local folder while maintaining full control over your code.

https://github.com/user-attachments/assets/dd3c6617-b141-47ab-926e-c62abcc7b4a6

Features

  • Project Indexing: Creates a searchable index of your project files
  • Contextual Chat: Ask questions about your project with AI that understands your codebase
  • Real-time Updates: Automatically detects and indexes file changes
  • Configurable: Customize which files to index and how to process them
  • Chat History: ChatGPT-like chat history for each directory

Installation

Prerequisites

  • Python 3.12 or higher
  • A Mistral AI API key stored in the MISTRAL_API_KEY environment variable

Option 1: Install the pre-built wheel

You can use any Package management tool you like. Here is an example for pip:

pip install https://github.com/msvana/filechat/releases/download/latest/filechat-0.1.6-py3-none-any.whl

And here is an example of installing FileChat as a UV tool:

uv tool install https://github.com/msvana/filechat/releases/download/latest/filechat-0.1.6-py3-none-any.whl

On Linux, you should also specify the hardware accelerator as an optional dependency. We support cpu, xpu (Intel Arc), and cuda. If you don't specify the accelerator, you'll get a version with CUDA support, which might be unnecessarily large. Here is an example of installing FileChat with xpu support:

PIP:

pip install "filechat[xpu] @ https://github.com/msvana/filechat/releases/download/latest/filechat-0.1.6-py3-none-any.whl"

UV Tool:

uv tool install https://github.com/msvana/filechat/releases/download/latest/filechat-0.1.6-py3-none-any.whl[xpu]

Option 2: Clone the repository and use UV

  1. Clone the repository:
git clone https://github.com/msvana/filechat
cd filechat
  1. Install dependencies using uv:
uv sync
  1. (Optional) Install GPU support if available:
# CUDA (NVIDIA)
uv sync --extra cuda

# XPU (Intel Arc)
uv sync --extra xpu

Usage

uv run filechat /path/to/your/project

Configuration

On the first run, FileChat creates a configuration file at ~/.config/filechat.json. Feel free to change it as you need. Here is a full example:

{
    "max_file_size_kb": 30,
    "ignored_dirs": [".git", "__pycache__", ".venv", ".pytest_cache", "node_modules"],
    "allowed_suffixes": [".txt", ".json", ".py", ".toml", ".html", ".md", ".js", ".ts", ".vue"],
    "index_store_path": "/home/milos/.cache/filechat",
    "model": "mistral-medium-2508",
    "api_key": "[MISTRAL_API_KEY]"
}

Roadmap

Short term (weeks)

  • Add support for other models
  • Add tools for browsing the filesystem
  • Improve inference for embedding models (switch from sentence-transformers to an ONNX runtime)
  • Support CUDA on Windows
  • Publish on PyPI

Long term (months)

  • Improve file retrieval (for example, via Graph RAG)
  • Reimplement file indexing and querying in a compiled language
  • Support important binary file types (images, PDFs)
  • Add web search tools

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

filechat-0.2.0.tar.gz (53.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

filechat-0.2.0-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file filechat-0.2.0.tar.gz.

File metadata

  • Download URL: filechat-0.2.0.tar.gz
  • Upload date:
  • Size: 53.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.11

File hashes

Hashes for filechat-0.2.0.tar.gz
Algorithm Hash digest
SHA256 006a06fb49bd3536601119e34286334dce2c44f17423f6715cc3041876061fa7
MD5 721f711c181bcdc943e1bd99895ae442
BLAKE2b-256 d155bc7a70daeac876b1ba6544826968d18549b843b5c099f3b466b77ba918ae

See more details on using hashes here.

File details

Details for the file filechat-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: filechat-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.11

File hashes

Hashes for filechat-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 375dcffcb35daf6e5db7a1c85ac1a10c1273296d4b4c6db49bcdc2361123ce97
MD5 48e0b2f2ee6a4e4b353dadab9de685ab
BLAKE2b-256 f6c16a1b452b0164827fd5f55ca0cc90c73c4e759ea1c1b5003d75b8789cbaee

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page