A native macOS console for managing AI agent configurations on local and remote Linux hosts.
- Manage prompts, skills, MCP servers, plugins, and lifecycle hooks.
- Switch between the local machine and Linux hosts from
~/.ssh/config. - Inspect remote operating system, CPU, memory, storage, network, CLI tools, and configuration files.
- Cache the last valid snapshot locally and refresh stale data in the background.
- Refresh the active workspace without clearing the current view.
- Write remote configuration files atomically and detect concurrent changes.
Serval supports Claude, Codex, and TraeX configuration layouts. It reuses the system OpenSSH configuration and never stores SSH passwords, private keys, or independent connection profiles.
- macOS 14 or later
- Swift 6
- Xcode Command Line Tools or Xcode
- Linux
- A named host entry in
~/.ssh/config - Non-interactive authentication through OpenSSH
bashand GNU core utilities
Some environment details use optional commands such as ip and lscpu. Remote skill updates
also require curl and unzip.
swift build --disable-sandbox
swift run Serval./scripts/package-dmg.shThe packaging script writes Serval.app and a DMG to dist/. Its default ad-hoc signature is
intended for local development. Public distribution requires a Developer ID certificate and
Apple notarization:
export SIGN_MODE=developer-id
export SIGNING_IDENTITY="Developer ID Application: Your Name (TEAMID)"
export NOTARY_PROFILE="serval-notary"
export NOTARIZE=auto
./scripts/package-dmg.shSupported packaging variables include APP_VERSION, BUILD_NUMBER, BUNDLE_ID, SIGN_MODE,
and NOTARIZE. The default bundle identifier is io.github.asilencer.serval.
- Agent and environment snapshots are stored under
~/Library/Application Support/Serval. - Cache directories use mode
700; snapshot files use mode600. - SSH credentials and MCP environment values are not written to the cache or diagnostics log.
- Remote prompt writes use revision checks, temporary files, backups, and atomic replacement.
- Skill deletion is limited to validated skill paths on the selected host.
Interface icons from REICON are included under the MIT License. Its license
text is available at src/Resources/Reicon/LICENSE.txt.
Serval is available under the MIT License.