Your personal, privacy-focused knowledge companion! Store, search and organize your knowledge without leaving the terminal.
- 🔒 100% Private: All data stays on your machine - no cloud, no tracking
- 🔍 Smart Search: Uses AI embeddings for semantic search capabilities
- 📚 Multi-source: Index local files, web pages, and documentation
- ⚡ Lightning Fast: Built with hnswlib for rapid similarity search
- 🎯 Developer Focused: Perfect for codebases and technical documentation
- 🔄 Format Friendly: Handles markdown, code, and web content seamlessly
# Using pip
pip install kcli
# Using poetry (recommended)
poetry add kcli# Add a local file to your knowledge base
kcli add README.md
# Add a webpage
kcli web https://docs.python.org/3/tutorial/
# Search your knowledge base
kcli search "how to handle exceptions in Python"
# View knowledge base stats
kcli stats- 📝 Keep track of useful code snippets and solutions
- 📚 Build a personal documentation hub
- 🌐 Save web articles for offline reference
- 🔍 Search across all your technical notes
- 📖 Create a searchable knowledge archive
kcli uses a sophisticated architecture to make your knowledge searchable and accessible:
- 📥 Input Processing: Documents (files/web pages) are processed and cleaned
- 🧮 Embedding Generation: Content is converted to vector embeddings using AI
- 📊 Smart Storage: Uses SQLite + hnswlib for efficient storage and retrieval
- 🔍 Semantic Search: Finds relevant content based on meaning, not just keywords
graph TD
A[CLI Input] --> B{Input Type}
B -->|Local File| C[Document Processor]
B -->|URL| W[Web Crawler]
W -->|HTML| H[HTML Cleaner]
H -->|Markdown| C
C --> D[AI Embeddings]
D --> E[Local Storage]
F[Search Query] --> G[Semantic Search]
G --> E
E --> R[Results]
style W fill:#f9f,stroke:#333
style H fill:#f9f,stroke:#333
Add local files to your knowledge base
kcli add documentation.mdArchive web pages
kcli web https://python.orgSearch your knowledge base
kcli search "python decorators example"View knowledge base statistics
kcli statskcli is designed with privacy in mind:
- No cloud dependencies
- No data leaving your machine
- No tracking or telemetry
- Local SQLite database
- You own your data
We love contributions! Here's how you can help:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you find kcli useful, please give it a star on GitHub! It helps others discover the project.
Built with ❤️ for developers who value privacy and efficiency.