Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
49c4d25
Add files via upload
CommanderTurtle Jul 21, 2026
de0ecc6
Add files via upload
CommanderTurtle Jul 21, 2026
3da040e
Add files via upload
CommanderTurtle Jul 21, 2026
ea48662
Add files via upload
CommanderTurtle Jul 21, 2026
42d7a69
Add files via upload
CommanderTurtle Jul 21, 2026
34c29d6
Add files via upload
CommanderTurtle Jul 21, 2026
8819503
Add files via upload
CommanderTurtle Jul 21, 2026
5a67b40
Delete hermes-plugin directory
CommanderTurtle Jul 21, 2026
e7a2a52
Create file
CommanderTurtle Jul 21, 2026
796bc6c
Add files via upload
CommanderTurtle Jul 21, 2026
b188de4
Delete .hermes-plugin/file
CommanderTurtle Jul 21, 2026
2df085c
Add files via upload
CommanderTurtle Jul 21, 2026
c6cb6b4
Add files via upload
CommanderTurtle Jul 21, 2026
cd2652f
Add .pytest_cache/gitignore file
CommanderTurtle Jul 21, 2026
2549f10
Add files via upload
CommanderTurtle Jul 21, 2026
3022fa5
Add files via upload
CommanderTurtle Jul 21, 2026
08b85e6
Create file
CommanderTurtle Jul 21, 2026
cbd7b76
Delete build directory
CommanderTurtle Jul 21, 2026
8b63437
Add files via upload
CommanderTurtle Jul 21, 2026
ce8338c
Add files via upload
CommanderTurtle Jul 21, 2026
25bb362
Add files via upload
CommanderTurtle Jul 21, 2026
946b937
Add files via upload
CommanderTurtle Jul 21, 2026
6e09580
Add files via upload
CommanderTurtle Jul 21, 2026
722c945
Add files via upload
CommanderTurtle Jul 21, 2026
dc30134
Add files via upload
CommanderTurtle Jul 21, 2026
8ef0599
Add files via upload
CommanderTurtle Jul 21, 2026
e156d76
Add files via upload
CommanderTurtle Jul 21, 2026
0e46848
Add files via upload
CommanderTurtle Jul 21, 2026
4a37d2c
Add files via upload
CommanderTurtle Jul 21, 2026
05f6de1
Add files via upload
CommanderTurtle Jul 21, 2026
44c9228
Add files via upload
CommanderTurtle Jul 21, 2026
d096497
Delete .pytest_cache directory
CommanderTurtle Jul 21, 2026
c547cdd
Delete .hermes-plugin/__pycache__ directory
CommanderTurtle Jul 26, 2026
6e38157
Merge pull request #1 from CommanderTurtle/rollback-c547cdd
CommanderTurtle Jul 26, 2026
dca77c4
Merge branch 'mksglu:main' into main
CommanderTurtle Jul 27, 2026
9741920
Merge branch 'main' into main
CommanderTurtle Jul 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions .hermes-plugin/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Context Mode for Hermes Agent

This Hermes plugin adds proactive Context Mode routing and a bounded fallback
for oversized native tool results. It uses the public Hermes plugin API and the
Python standard library only.

## Requirements

- Hermes Agent with the current Python plugin hooks
- Node.js 22.5 or later, or Bun
- The Context Mode MCP server registered under the name `context-mode`

Hermes registers that server's tools as `mcp__context_mode__ctx_*`.

## Install

Register the MCP server:

```bash
hermes mcp add context-mode --command npx --args -y context-mode
```

Copy the plugin on Linux, macOS, or WSL:

```bash
mkdir -p ~/.hermes/plugins/hermes-context-mode
cp .hermes-plugin/plugin.yaml .hermes-plugin/__init__.py ~/.hermes/plugins/hermes-context-mode/
```

Copy the plugin in PowerShell:

```powershell
$target = Join-Path $HOME ".hermes/plugins/hermes-context-mode"
New-Item -ItemType Directory -Force $target | Out-Null
Copy-Item .hermes-plugin/plugin.yaml, .hermes-plugin/__init__.py $target -Force
```

Enable it in `~/.hermes/config.yaml`:

```yaml
plugins:
enabled:
- hermes-context-mode
```

Restart Hermes. For a gateway install, restart the gateway process. Confirm the
MCP connection with `hermes mcp test context-mode`, then ask Hermes for
`ctx stats`.

## Behavior

| Hook | Behavior |
|---|---|
| `pre_tool_call` | Blocks known high-output terminal fetch/build commands using Hermes' `{"action":"block","message":"..."}` contract. |
| `transform_tool_result` | Writes eligible outputs larger than 3 KiB to a collision-safe UTF-8 file and returns a compact pointer. |
| `pre_llm_call` | Injects current `mcp__context_mode__ctx_*` routing guidance once per session. |
| `on_session_start` | Initializes bounded per-session metrics. |
| `on_session_end` | Persists a snapshot at Hermes' per-turn boundary without destroying session state. |
| `on_session_finalize` | Persists and releases state when Hermes tears down the session. |

Generated data stays under
`~/.hermes/plugins/hermes-context-mode/` (or `$HERMES_HOME/plugins/...`):

```text
metrics.db
sandbox/
```

Hermes plugin API: <https://hermes-agent.nousresearch.com/docs/user-guide/features/plugins>

Hermes hook contracts: <https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks>

Hermes MCP configuration: <https://hermes-agent.nousresearch.com/docs/user-guide/features/mcp>
Loading