Warning
This is experimental code meant as a proof of concept and may not be maintained.
ScreenSage is a floating window application for macOS that allows you to chat with Ollama-powered large language models directly from your desktop. It provides a clean, minimalist interface that stays out of your way while giving you quick access to AI assistance.
- macOS 10.13 or later
- Ollama installed and running locally (or accessible via network)
- Install rust
- Run the app
cargo run
- Test the app
cargo test
- Benchmark the app
cargo bench
- Build a release version of the app
cargo build --release
- Download the latest ScreenSage.dmg from the releases page
- Open the DMG file
- Drag ScreenSage to your Applications folder
- Open ScreenSage from your Applications folder
If you see a security warning when first opening the app, you may need to:
- Go to System Preferences > Security & Privacy
- Click "Open Anyway" for ScreenSage
ScreenSage can be configured through the configuration file located at:
~/Library/Application Support/ScreenSage/config.toml
[window]
width = 400 # Window width in pixels
height = 600 # Window height in pixels
opacity = 0.9 # Window opacity (0.0-1.0)
always_on_top = true # Whether window stays on top of other windows
[ollama]
api_url = "http://localhost:11434" # Ollama API URL
default_model = "llama3.2" # Default model to use
temperature = 0.7 # Temperature (0.0-1.0)
top_p = 0.9 # Top-p sampling parameter
top_k = 40 # Top-k sampling parameter
max_tokens = 2048 # Maximum tokens to generate
[conversation]
max_length = 10000 # Maximum conversation length
auto_save = true # Whether to save conversations automatically
[logging]
level = "info" # Log level (error, warn, info, debug, trace)
log_to_file = true # Whether to log to file
max_file_size = 10 # Maximum log file size in MB
max_files = 5 # Number of log files to keep
- Type your message in the input field at the bottom of the window
- Press Enter to send the message
- The AI will respond in the conversation area
Enter
: Send messageShift+Enter
: Add a new line in the input fieldEsc
: Clear the input fieldCmd+W
: Close the window
- Click and drag the title bar to move the window
- Resize the window by dragging the bottom-right corner
- The window position and size are saved automatically
If you see "Failed to connect to Ollama API" error:
- Ensure Ollama is running (
ollama serve
in terminal) - Check the API URL in your configuration
- Verify network connectivity if using a remote Ollama instance
If you see "Model not found" error:
- Ensure the model is installed in Ollama (
ollama list
) - Install the model if needed (
ollama pull modelname
)
Logs are stored in:
~/Library/Logs/ScreenSage/
Reviewing logs can help diagnose issues.
For additional support:
- Check the GitHub repository for known issues
- Submit bug reports or feature requests on the GitHub issues page
ScreenSage is licensed under the MIT License. See the LICENSE file for details.