Skip to content

Releases: Bevel-Software/Hexis

v0.13.6

Choose a tag to compare

@h3xxit h3xxit released this 30 Aug 15:00

Fixed

  • Agents reconnect on their own after a restart. When the server no longer holds an agent's MCP session (restart, idle timeout), /api/mcp now answers with the standard "session not found" signal that Claude Code, Claude Desktop and other clients re-initialize on — instead of an error that read as a malformed request and left every connected agent stranded until someone reconnected it by hand.

Added

  • The MCP server is now called "Skills, Tools and Knowledge" everywhere you connect an agent. In claude.ai it appears as Skills, Tools and Knowledge — <your host>; in config files and claude mcp add the key is skills-tools-knowledge. If you added the server by hand under the old knowledge / knowledge-base key, it keeps working — re-add it under the new key when convenient and remove the old entry.
  • Add to ChatGPT button next to Add to Claude on the welcome page and the External agent access page. ChatGPT has no prefill link, so it opens ChatGPT's connector settings and shows the name and URL to paste.
  • Tool pages show their source. A closed-by-default "Source" section on every tool page shows the file the platform runs, read-only.

Upgrading

Set HEXIS_VERSION=0.13.6, then docker compose pull app && docker compose up -d. No manual migration steps.

v0.12.1

Choose a tag to compare

@h3xxit h3xxit released this 25 Aug 21:28
76ab6e7

This release fixes a family of issues around pushing knowledge-base changes to the git remote, improves how sync problems surface in the app, and hardens the container against resource exhaustion.

Fixed

  • Saves could report success while never reaching the git remote. Workspace clones created during startup did not retain the credentials they were cloned with, so later background pushes could fail silently while commits accumulated locally. Clones now keep their credentials, existing broken clones repair themselves automatically on the next start, and credentials added or rotated through the setup screen reach already-open workspaces without a restart. (#95)
  • Failed pushes are now visible. When commits can't reach the remote, everyone on the affected branch sees a banner — your work is saved locally, and an administrator is pointed at the server logs. The banner clears itself when syncing recovers. Routine concurrent-edit races don't raise it; only failures that need an operator do.
  • Resource leaks under failing tool calls. A hung agent tool call could permanently pin an OS thread (@utcp/code-mode 1.2.13), and an MCP server rejecting its credential kept a dead cached session accumulating listeners (typescript-utcp#34, fixed in @utcp/mcp 1.1.6). Both libraries are updated.

Changed

  • The bundled compose files now run the app under an init process and cap its task count (init: true, pids_limit), so process/thread leaks degrade the app instead of exhausting the host.

Upgrading

Set HEXIS_VERSION=0.12.1 and run docker compose pull app && docker compose up -d. No migrations; existing workspaces heal automatically on startup.

v0.11.1 — The local MCP server

Choose a tag to compare

@h3xxit h3xxit released this 20 Aug 06:25

This release introduces the local MCP server. Until now, agents reached a workspace only through the hosted MCP endpoint — which meant tools that must run on your own machine couldn't be used at all, and the local server existed only as unreleased groundwork. It is now a first-class way to connect, visible everywhere an agent gets set up:

  • One command, sign-in in the browser. npx @bevel-software/hexis-mcp with your workspace URL opens a browser sign-in — no key to mint or paste. The grant refreshes silently on later runs; --key remains for pipelines and CI.
  • Local-only tools, actually local. Plugins whose MCP servers are marked local are downloaded and run on your machine, with a persistent data directory that survives restarts. Their ${VAR} credentials resolve from your local environment — vault secrets stay on the server, local secrets stay on your laptop, and neither crosses over.
  • Everything else comes along. The same connection serves the workspace's remote tools and its skills (as slash commands), so the local server is a superset of the hosted endpoint, not a trade-off.
  • In the UI. Onboarding and the agent-access page now lead with the local server for desktop agents — Claude Code, Claude Desktop, Cursor, Windsurf, Cline and similar — with the hosted MCP endpoint as the option for everything else. (Claude Desktop works through its config file; only its Connectors UI is remote-only.)

Groups joined roles in access control. A group and a role are now distinct principals — even when they share a name — with groups badged as such in the share dialog and roles reduced to membership on their admin page. Hexis ships the group model and its guarantees (machine-owned files can't be written through a human's lock; group denials can't be masked by a same-named role); syncing groups automatically from your identity provider is part of the enterprise edition.

Hardened by five review rounds before shipping. The local server's sign-in lifecycle is race-free and its startup and teardown are bounded — a wedged or orphaned server exits and cleans up its children instead of lingering and holding plugin directories hostage. On the platform side, lock releases only announce disk changes that actually happened, and publication checks only read settled git states.

Packages @bevel-software/platform-{shared,mcp-core,core-backend,core-frontend} and @bevel-software/hexis-mcp are on npm at 0.11.1; the image is ghcr.io/bevel-software/hexis:0.11.1. Self-hosters: this release adds one database migration (a lock-mode column), applied automatically on boot.

v0.8.0 — Plugins

Choose a tag to compare

@h3xxit h3xxit released this 16 Aug 20:13

The knowledge base's Groups/ root is now Plugins/, laid out per the Agent Plugins specification (v1.0.0): each plugin carries a plugin.json manifest, its skills under skills/, and its MCP servers in mcp.json — the three things a conformant client knows how to read. Platform-specific .tool manuals live in the spec's reserved software.bevel.hexis/ namespace, and access.md stays at the plugin root, where access resolution needs it.

Existing knowledge bases migrate themselves. The next load after upgrading renames the root, writes manifests, converts mcp-type .tool files into mcp.json entries, and commits the result. Manual ids are preserved as server names, so configured secrets and completed OAuth sign-ins stay bound. The migration is idempotent, finishes a half-done run, names anything it deliberately declines to convert, and never widens access: a .tool that gates itself, carries credentials in its URL, or wouldn't survive as an mcp.json entry stays a .tool.

Secrets never enter the portable files. mcp.json records only where a server is; auth headers with ${VAR} references, variable declarations, and the local-only flag live in the plugin manifest's extensions block, which Hexis interprets and other clients ignore — exactly the client-managed credential storage the specification defers to.

Editing MCP servers without editing JSON. Tool pages for mcp.json-backed servers grew a server-scoped form: transport, URL or command, headers split between portable and auth, variable declarations with scopes — validated at save with the same rules discovery applies, so nothing saveable is undiscoverable. Renaming a server warns that secrets and sign-ins bound to the old name disconnect.