Holix 0.1.13
·
44 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Added
- Profile encryption at rest — optional AES-256-GCM for profile
.env,SOUL.md,USER.md,telegram.env, SQLite memory (memory.db,ltm.db, checkpoints), and Chroma vector store; Argon2id-wrapped DEK in profile metadata HOLIX_ENCRYPTION_MODE— policyoff/linux-production/on; Linux production path auto-enables encryption on supported hosts; mode is OS-scoped, not gated only onHOLIX_ENV- Gateway profile unlock —
HOLIX_UNLOCK_KEYunlocks encrypted profiles in gateway/API; invalid key treated as locked for memory access - Gateway seal — lock encrypted profiles after gateway stop; multi-profile API unlock flow (PR-6)
holix profile crypto— enable/disable encryption, migrate unencrypted profiles, bulk workspace migration,decrypt-workspacefor legacy encrypted agent files- Platform-managed quotas — per-profile workspace size limits reconciled on create/profile ops
- Runtime cache hardening — stale gateway/runtime cache recovery; deploy scripts for dedicated
holixsystem user (deploy/scripts/setup-holix-runtime-user.sh, gateway seal helper) - Profile deletion —
holix profile delete(--yes,--skip-notify);DELETE /api/holix/profiles/{id}?notify=true; optional Telegram notify to mapped users; protected profilesdefault,docs,global - Workspace path privacy — jailed profile users see workspace-relative paths in tool output and agent replies; Telegram admin and gateway
adminAPI keys still see absolute paths - Sub-agent orchestration —
plan_and_executecan run coordinated multi-agent waves; spawn results return reliably to the parent session - Gateway lifecycle —
holix gateway reload(config/companion refresh) vsholix gateway restart(full stop/start); docs companion port preserved across reload - Hermes API —
GET /v1/modelslists configured LLM models from active profile;/v1/runs/{id}poll returns terminalstatuscompatible with Hermes clients - Production admin profile — when
HOLIX_ENV=production, auto-createadminHolix profile and copy settings fromdefault(config + env overrides) on gateway start, env change, and--set-adminapproval - Telegram menu policy (isolated mode) — per-user slash-command menu; non-admins do not see
/messageor/init;/cronand read-only/mcpshow only the user’s own profile tasks/servers;/statuspanel hides Profile picker for non-admins - Telegram UX — agent final answer posted as a separate message (live card shows progress only); approval/plan callback tokens hardened (short
callback_data, idempotent double-tap,/yesfallback); no expiry on confirmation/plan-review waits - Encrypted env editing —
holix profile env --editandgateway configureread/write encrypted profile.env; decrypt-aware dotenv loaders across CLI, API, and Telegram
Security
- Auth and IDOR — close cross-profile access gaps in management API; stricter profile-scoped permissions; block risky shell chaining patterns in terminal tool policy
- Production profile policy — implicit
defaultprofile blocked whenHOLIX_ENV=production; explicit named profiles required (holix -p <name> …)
Fixed
- Gateway startup — defer agent warmup to background task so Telegram polling is not blocked for minutes; avoid duplicate cron/Telegram companions when supervisor manages the process; profile registry init moved off the event loop via
asyncio.to_thread - Gateway Telegram on
uv tool install— requireuv tool install ".[telegram]"(or--with aiogram); bot no longer silently skipped when token lives only in encryptedtelegram.env - Telegram env loading — empty
TELEGRAM_BOT_TOKENin shell/global no longer masks token from encryptedtelegram.env; gateway loadstelegram.envafter unlock - Telegram user mapping fallback — gateway host profile can read bindings from
default/telegram-users.json - Workspace plaintext policy — agent
workspace/stays unencrypted (git-friendly); outbound Telegram attachments decrypt legacy encrypted workspace files once - Crypto edge cases — read encrypted
telegram.envwithout raw UTF-8 decode;HOLIX_UNLOCK_KEYinvalid → memory locked; Linux-only production encryption enforcement - SQLite paths — API keys DB and profile memory DBs resolve under
HOLIX_HOME(fixes from 0.1.12 carry-over validated on multi-profile gateway) - CI portability — encryption, runtime cache, path, and locale tests isolated from developer machine env
Documentation
- PROFILE_ENCRYPTION (EN/RU) — dedicated site page: encrypted vs plaintext assets, OS policy table, unlock key, gateway/systemd, workspace migration
- Path visibility — PROFILES mermaid flow, gateway API table, Telegram/USER_GUIDE callouts, TROUBLESHOOTING FAQ (EN/RU)
- Profile delete, encryption, Telegram deploy — PROFILES, CLI, GATEWAY_API, TELEGRAM, DEPLOYMENT, CONFIGURATION, SECURITY (EN/RU); web-docs rebuilt
- SEO —
profile-encryptionslug in sitemap/nav; updated meta for profiles, configuration, security, deployment, telegram
Changed
- Confirmation timeouts —
CONFIRMATION_TIMEOUT=0andPLAN_REVIEW_TIMEOUT=0disable approval waits (Telegram/yes//noand inline buttons) - Version — package
Holix0.1.13 on PyPI
Install: pipx install Holix or pip install -U Holix