Local Notes (TOOLS.md)

Summary

A localized configuration file used by the Hermes Agent to store environment-specific data, such as hardware identifiers, network aliases, and user preferences. It ensures a clean separation between the general logic of agent “Skills” and the private infrastructure of a specific deployment.

Details

In the Sokrates ecosystem, specifically within the context of the Hermes Agent, TOOLS.md serves as a repository for “Local Notes.” This file is designed to store the unique specifics of a particular deployment environment, distinguishing them from “Skills,” which define the general logic of how tools operate. By maintaining this separation, developers can update or share agent skills across different installations without overwriting local configurations or inadvertently leaking sensitive infrastructure details.

The Local Notes file typically contains environment-specific identifiers and aliases that the agent needs to perform its duties effectively. Examples of data stored in this file include:

  • Camera Mapping: Descriptive names for camera feeds linked to their physical locations or technical specifications. For instance, a “living-room” entry might be associated with a 180° wide-angle camera, while “front-door” might be designated as a motion-triggered entrance camera.
  • SSH Configuration: Host aliases and IP addresses for local network management. A common entry might map “home-server” to a specific internal IP (e.g., 192.168.1.100) and a designated administrative user.
  • TTS Preferences: User-specific settings for Text-to-Speech (TTS) output. This includes the preferred voice profile (e.g., “Nova,” described as warm and slightly British) and the default hardware speaker for audio output (e.g., “Kitchen HomePod”).
  • Device Nicknames: Human-readable names for IoT devices, room locations, or specific hardware components that the agent can reference during interactions.

This mechanism functions as a “cheat sheet” for the agent, providing the necessary context to bridge the gap between abstract tool capabilities and the concrete reality of the user’s hardware and network setup. It allows the agent to understand commands like “check the front door camera” or “connect to the home server” by resolving those friendly names to specific technical parameters defined in the local environment.