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_KEYenvironment 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
- Clone the repository:
git clone https://github.com/msvana/filechat
cd filechat
- Install dependencies using
uv:
uv sync
- (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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
006a06fb49bd3536601119e34286334dce2c44f17423f6715cc3041876061fa7
|
|
| MD5 |
721f711c181bcdc943e1bd99895ae442
|
|
| BLAKE2b-256 |
d155bc7a70daeac876b1ba6544826968d18549b843b5c099f3b466b77ba918ae
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
375dcffcb35daf6e5db7a1c85ac1a10c1273296d4b4c6db49bcdc2361123ce97
|
|
| MD5 |
48e0b2f2ee6a4e4b353dadab9de685ab
|
|
| BLAKE2b-256 |
f6c16a1b452b0164827fd5f55ca0cc90c73c4e759ea1c1b5003d75b8789cbaee
|