DMS Agent
April 7, 2026 · View on GitHub
AI desktop assistant plugin for DankMaterialShell powered by Claude Code.

A floating, transparent chat panel that lets you control your desktop with natural language. Ask it to open apps, switch windows, play music, search the web, manage files, and more — all without leaving your current context.

Features
- Claude Code integration — Full access to Bash, Read, Write, Edit and all Claude Code tools
- Session persistence — Conversations persist across panel open/close via Claude CLI sessions
- History — Browse and resume previous conversations from Claude Code session history
- Intent detection — Common actions (go-to, open, close) pre-fetch context for faster responses
- Model selector — Switch between Haiku (fast), Sonnet (balanced), and Opus (best)
- Extended thinking — Toggle deep reasoning mode for complex tasks
- Cost tracking — See API costs and token usage per response
- Cancel — Stop any in-progress request
- Floating panel — Transparent overlay at bottom-center, keyboard-togglable
- Theme-aware — Adapts to your DMS theme colors automatically
- Markdown rendering — Responses render bold, italic, code, links, and lists
- Desktop actions — Niri window management, Spotify control via spogo, app launching with process detachment
Requirements
- DankMaterialShell >= 1.4.0
- Claude Code CLI (
claudecommand in PATH) bash,curl,xdg-open,notify-send- niri compositor (for window management commands)
Installation
Install from the DMS Plugin Browser, or manually:
cd ~/.config/DankMaterialShell/plugins/
git clone https://github.com/Francisdelca/dms-agent.git
Reload DMS to activate.
Usage
- Super+A — Toggle the agent panel (requires keybinding setup)
- Click the pill in the bar to open/close
- Escape — Close the panel
- Type a message and press Enter to send
Keybinding Setup
Add to your niri binds config (~/.config/niri/dms/binds.kdl):
Mod+A hotkey-overlay-title="DMS Agent" { spawn "dms" "ipc" "call" "dmsAgent" "toggle"; }
Examples
abre spotify— Launches Spotifyllévame a whatsapp— Focuses the WhatsApp windowcierra brave— Closes the Brave browserpon jazz en spotify— Plays jazz via spogobusca archivos pdf en descargas— Searches filescuánto espacio tengo en disco?— System info
Configuration
Access settings through the DMS plugin settings panel:
- Model — Claude model (haiku/sonnet/opus)
- Extended Thinking — Toggle deep reasoning
- Max Tokens — Response length limit
- System Prompt — Custom instructions
License
MIT