Skip to main content

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

  1. Get your free API key from Groq Console

  2. 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:

  • .txt files (plain text)
  • .pdf files (via PyMuPDF)
  • .docx files (Microsoft Word documents)

Data Storage

  • Memories are stored in a local SQLite database (memory.db)
  • Embeddings use the all-MiniLM-L6-v2 model 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

License

IMOS is released under the MIT License. See LICENSE for details.


IMOS: Your memories, organized intelligently.

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

imos-0.1.0.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

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

imos-0.1.0-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

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

Hashes for imos-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e074125807613f2a191eafd3a2357a0b774b380112ac0167f1cdd0a37ffdcc60
MD5 ee66231efc28102da80f89ca52d7b580
BLAKE2b-256 1edb07693014fde4a52db8f915a4f36dc468d8a3c45404f32e8201bd938382d0

See more details on using hashes here.

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

Hashes for imos-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 24006a9def9fc5918d12bd0d5fc9521785194674ae6afa6b64115bfda485aeab
MD5 f85a438b449afedb478581fcac19fc28
BLAKE2b-256 5b7154ca31176cf380c60d284b725023658afc4fec706ddb17368d78e92f5f0b

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