IMOS: Memory OS for Solo Professionals - Your thoughtful local memory assistant
Project description
IMOS: Memory OS for Solo Professionals
██╗███╗ ███╗ ██████╗ ███████╗
██║████╗ ████║██╔═══██╗██╔════╝
██║██╔████╔██║██║ ██║███████╗
██║██║╚██╔╝██║██║ ██║╚════██║
██║██║ ╚═╝ ██║╚██████╔╝███████║
╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝
IMOS: Solo Pro Memory OS
IMOS is your thoughtful local memory assistant - a powerful CLI tool that helps solo professionals organize, search, and interact with their personal knowledge base through intelligent semantic search and AI-powered conversations.
Features
- Smart Memory Search: Semantic search across your personal knowledge base
- AI-Powered Chat: Interactive conversations with your memories using Groq LLM
- Automatic File Import: Support for .txt, .pdf, and .docx files
- Action Item Tracking: Automatically detects and tracks TODOs from your notes
- Memory Linking: Automatically connects related memories for richer context
- Beautiful CLI: Professional, colored terminal interface with clear branding
- Fast & Efficient: Vectorized operations and model caching for lightning-fast responses
Quick Start
Installation
pip install imos
Setup
-
Get your free API key from Groq Console
-
Set your API key:
export GROQ_API_KEY="your-key-here"
Or create a .env file:
echo "GROQ_API_KEY=your-key-here" > .env
Basic Usage
# Start an interactive chat with your memories
imos chat
# Ask a quick question
imos ask "What are my project goals?"
# Import a file
imos addfile notes.txt
# Import an entire folder
imos import-folder ~/Documents/Notes
# View action items
imos actions
# List all memories
imos list
Usage Examples
Interactive Chat Mode
$ imos chat
██╗███╗ ███╗ ██████╗ ███████╗
██║████╗ ████║██╔═══██╗██╔════╝
██║██╔████╔██║██║ ██║███████╗
██║██║╚██╔╝██║██║ ██║╚════██║
██║██║ ╚═╝ ██║╚██████╔╝███████║
╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝
IMOS: Solo Pro Memory OS
IMOS Chat Mode Active
Type your question; type 'exit' to leave.
imos> What are my main project goals for this quarter?
You: What are my main project goals for this quarter?
IMOS> Based on your notes, your main project goals for this quarter include...
Primary sources:
• /Users/you/Documents/Q4-Goals.txt
• /Users/you/Notes/project-planning.md
Quick Questions
$ imos ask "What did I learn about Python optimization?"
IMOS Memory Search
Loading embedding model (one-time setup)...
IMOS> From your notes, you learned several key Python optimization techniques...
Primary sources:
• /Users/you/Notes/python-performance.md
• /Users/you/Documents/coding-tips.txt
File Import
$ imos import-folder ~/Documents/ProjectNotes
IMOS: Importing files from '/Users/you/Documents/ProjectNotes'...
✓ Imported: /Users/you/Documents/ProjectNotes/ideas.txt
✓ Imported: /Users/you/Documents/ProjectNotes/research.pdf
✓ Imported: /Users/you/Documents/ProjectNotes/meeting-notes.docx
IMOS: Import complete! 3 files imported, 0 failed
Action Tracking
$ imos actions
IMOS: Open Action Items
==================================================
[1] Review quarterly performance metrics
Source: /Users/you/Notes/q4-review.txt | Added: 2024-11-09
[2] Follow up with client about project timeline
Source: manual | Added: 2024-11-08
$ imos done 1
IMOS: Action 1 marked as done!
Commands Reference
| Command | Description |
|---|---|
imos chat |
Start interactive chat mode |
imos ask "question" |
Ask a quick question |
imos add "text" |
Add a memory manually |
imos addfile path/to/file |
Import a single file |
imos import-folder path/ |
Import all supported files from a directory |
imos actions |
List all open action items |
imos done <id> |
Mark an action as completed |
imos list |
List all stored memories |
imos rebuild-links |
Rebuild memory connections |
Configuration
Environment Variables
GROQ_API_KEY: Your Groq API key (required for chat features)
File Support
IMOS automatically extracts text from:
.txtfiles (plain text).pdffiles (via PyMuPDF).docxfiles (Microsoft Word documents)
Data Storage
- Memories are stored in a local SQLite database (
memory.db) - Embeddings use the
all-MiniLM-L6-v2model for fast, efficient semantic search - No data is sent to external services except for LLM chat queries
Performance Features
- Model Caching: Embedding model loads once and stays in memory
- Vectorized Search: NumPy-optimized similarity calculations
- Smart Context Management: Automatic conversation history trimming
- Deduplication: Prevents storing duplicate content
Privacy & Security
- All your memories stay local in SQLite database
- Only chat queries are sent to Groq's API for processing
- No tracking or analytics
- Open source and transparent
Troubleshooting
Missing API Key
IMOS Setup Required!
To use chat features, please set your GROQ API key:
export GROQ_API_KEY='your-key-here'
or add it to your .env file
Get your free API key at: https://console.groq.com/keys
Installation Issues
# Upgrade pip first
pip install --upgrade pip
# Install with verbose output for debugging
pip install -v imos
File Import Errors
- Ensure files are not corrupted
- Check file permissions
- Verify file format is supported (.txt, .pdf, .docx)
Development & Contributing
IMOS is open source! Visit our GitHub repository to:
- Report issues
- Submit feature requests
- Contribute code
- View the source
Support
- GitHub Issues: Report bugs or request features
- Documentation: This README and
imos --help - Community: Join discussions in our GitHub repository
License
IMOS is released under the MIT License. See LICENSE for details.
IMOS: Your memories, organized intelligently.
Project details
Release history Release notifications | RSS feed
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 imos-0.1.0.tar.gz.
File metadata
- Download URL: imos-0.1.0.tar.gz
- Upload date:
- Size: 16.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e074125807613f2a191eafd3a2357a0b774b380112ac0167f1cdd0a37ffdcc60
|
|
| MD5 |
ee66231efc28102da80f89ca52d7b580
|
|
| BLAKE2b-256 |
1edb07693014fde4a52db8f915a4f36dc468d8a3c45404f32e8201bd938382d0
|
File details
Details for the file imos-0.1.0-py3-none-any.whl.
File metadata
- Download URL: imos-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24006a9def9fc5918d12bd0d5fc9521785194674ae6afa6b64115bfda485aeab
|
|
| MD5 |
f85a438b449afedb478581fcac19fc28
|
|
| BLAKE2b-256 |
5b7154ca31176cf380c60d284b725023658afc4fec706ddb17368d78e92f5f0b
|