mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-22 16:25:58 +00:00
Each provider now declares its config surface in config_schema.py inside its own plugin dir (plugins/memory/<name>/), loaded by file path like the plugins themselves so plugin __init__ imports never reach the web server. hermes_cli/memory_providers.py is gone; the shared field primitives and loader live in plugins/memory/config_schema.py, and the schema tests move to tests/plugins/memory/ alongside the other per-plugin suites.
76 lines
2.2 KiB
Python
76 lines
2.2 KiB
Python
"""Hindsight's declared config surface — rendered by the generic desktop panel."""
|
|
|
|
from plugins.memory.config_schema import (
|
|
KIND_SECRET,
|
|
KIND_SELECT,
|
|
KIND_TEXT,
|
|
ProviderConfigSchema,
|
|
ProviderField,
|
|
ProviderFieldOption,
|
|
)
|
|
|
|
CONFIG_SCHEMA = ProviderConfigSchema(
|
|
name="hindsight",
|
|
label="Hindsight",
|
|
fields=(
|
|
ProviderField(
|
|
key="mode",
|
|
label="Mode",
|
|
kind=KIND_SELECT,
|
|
default="cloud",
|
|
description="How Hermes connects to Hindsight.",
|
|
options=(
|
|
ProviderFieldOption(
|
|
"cloud",
|
|
"Cloud",
|
|
"Hindsight Cloud API (lightweight, just needs an API key)",
|
|
),
|
|
ProviderFieldOption(
|
|
"local_external",
|
|
"Local External",
|
|
"Connect to an existing Hindsight instance",
|
|
),
|
|
),
|
|
inline=True,
|
|
),
|
|
ProviderField(
|
|
key="api_key",
|
|
label="API key",
|
|
kind=KIND_SECRET,
|
|
env_key="HINDSIGHT_API_KEY",
|
|
description="Used to authenticate with the Hindsight API.",
|
|
placeholder="Enter Hindsight API key",
|
|
inline=True,
|
|
),
|
|
ProviderField(
|
|
key="api_url",
|
|
label="API URL",
|
|
kind=KIND_TEXT,
|
|
default="https://api.hindsight.vectorize.io",
|
|
aliases=("apiUrl",),
|
|
env_fallbacks=("HINDSIGHT_API_URL",),
|
|
inline=True,
|
|
),
|
|
ProviderField(
|
|
key="bank_id",
|
|
label="Bank ID",
|
|
kind=KIND_TEXT,
|
|
default="hermes",
|
|
aliases=("bankId",),
|
|
inline=True,
|
|
),
|
|
ProviderField(
|
|
key="recall_budget",
|
|
label="Recall budget",
|
|
kind=KIND_SELECT,
|
|
default="mid",
|
|
aliases=("budget",),
|
|
options=(
|
|
ProviderFieldOption("low", "low"),
|
|
ProviderFieldOption("mid", "mid"),
|
|
ProviderFieldOption("high", "high"),
|
|
),
|
|
inline=True,
|
|
),
|
|
),
|
|
)
|