The observatory field guide
A little help
keeping watch.
A guide to Overseer’s current development build, 1.22.2. Requires macOS 14 or later. There is no public release download on this site yet.
Start by observing
- Open Overseer. Activity shows watched workloads and detected sources, including apps, supported services, local ports and simulator devices.
- Select a workload to inspect it. Add a watch for an item you want to manage. A new watch starts with cleanup off.
- Review its Connection and activity state before enabling automatic cleanup. Busy, idle and unknown are different states.
- Set the timers and actions you want. Rule changes save automatically; time-slider edits settle when you finish adjusting them.
Turning automatic cleanup on applies default rules. Changing a rule from its off value can also enable cleanup and defaults for the other rules, while preserving your edit. Review the full rule set after enabling it.
Models and apps have different clocks
For supported model hosts, you can unload an idle model after one interval and quit the unused app after another. For example, unload after 15 minutes and quit the app after 2 hours. These are rules evaluated on periodic checks, not exact-second timers. Cleanup checks normally run every 15 minutes.
LM Studio and Unsloth use their service integrations for model activity and unloading. Unsloth’s Models & engines panel also lists reported image, video and speech-recognition models. Unverified media activity remains unknown, and those entries are not unload targets. Chat cleanup stays guarded by host-wide activity even when a model-specific timestamp is available.
Connect Unsloth
In the workload’s Connection disclosure, set the local Studio backend address and store an Unsloth API key. The token goes into macOS Keychain. Overseer checks that the listening service belongs to the watched process family before sending credentials or unload requests.
Activity logging must be enabled in Unsloth. An unavailable endpoint, missing status fields or an unverified queue can withhold cleanup. The integration targets Unsloth Studio, not every Python program using the Unsloth library. It never starts inference to test a model.
Investigate possible stray workers
Open Model workers using the brain button in Activity or its button in Monitor. An optional scan every five minutes looks for accessible processes holding recognized model-weight file names open. The result includes process identity, process RAM and any existing watched-host association.
No association does not establish that a process is orphaned. An open file does not establish residency, and a loaded model may have already closed its files. These reports do not apply cleanup rules. The scan can be disabled in its panel.
Apps, services and simulators
Supported adapters and optional activity bridges provide richer signals than an app window alone. A generic app watch cannot infer every kind of background job. Check what signal a workload uses before enabling cleanup.
Apple simulator devices can share a policy while being tracked individually. Idle limits and maximum-open limits address different situations. Closing the Simulator window doesn’t necessarily shut down its devices.
Detected local servers show their ports and owner information. Protected system items are separate; use ignore controls to reduce discovery clutter.
Monitor and action history
Monitor brings together resource trends, spikes, health and cleanup history. Resource observation can report high CPU, memory or network activity without stopping anything. A workload’s Action History provides a compact list for the last 24 hours, 7 days, 30 days or 90 days.
Long-term history retains a year by default, with options for up to five years. Settings show tracking storage use and offer a 1 GB warning. Live graph refresh is limited to short time ranges; longer views refresh when you choose a range or request an update.
Background operation and animation
Closing the dashboard keeps the menu-bar app running. Reopen it from the menu bar or Spotlight. Choosing Quit ends monitoring. Launch Overseer again to resume; no separate background agent keeps checking after a full quit.
Activity has Orbit and Tree layouts. Constellations loop in both directions, with a smooth transition. Selecting an item leaves its position unchanged. Ambient animation pauses when hidden or unfocused. Use Appearance or macOS Reduce Motion to turn down motion.
When cleanup doesn’t happen
- Check whether cleanup is enabled, paused, or temporarily overridden by Keep running.
- Check the workload’s activity signal. Busy or unknown can block cleanup.
- Check away-only conditions, separate model/app timers and the next scheduled check.
- Read the action history or preview the rule for the recorded reason.
- A normal quit can be refused, including when the app needs to save work. Force-quit is a separate explicit option.
A longer timeout does not turn an unavailable activity signal into proof that the app is idle.
Get in touch
Contact Zach about Overseer with your macOS version, app version, workload type and what happened. Review screenshots and logs before sharing; remove API keys, private file paths and other sensitive details.