atbash-hermes-plugin 0.4.6.dev1__tar.gz → 0.4.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atbash-hermes-plugin
3
- Version: 0.4.6.dev1
3
+ Version: 0.4.7
4
4
  Summary: Atbash safety plugin for Hermes Agent
5
5
  Author: atbash
6
6
  License-Expression: LicenseRef-Atbash-Proprietary
@@ -10,7 +10,7 @@ Keywords: atbash,hermes,hermes-agent,agent-safety,ai-safety,tool-guard,judge,pol
10
10
  Requires-Python: <3.13,>=3.9
11
11
  Description-Content-Type: text/markdown
12
12
  License-File: LICENSE
13
- Requires-Dist: atbash-sdk==0.4.7.dev0
13
+ Requires-Dist: atbash-sdk==0.5.0
14
14
  Requires-Dist: httpx<1,>=0.27
15
15
  Requires-Dist: opentelemetry-exporter-otlp-proto-http<2,>=1.29
16
16
  Requires-Dist: opentelemetry-sdk<2,>=1.29
@@ -30,38 +30,24 @@ stopped before execution.
30
30
  - Intercepts Hermes tool calls through `pre_tool_call`.
31
31
  - Sends the tool name, arguments, command-like payload, session metadata, and
32
32
  inferred action class to Atbash.
33
- - Blocks tool execution on `BLOCK`, `DENY`, `REJECT`, or `DISALLOW`; holds it for operator review on `HOLD`.
33
+ - Blocks tool execution on `BLOCK`, `DENY`, `REJECT`, `DISALLOW`, or `HOLD`.
34
34
  - Persists learned Hermes tool classifications across sessions.
35
35
 
36
36
  ## Install
37
37
 
38
- Hermes manages its own Python environment. Install the plugin directly into it —
39
- do **not** use your system `pip` — on macOS and some Linux distros it will be blocked by the OS.
40
-
41
- **If you installed Hermes via the official install script (`curl … | bash`):**
38
+ Install the plugin into the same Python environment that runs Hermes.
39
+ Requires Python 3.10 through 3.12.
42
40
 
43
41
  ```bash
44
- ~/.hermes/hermes-agent/venv/bin/pip3 install atbash-hermes-plugin
42
+ pip install atbash-hermes-plugin==0.4.5
45
43
  ```
46
44
 
47
- **If you installed Hermes via `uv`:**
45
+ If Hermes is installed in a virtual environment, use that environment's Python:
48
46
 
49
47
  ```bash
50
- uv pip install --python ~/.hermes/hermes-agent/venv/bin/python atbash-hermes-plugin
48
+ /path/to/hermes/venv/bin/python -m pip install atbash-hermes-plugin==0.4.5
51
49
  ```
52
50
 
53
- To install the latest dev release, add `--pre` (pip) or `--prerelease=allow` (uv):
54
-
55
- ```bash
56
- # pip
57
- ~/.hermes/hermes-agent/venv/bin/pip3 install --pre atbash-hermes-plugin
58
-
59
- # uv
60
- uv pip install --python ~/.hermes/hermes-agent/venv/bin/python --prerelease=allow atbash-hermes-plugin
61
- ```
62
-
63
- No further activation step is needed — Hermes discovers the plugin automatically on next start.
64
-
65
51
  ## Configure Atbash
66
52
 
67
53
  The plugin needs an Atbash agent key. Configure either `ATBASH_KEY_PATH` or
@@ -70,10 +56,10 @@ The plugin needs an Atbash agent key. Configure either `ATBASH_KEY_PATH` or
70
56
  Recommended:
71
57
 
72
58
  ```bash
73
- ATBASH_KEY_PATH=~/.config/atbash/guard-client-key
59
+ ATBASH_KEY_PATH=$HOME/.config/atbash/guard-client-key
74
60
  ```
75
61
 
76
- Alternative (paste the key JSON directly):
62
+ Alternative:
77
63
 
78
64
  ```bash
79
65
  ATBASH_AGENT_PRIVKEY='{"pubkey":"...","privkey":"..."}'
@@ -81,7 +67,7 @@ ATBASH_AGENT_PRIVKEY='{"pubkey":"...","privkey":"..."}'
81
67
 
82
68
  ## Where To Set Environment Variables
83
69
 
84
- Hermes loads environment variables from `~/.hermes/.env`.
70
+ Hermes commonly loads environment variables from `~/.hermes/.env`.
85
71
 
86
72
  Create or edit that file:
87
73
 
@@ -92,7 +78,7 @@ nano ~/.hermes/.env
92
78
  Add:
93
79
 
94
80
  ```bash
95
- ATBASH_KEY_PATH=~/.config/atbash/guard-client-key
81
+ ATBASH_KEY_PATH=$HOME/.config/atbash/guard-client-key
96
82
  ATBASH_ENFORCE_DECISION=true
97
83
  ATBASH_DEBUG=false
98
84
  ATBASH_ORG_NAME=your-org-name
@@ -132,11 +118,7 @@ ATBASH_DEBUG=false
132
118
  ATBASH_ORG_NAME=your-org-name
133
119
 
134
120
  # Override where learned Hermes tool classifications are saved.
135
- ATBASH_TOOL_MAP_PATH=~/.config/atbash/hermes-tool-map.json
136
-
137
- # HTTP request timeout in seconds for judge API calls. Default: 30.
138
- # Raise this if you see "read operation timed out" errors on a slow endpoint.
139
- ATBASH_REQUEST_TIMEOUT=30
121
+ ATBASH_TOOL_MAP_PATH=$HOME/.config/atbash/hermes-tool-map.json
140
122
  ```
141
123
 
142
124
  ## Telemetry
@@ -154,13 +136,19 @@ printf '{"enabled": false}\n' > ~/.config/atbash/telemetry.json
154
136
 
155
137
  ## Enable Or Check The Plugin
156
138
 
157
- Hermes discovers the plugin automatically via Python entry points no manual
158
- enable step is needed. Restarting Hermes after installation is sufficient.
139
+ Hermes should discover installed Python packages that expose the
140
+ `hermes_agent.plugins` entry point.
141
+
142
+ Check whether Hermes sees the plugin:
143
+
144
+ ```bash
145
+ hermes plugins list | grep atbash
146
+ ```
159
147
 
160
- To confirm the package is installed in the right environment:
148
+ If needed, enable it:
161
149
 
162
150
  ```bash
163
- ~/.hermes/hermes-agent/venv/bin/pip3 show atbash-hermes-plugin
151
+ hermes plugins enable atbash-hermes-plugin
164
152
  ```
165
153
 
166
154
  ## Verify It Is Working
@@ -171,7 +159,7 @@ file or opening a website.
171
159
  In another terminal, watch the Hermes log:
172
160
 
173
161
  ```bash
174
- tail -f ~/.hermes/logs/agent.log | grep -i atbash
162
+ tail -f ~/.hermes/logs/agent.log
175
163
  ```
176
164
 
177
165
  With `ATBASH_DEBUG=true`, you should see lines similar to:
@@ -266,24 +254,26 @@ user to retry after review, rather than automatically re-running the action.
266
254
 
267
255
  ## Troubleshooting
268
256
 
269
- If the plugin is not being picked up, confirm it is installed in the Hermes
270
- environment (not the system Python):
257
+ If Hermes does not show the plugin:
271
258
 
272
259
  ```bash
273
- ~/.hermes/hermes-agent/venv/bin/pip3 show atbash-hermes-plugin
260
+ hermes plugins list | grep atbash
261
+ python -m pip show atbash-hermes-plugin
274
262
  ```
275
263
 
276
- If Atbash verdicts are not appearing in logs, enable debug mode by adding this
277
- to `~/.hermes/.env`:
264
+ Make sure the package was installed into the same Python environment that runs
265
+ Hermes.
266
+
267
+ If Atbash verdicts are not appearing in logs:
278
268
 
279
269
  ```bash
280
270
  ATBASH_DEBUG=true
281
271
  ```
282
272
 
283
- Then restart Hermes and watch in a second terminal:
273
+ Then restart Hermes and watch:
284
274
 
285
275
  ```bash
286
- tail -f ~/.hermes/logs/agent.log | grep -i atbash
276
+ tail -f ~/.hermes/logs/agent.log
287
277
  ```
288
278
 
289
279
  If the plugin blocks everything with an unavailable-key or authentication error,
@@ -12,38 +12,24 @@ stopped before execution.
12
12
  - Intercepts Hermes tool calls through `pre_tool_call`.
13
13
  - Sends the tool name, arguments, command-like payload, session metadata, and
14
14
  inferred action class to Atbash.
15
- - Blocks tool execution on `BLOCK`, `DENY`, `REJECT`, or `DISALLOW`; holds it for operator review on `HOLD`.
15
+ - Blocks tool execution on `BLOCK`, `DENY`, `REJECT`, `DISALLOW`, or `HOLD`.
16
16
  - Persists learned Hermes tool classifications across sessions.
17
17
 
18
18
  ## Install
19
19
 
20
- Hermes manages its own Python environment. Install the plugin directly into it —
21
- do **not** use your system `pip` — on macOS and some Linux distros it will be blocked by the OS.
22
-
23
- **If you installed Hermes via the official install script (`curl … | bash`):**
20
+ Install the plugin into the same Python environment that runs Hermes.
21
+ Requires Python 3.10 through 3.12.
24
22
 
25
23
  ```bash
26
- ~/.hermes/hermes-agent/venv/bin/pip3 install atbash-hermes-plugin
24
+ pip install atbash-hermes-plugin==0.4.5
27
25
  ```
28
26
 
29
- **If you installed Hermes via `uv`:**
27
+ If Hermes is installed in a virtual environment, use that environment's Python:
30
28
 
31
29
  ```bash
32
- uv pip install --python ~/.hermes/hermes-agent/venv/bin/python atbash-hermes-plugin
30
+ /path/to/hermes/venv/bin/python -m pip install atbash-hermes-plugin==0.4.5
33
31
  ```
34
32
 
35
- To install the latest dev release, add `--pre` (pip) or `--prerelease=allow` (uv):
36
-
37
- ```bash
38
- # pip
39
- ~/.hermes/hermes-agent/venv/bin/pip3 install --pre atbash-hermes-plugin
40
-
41
- # uv
42
- uv pip install --python ~/.hermes/hermes-agent/venv/bin/python --prerelease=allow atbash-hermes-plugin
43
- ```
44
-
45
- No further activation step is needed — Hermes discovers the plugin automatically on next start.
46
-
47
33
  ## Configure Atbash
48
34
 
49
35
  The plugin needs an Atbash agent key. Configure either `ATBASH_KEY_PATH` or
@@ -52,10 +38,10 @@ The plugin needs an Atbash agent key. Configure either `ATBASH_KEY_PATH` or
52
38
  Recommended:
53
39
 
54
40
  ```bash
55
- ATBASH_KEY_PATH=~/.config/atbash/guard-client-key
41
+ ATBASH_KEY_PATH=$HOME/.config/atbash/guard-client-key
56
42
  ```
57
43
 
58
- Alternative (paste the key JSON directly):
44
+ Alternative:
59
45
 
60
46
  ```bash
61
47
  ATBASH_AGENT_PRIVKEY='{"pubkey":"...","privkey":"..."}'
@@ -63,7 +49,7 @@ ATBASH_AGENT_PRIVKEY='{"pubkey":"...","privkey":"..."}'
63
49
 
64
50
  ## Where To Set Environment Variables
65
51
 
66
- Hermes loads environment variables from `~/.hermes/.env`.
52
+ Hermes commonly loads environment variables from `~/.hermes/.env`.
67
53
 
68
54
  Create or edit that file:
69
55
 
@@ -74,7 +60,7 @@ nano ~/.hermes/.env
74
60
  Add:
75
61
 
76
62
  ```bash
77
- ATBASH_KEY_PATH=~/.config/atbash/guard-client-key
63
+ ATBASH_KEY_PATH=$HOME/.config/atbash/guard-client-key
78
64
  ATBASH_ENFORCE_DECISION=true
79
65
  ATBASH_DEBUG=false
80
66
  ATBASH_ORG_NAME=your-org-name
@@ -114,11 +100,7 @@ ATBASH_DEBUG=false
114
100
  ATBASH_ORG_NAME=your-org-name
115
101
 
116
102
  # Override where learned Hermes tool classifications are saved.
117
- ATBASH_TOOL_MAP_PATH=~/.config/atbash/hermes-tool-map.json
118
-
119
- # HTTP request timeout in seconds for judge API calls. Default: 30.
120
- # Raise this if you see "read operation timed out" errors on a slow endpoint.
121
- ATBASH_REQUEST_TIMEOUT=30
103
+ ATBASH_TOOL_MAP_PATH=$HOME/.config/atbash/hermes-tool-map.json
122
104
  ```
123
105
 
124
106
  ## Telemetry
@@ -136,13 +118,19 @@ printf '{"enabled": false}\n' > ~/.config/atbash/telemetry.json
136
118
 
137
119
  ## Enable Or Check The Plugin
138
120
 
139
- Hermes discovers the plugin automatically via Python entry points no manual
140
- enable step is needed. Restarting Hermes after installation is sufficient.
121
+ Hermes should discover installed Python packages that expose the
122
+ `hermes_agent.plugins` entry point.
123
+
124
+ Check whether Hermes sees the plugin:
125
+
126
+ ```bash
127
+ hermes plugins list | grep atbash
128
+ ```
141
129
 
142
- To confirm the package is installed in the right environment:
130
+ If needed, enable it:
143
131
 
144
132
  ```bash
145
- ~/.hermes/hermes-agent/venv/bin/pip3 show atbash-hermes-plugin
133
+ hermes plugins enable atbash-hermes-plugin
146
134
  ```
147
135
 
148
136
  ## Verify It Is Working
@@ -153,7 +141,7 @@ file or opening a website.
153
141
  In another terminal, watch the Hermes log:
154
142
 
155
143
  ```bash
156
- tail -f ~/.hermes/logs/agent.log | grep -i atbash
144
+ tail -f ~/.hermes/logs/agent.log
157
145
  ```
158
146
 
159
147
  With `ATBASH_DEBUG=true`, you should see lines similar to:
@@ -248,24 +236,26 @@ user to retry after review, rather than automatically re-running the action.
248
236
 
249
237
  ## Troubleshooting
250
238
 
251
- If the plugin is not being picked up, confirm it is installed in the Hermes
252
- environment (not the system Python):
239
+ If Hermes does not show the plugin:
253
240
 
254
241
  ```bash
255
- ~/.hermes/hermes-agent/venv/bin/pip3 show atbash-hermes-plugin
242
+ hermes plugins list | grep atbash
243
+ python -m pip show atbash-hermes-plugin
256
244
  ```
257
245
 
258
- If Atbash verdicts are not appearing in logs, enable debug mode by adding this
259
- to `~/.hermes/.env`:
246
+ Make sure the package was installed into the same Python environment that runs
247
+ Hermes.
248
+
249
+ If Atbash verdicts are not appearing in logs:
260
250
 
261
251
  ```bash
262
252
  ATBASH_DEBUG=true
263
253
  ```
264
254
 
265
- Then restart Hermes and watch in a second terminal:
255
+ Then restart Hermes and watch:
266
256
 
267
257
  ```bash
268
- tail -f ~/.hermes/logs/agent.log | grep -i atbash
258
+ tail -f ~/.hermes/logs/agent.log
269
259
  ```
270
260
 
271
261
  If the plugin blocks everything with an unavailable-key or authentication error,
@@ -554,10 +554,9 @@ class AtbashHermesGuard:
554
554
  self.endpoint = os.getenv("ATBASH_ENDPOINT")
555
555
  self.judge_endpoint_policy = os.getenv("ATBASH_JUDGE_ENDPOINT_POLICY")
556
556
  self.judge_verify_pubkey = os.getenv("ATBASH_JUDGE_VERIFY_PUBKEY")
557
- self.key_path = os.path.expandvars(os.path.expanduser(os.getenv("ATBASH_KEY_PATH") or "")) or None
557
+ self.key_path = os.getenv("ATBASH_KEY_PATH")
558
558
  self.privkey = os.getenv("ATBASH_AGENT_PRIVKEY")
559
559
  self.org_name = os.getenv("ATBASH_ORG_NAME")
560
- self.request_timeout = float(os.getenv("ATBASH_REQUEST_TIMEOUT") or 30.0)
561
560
  self.provider = os.getenv("HERMES_PROVIDER")
562
561
  self.model = os.getenv("HERMES_MODEL")
563
562
  self.tool_map_path = Path(
@@ -600,7 +599,7 @@ class AtbashHermesGuard:
600
599
  from atbash import Atbash # type: ignore
601
600
  from atbash.types import ToolCallInput # type: ignore
602
601
  except Exception:
603
- raise RuntimeError("atbash-sdk is required. Install with: pip install atbash-sdk==0.4.3.dev0") from e
602
+ raise RuntimeError("atbash-sdk is required. Install with: pip install atbash-sdk==0.4.5") from e
604
603
 
605
604
  self.ToolCallInput = ToolCallInput
606
605
  judge_cfg = self._judge_config()
@@ -613,7 +612,6 @@ class AtbashHermesGuard:
613
612
  judge=judge_cfg,
614
613
  org_name=self.org_name,
615
614
  fail_closed=self.fail_closed,
616
- timeout=self.request_timeout,
617
615
  )
618
616
  except TypeError:
619
617
  kwargs: Dict[str, Any] = {
@@ -632,7 +630,6 @@ class AtbashHermesGuard:
632
630
  judge=judge_cfg,
633
631
  org_name=self.org_name,
634
632
  fail_closed=self.fail_closed,
635
- timeout=self.request_timeout,
636
633
  )
637
634
 
638
635
  def _judge_config(self) -> Optional[Dict[str, str]]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atbash-hermes-plugin
3
- Version: 0.4.6.dev1
3
+ Version: 0.4.7
4
4
  Summary: Atbash safety plugin for Hermes Agent
5
5
  Author: atbash
6
6
  License-Expression: LicenseRef-Atbash-Proprietary
@@ -10,7 +10,7 @@ Keywords: atbash,hermes,hermes-agent,agent-safety,ai-safety,tool-guard,judge,pol
10
10
  Requires-Python: <3.13,>=3.9
11
11
  Description-Content-Type: text/markdown
12
12
  License-File: LICENSE
13
- Requires-Dist: atbash-sdk==0.4.7.dev0
13
+ Requires-Dist: atbash-sdk==0.5.0
14
14
  Requires-Dist: httpx<1,>=0.27
15
15
  Requires-Dist: opentelemetry-exporter-otlp-proto-http<2,>=1.29
16
16
  Requires-Dist: opentelemetry-sdk<2,>=1.29
@@ -30,38 +30,24 @@ stopped before execution.
30
30
  - Intercepts Hermes tool calls through `pre_tool_call`.
31
31
  - Sends the tool name, arguments, command-like payload, session metadata, and
32
32
  inferred action class to Atbash.
33
- - Blocks tool execution on `BLOCK`, `DENY`, `REJECT`, or `DISALLOW`; holds it for operator review on `HOLD`.
33
+ - Blocks tool execution on `BLOCK`, `DENY`, `REJECT`, `DISALLOW`, or `HOLD`.
34
34
  - Persists learned Hermes tool classifications across sessions.
35
35
 
36
36
  ## Install
37
37
 
38
- Hermes manages its own Python environment. Install the plugin directly into it —
39
- do **not** use your system `pip` — on macOS and some Linux distros it will be blocked by the OS.
40
-
41
- **If you installed Hermes via the official install script (`curl … | bash`):**
38
+ Install the plugin into the same Python environment that runs Hermes.
39
+ Requires Python 3.10 through 3.12.
42
40
 
43
41
  ```bash
44
- ~/.hermes/hermes-agent/venv/bin/pip3 install atbash-hermes-plugin
42
+ pip install atbash-hermes-plugin==0.4.5
45
43
  ```
46
44
 
47
- **If you installed Hermes via `uv`:**
45
+ If Hermes is installed in a virtual environment, use that environment's Python:
48
46
 
49
47
  ```bash
50
- uv pip install --python ~/.hermes/hermes-agent/venv/bin/python atbash-hermes-plugin
48
+ /path/to/hermes/venv/bin/python -m pip install atbash-hermes-plugin==0.4.5
51
49
  ```
52
50
 
53
- To install the latest dev release, add `--pre` (pip) or `--prerelease=allow` (uv):
54
-
55
- ```bash
56
- # pip
57
- ~/.hermes/hermes-agent/venv/bin/pip3 install --pre atbash-hermes-plugin
58
-
59
- # uv
60
- uv pip install --python ~/.hermes/hermes-agent/venv/bin/python --prerelease=allow atbash-hermes-plugin
61
- ```
62
-
63
- No further activation step is needed — Hermes discovers the plugin automatically on next start.
64
-
65
51
  ## Configure Atbash
66
52
 
67
53
  The plugin needs an Atbash agent key. Configure either `ATBASH_KEY_PATH` or
@@ -70,10 +56,10 @@ The plugin needs an Atbash agent key. Configure either `ATBASH_KEY_PATH` or
70
56
  Recommended:
71
57
 
72
58
  ```bash
73
- ATBASH_KEY_PATH=~/.config/atbash/guard-client-key
59
+ ATBASH_KEY_PATH=$HOME/.config/atbash/guard-client-key
74
60
  ```
75
61
 
76
- Alternative (paste the key JSON directly):
62
+ Alternative:
77
63
 
78
64
  ```bash
79
65
  ATBASH_AGENT_PRIVKEY='{"pubkey":"...","privkey":"..."}'
@@ -81,7 +67,7 @@ ATBASH_AGENT_PRIVKEY='{"pubkey":"...","privkey":"..."}'
81
67
 
82
68
  ## Where To Set Environment Variables
83
69
 
84
- Hermes loads environment variables from `~/.hermes/.env`.
70
+ Hermes commonly loads environment variables from `~/.hermes/.env`.
85
71
 
86
72
  Create or edit that file:
87
73
 
@@ -92,7 +78,7 @@ nano ~/.hermes/.env
92
78
  Add:
93
79
 
94
80
  ```bash
95
- ATBASH_KEY_PATH=~/.config/atbash/guard-client-key
81
+ ATBASH_KEY_PATH=$HOME/.config/atbash/guard-client-key
96
82
  ATBASH_ENFORCE_DECISION=true
97
83
  ATBASH_DEBUG=false
98
84
  ATBASH_ORG_NAME=your-org-name
@@ -132,11 +118,7 @@ ATBASH_DEBUG=false
132
118
  ATBASH_ORG_NAME=your-org-name
133
119
 
134
120
  # Override where learned Hermes tool classifications are saved.
135
- ATBASH_TOOL_MAP_PATH=~/.config/atbash/hermes-tool-map.json
136
-
137
- # HTTP request timeout in seconds for judge API calls. Default: 30.
138
- # Raise this if you see "read operation timed out" errors on a slow endpoint.
139
- ATBASH_REQUEST_TIMEOUT=30
121
+ ATBASH_TOOL_MAP_PATH=$HOME/.config/atbash/hermes-tool-map.json
140
122
  ```
141
123
 
142
124
  ## Telemetry
@@ -154,13 +136,19 @@ printf '{"enabled": false}\n' > ~/.config/atbash/telemetry.json
154
136
 
155
137
  ## Enable Or Check The Plugin
156
138
 
157
- Hermes discovers the plugin automatically via Python entry points no manual
158
- enable step is needed. Restarting Hermes after installation is sufficient.
139
+ Hermes should discover installed Python packages that expose the
140
+ `hermes_agent.plugins` entry point.
141
+
142
+ Check whether Hermes sees the plugin:
143
+
144
+ ```bash
145
+ hermes plugins list | grep atbash
146
+ ```
159
147
 
160
- To confirm the package is installed in the right environment:
148
+ If needed, enable it:
161
149
 
162
150
  ```bash
163
- ~/.hermes/hermes-agent/venv/bin/pip3 show atbash-hermes-plugin
151
+ hermes plugins enable atbash-hermes-plugin
164
152
  ```
165
153
 
166
154
  ## Verify It Is Working
@@ -171,7 +159,7 @@ file or opening a website.
171
159
  In another terminal, watch the Hermes log:
172
160
 
173
161
  ```bash
174
- tail -f ~/.hermes/logs/agent.log | grep -i atbash
162
+ tail -f ~/.hermes/logs/agent.log
175
163
  ```
176
164
 
177
165
  With `ATBASH_DEBUG=true`, you should see lines similar to:
@@ -266,24 +254,26 @@ user to retry after review, rather than automatically re-running the action.
266
254
 
267
255
  ## Troubleshooting
268
256
 
269
- If the plugin is not being picked up, confirm it is installed in the Hermes
270
- environment (not the system Python):
257
+ If Hermes does not show the plugin:
271
258
 
272
259
  ```bash
273
- ~/.hermes/hermes-agent/venv/bin/pip3 show atbash-hermes-plugin
260
+ hermes plugins list | grep atbash
261
+ python -m pip show atbash-hermes-plugin
274
262
  ```
275
263
 
276
- If Atbash verdicts are not appearing in logs, enable debug mode by adding this
277
- to `~/.hermes/.env`:
264
+ Make sure the package was installed into the same Python environment that runs
265
+ Hermes.
266
+
267
+ If Atbash verdicts are not appearing in logs:
278
268
 
279
269
  ```bash
280
270
  ATBASH_DEBUG=true
281
271
  ```
282
272
 
283
- Then restart Hermes and watch in a second terminal:
273
+ Then restart Hermes and watch:
284
274
 
285
275
  ```bash
286
- tail -f ~/.hermes/logs/agent.log | grep -i atbash
276
+ tail -f ~/.hermes/logs/agent.log
287
277
  ```
288
278
 
289
279
  If the plugin blocks everything with an unavailable-key or authentication error,
@@ -1,4 +1,4 @@
1
- atbash-sdk==0.4.7.dev0
1
+ atbash-sdk==0.5.0
2
2
  httpx<1,>=0.27
3
3
  opentelemetry-exporter-otlp-proto-http<2,>=1.29
4
4
  opentelemetry-sdk<2,>=1.29
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "atbash-hermes-plugin"
7
- version = "0.4.6.dev1"
7
+ version = "0.4.7"
8
8
  description = "Atbash safety plugin for Hermes Agent"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9,<3.13"
@@ -24,7 +24,7 @@ keywords = [
24
24
  "policy"
25
25
  ]
26
26
  dependencies = [
27
- "atbash-sdk==0.4.7.dev0",
27
+ "atbash-sdk==0.5.0",
28
28
  "httpx>=0.27,<1",
29
29
  "opentelemetry-exporter-otlp-proto-http>=1.29,<2",
30
30
  "opentelemetry-sdk>=1.29,<2",