Everything a project needs, one window. Web apps, SSH hosts and local files, organized like a file explorer and opened side by side in tabs that survive restarts.
Qt 6 · QML · C++20 · macOS / Windows / Linux
macOS: arm64 for Apple Silicon (M1 and later), x86_64 for Intel Macs. Installer or portable zip for Windows x64, AppImage for Linux x86_64. Checksums in SHA256SUMS.txt.
Silo has a single mental model: workspaces contain folders, folders contain items. An item is a web page, an SSH terminal or a local file. You switch between two views of the same tree from the bottom of the sidebar.
Organize looks and behaves like Windows Explorer. Tiles on a grid, breadcrumbs, a .. tile to move things up, shift- and ctrl-click selection, drag & drop between folders and into the sidebar, rename in place with Space, copy and paste whole sub-trees with Ctrl+C / V.
Live turns the same tree into a launcher. Double-click a leaf (or select several and press Enter), it opens in a tab on the right. Tabs are kept per workspace, persisted to disk and restored on the next start (pages and files load right away, terminals reconnect when you switch to them), so a carefully laid-out set of dashboards, shells and documents is never lost.
Web pages run in a real Chromium engine (Qt WebEngine), not an iframe: no X-Frame-Options or frame-ancestors headaches.
Pick Open all items from a folder's context menu. When the folder has sub-folders, Silo asks whether to include them.
An SSH item is a host, a user and a port. Authentication can go through your agent, a key picked from ~/.ssh or a password stored in a 0600 secrets.json next to your library. In Live mode it becomes a full xterm.js terminal.
Point a File item at a path and Live mode picks the right viewer: PDF, images, video and audio (with Space to play/pause and a smooth playhead), an editor with syntax highlighting for anything text-like, and a proper table for CSV. Text and CSV files (in both table and text mode) are editable in place and saved automatically.
The CSV viewer detects the delimiter, toggles the header row, sorts by column, filters as you type and copies cells or rows to the clipboard. A Text toggle shows the raw file next to it.
Browser extensions cannot run in an embedded browser, so Silo fills logins itself. The key button in the toolbar (Ctrl/Cmd+Shift+L) lists the logins matching the page and fills the one you pick, 2FA code copied along. Logins come from two places, merged in one list:
- The Silo vault. Import the CSV export of any password manager (1Password, Bitwarden, Dashlane, LastPass, KeePass, Chrome, Firefox, Proton Pass, or anything with a password column), or let Silo offer to save a login when you submit it in a tab. Entries are encrypted with XChaCha20-Poly1305; the key sits in the macOS Keychain / Windows Credential Manager / libsecret, or behind a master password (Argon2) if you set one. TOTP codes are generated locally from stored secrets.
- Password manager connectors. Bitwarden, 1Password and Dashlane are queried live through their own CLIs. Silo downloads the CLI into its data folder when it is missing (no admin rights, nothing system-wide), runs the interactive sign-in in an embedded terminal, and keeps session tokens in memory only. Everything is set up from Settings › Passwords.
- Light, dark, or follow the system. Every color is a token, so both themes are first-class.
- Favicons are fetched and cached for web items; any item or workspace can get an emoji or a Fluent icon instead.
- Full keyboard navigation in the tree: ↑/↓ to move (Shift extends the selection), Tab to expand or collapse, Enter to open, Space to rename, Delete to remove (with confirmation). Ctrl/Cmd- and Shift-click select several rows.
- Ctrl/Cmd+B hides the sidebar. Ctrl+Tab cycles tabs (also Cmd+Option+→/← on macOS), Ctrl/Cmd+1…9 jumps to one, Ctrl+W closes one, Ctrl/Cmd+Shift+T reopens the last closed one.
- Web tabs keep their sessions between launches.
- No account, no server. Your library is a
library.jsonyou can read, diff and back up. - A workspace exports to a single
.silo.json(tree, custom icons embedded, SSH passwords only if you ask) and imports back as a new workspace, on any machine.
Requires Qt 6.5+ with the WebEngineQuick, WebChannelQuick and Multimedia modules, CMake 3.21+ and a C++20 compiler.
make run # configure, build and launchmake rerun rebuilds and launches, make clean wipes the build directory. Icons and web bundles (xterm.js, Ace) are vendored in icons/ and web/vendor/; make icons and make web-assets refresh them from the CDN.
Data lives in the platform's application data folder (library.json, session.json, secrets.json, the encrypted vault.bin and the bin/ folder holding downloaded CLIs). Set SILO_DATA_DIR to point somewhere else, which is handy for trying a throwaway library.