hermes-agent/website/docs/developer-guide
Teknium 89a84e1ae6
feat: profiles.list/profiles.create ws RPC + plugin session-navigation doors (#85093)
Desktop plugins reach the backend exclusively through the generic ws
JSON-RPC door (host.request), but profile enumeration/creation only
existed on the dashboard REST router, which plugins cannot reach — so
anything 'one chat per agent profile'-shaped (bot rosters, profile
pickers, team panes) was impossible to build as a plugin.

- tui_gateway/methods_profiles.py: new @method handlers
  * profiles.list — profiles + optional last_session preview per profile
    (mirrors session.list's kanban/tool deny-list; best-effort per-profile
    state.db probe degrades to null instead of failing the call)
  * profiles.create — ws twin of POST /api/profiles (clone_from/clone_all/
    no_skills/description), plus optional SOUL.md content and a best-effort
    model+provider pin; mirrors the CLI flow (seed skills, safe alias)
  Both run on the RPC pool, not the WS reader thread (list_profiles walks
  skill trees; create copies bundles).
- SDK: host.openSession(id, { profile, intent }) — open a stored session
  the way core surfaces do, soft-swapping to the owning profile's backend
  first (ensureGatewayProfile), and host.newChat(profile) — fresh draft in
  a named profile (same door as the sidebar's per-profile '+').
- Docs: desktop-plugin-sdk.md gains both surfaces.

First consumer: a Grok Bot-style 'Bots' roster plugin (one persistent
chat per agent profile with a New Agent dialog) built on exactly these
four doors.
2026-08-12 23:33:58 -07:00
..
plugins feat(plugins): manifest v2 — schema version, api_version, inter-plugin deps, pip-dependency declaration seam, config schema (#64165) 2026-08-12 18:39:22 -07:00
_category_.json
…
acp-internals.md
…
adding-platform-adapters.md feat(platforms): add typed plugin send paths 2026-08-12 16:27:19 -07:00
adding-providers.md docs: DX sweep — 7 verified-absent documentation items 2026-08-07 08:58:08 -07:00
adding-tools.md
…
agent-loop.md Revert "feat: add DCP context engine" 2026-08-08 23:09:43 +05:30
architecture.md Revert "feat: add DCP context engine" 2026-08-08 23:09:43 +05:30
browser-provider-plugin.md
…
browser-supervisor.md
…
codebase-ownership.md docs: DX sweep — 7 verified-absent documentation items 2026-08-07 08:58:08 -07:00
context-compression-and-caching.md feat(compression): native OpenAI Responses server-side compaction for gpt-5.6 2026-08-08 11:24:45 -07:00
context-engine-plugin.md fix(agent): isolate the pooled compression worker from the live transcript (review F3) 2026-08-02 16:16:36 -07:00
contributing.md cleanup: remove references to simple-term-menu 2026-08-10 15:13:29 -04:00
creating-skills.md
…
cron-internals.md
…
desktop-plugin-sdk.md feat: profiles.list/profiles.create ws RPC + plugin session-navigation doors (#85093) 2026-08-12 23:33:58 -07:00
egress-internals.md
…
extending-the-cli.md
…
gateway-internals.md
…
image-gen-provider-plugin.md
…
memory-provider-plugin.md
…
model-provider-plugin.md
…
plugin-llm-access.md fix(plugins): complete task-routed LLM integration 2026-08-12 16:25:20 -07:00
programmatic-integration.md fix: close sibling display_kind drops and ui-tui parity for #82756 2026-08-10 11:01:15 +05:30
prompt-assembly.md
…
provider-runtime.md
…
secret-source-plugin.md fix: track secret source registration origin 2026-08-12 16:25:10 -07:00
session-storage.md perf(state): add messages(session_id, id) index for window/ordering queries 2026-08-02 21:16:17 +05:30
subagent-lifecycle-api.md
…
tools-runtime.md docs(plugins): clarify tool description sources 2026-08-09 00:52:07 -07:00
trajectory-format.md
…
video-gen-provider-plugin.md
…
web-search-provider-plugin.md
…
worktree-ui-dev.md
…