Documentation Index
Fetch the complete documentation index at: https://docs.velesagent.com/llms.txt
Use this file to discover all available pages before exploring further.
Секреты и токены
Veles/Nanobot хранит секреты отдельно от обычногоconfig.json. Конфиг может содержать только ссылку на секрет (SecretRef) или пустое значение, а реальные токены загружаются в runtime и не отправляются в Nerve UI или LLM.
Master key
Для локального encrypted-хранилища нужен ключ:NANOBOT_SECRETS_MASTER_KEY должен быть в окружении процесса Nanobot gateway. Nerve не должен получать этот ключ.
Где лежат локальные секреты
Encrypted local store пишет файлы в активный data dir:<data_dir>/secrets/values.enc.json— обычные API keys и skill env secrets<data_dir>/secrets/auth-profiles.enc.json— OAuth-профили, например OpenAI Codex
version, alg, nonce, ciphertext, timestamps). Значения секретов не лежат там в plaintext.
SecretRef
SecretRef говорит Nanobot, откуда брать секрет:
local— зашифрованное локальное хранилище Nanobotenv— переменная окружения процесса gatewayfile— файл на машине gatewayexec— команда, которая возвращает секрет
local: пользователь вводит значение один раз, Nanobot шифрует его и дальше возвращает только redacted status.
Как Nerve показывает секреты
В Nerve откройте Workspace → Secrets. UI получает список целей через:- Nerve
GET /api/secrets - Gateway RPC
secrets.catalog - Nanobot строит catalog из provider registry, tool targets, channels, MCP servers и skill metadata
MISSING / EMPTY, это не значит, что секрет находится в Nerve. Это только redacted target: Nanobot знает, что такой секрет может понадобиться, но значение еще не настроено.
Skill secrets
Skill может объявить нужный env secret вSKILL.md:
skills.github.env.GH_TOKEN. Если значение сохранить в Nerve Secrets panel, Nanobot будет подставлять GH_TOKEN только вокруг выполнения agent turn. Значение не попадает в prompt и не записывается в config.json.
OpenAI Codex OAuth
OpenAI Codex использует OAuth, а не API key. Его tokens хранятся в encrypted auth profile store:Что важно помнить
config.jsonне должен хранить новые plaintext-секреты.- Nerve никогда не показывает сохраненное значение секрета.
- Без
NANOBOT_SECRETS_MASTER_KEYчтениеenv/file/execrefs может работать, но encrypted local writes и encrypted OAuth storage будут недоступны. - Для deployment нужно сохранять
.nanobotdata dir и передавать master key через secret manager окружения.
