You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .agents/skills/debug-inference/SKILL.md
+16-32Lines changed: 16 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -224,15 +224,15 @@ This failure commonly appears on Linux hosts that:
224
224
225
225
- Run the OpenShell gateway in Docker
226
226
- Route `inference.local` to a host-local OpenAI-compatible endpoint such as Ollama
227
-
-Use UFW or another host firewall with default incoming or routed traffic denied
227
+
-Have a host firewall or networking configuration that denies container-to-host traffic by default
228
228
229
229
In this case, OpenShell routing is usually working correctly. The failing hop is container-to-host traffic on the backend port.
230
230
231
231
### Why CoreDNS Is Not the Cause
232
232
233
233
This is not the same issue as the Colima CoreDNS fix.
234
234
235
-
OpenShell injects `host.docker.internal` and `host.openshell.internal` into sandbox pods with `hostAliases`. That path bypasses cluster DNS lookup. If the request still times out, the usual cause is host firewall policy, not CoreDNS.
235
+
OpenShell injects `host.docker.internal` and `host.openshell.internal` into sandbox pods with `hostAliases`. That path bypasses cluster DNS lookup. If the request still times out, the usual cause is host firewall or network policy, not CoreDNS.
236
236
237
237
### Verify the Problem
238
238
@@ -254,29 +254,27 @@ OpenShell injects `host.docker.internal` and `host.openshell.internal` into sand
If steps 1 and 2 succeed but step 3 times out, host firewall policy is blocking the container-to-host path.
257
+
If steps 1 and 2 succeed but step 3 times out, the host firewall or network configuration is blocking the container-to-host path.
258
258
259
259
### Fix
260
260
261
-
Allow the OpenShell cluster bridge network to reach the host-local inference port.
261
+
Allow the Docker bridge network used by the OpenShell cluster to reach the host-local inference port. The exact command depends on your firewall tooling (iptables, nftables, firewalld, UFW, etc.), but the rule should allow:
262
262
263
-
Example narrow UFW rule:
263
+
-**Source**: the Docker bridge subnet used by the OpenShell cluster container (commonly `172.18.0.0/16`)
264
+
-**Destination**: the host gateway IP injected into sandbox pods for `host.docker.internal` (commonly `172.17.0.1`)
265
+
-**Port**: the inference server port (e.g. `11434/tcp` for Ollama)
264
266
265
-
```bash
266
-
sudo ufw allow proto tcp \
267
-
from 172.18.0.0/16 \
268
-
to 172.17.0.1 \
269
-
port 11434 \
270
-
comment 'OpenShell local inference'
271
-
```
267
+
To find the actual values on your system:
272
268
273
-
This example matches a common local layout:
269
+
```bash
270
+
# Docker bridge subnet for the OpenShell cluster network
If the host uses a firewall other than UFW, apply the equivalent allow rule for traffic from the Docker bridge network to the host-local inference port.
317
-
318
302
## Common Failure Patterns
319
303
320
304
| Symptom | Likely cause | Fix |
@@ -327,7 +311,7 @@ If the host uses a firewall other than UFW, apply the equivalent allow rule for
327
311
|`no compatible route`| Provider type does not match request shape | Switch provider type or change the client API |
328
312
| Direct call to external host is denied | Missing policy or provider attachment | Update `network_policies` and launch sandbox with the right provider |
329
313
| SDK fails on empty auth token | Client requires a non-empty API key even though OpenShell injects the real one | Use any placeholder token such as `test`|
330
-
| Upstream timeout from container to host-local backend | Host firewall (UFW or similar) blocks container-to-host traffic | Allow the Docker bridge subnet to reach the inference port on the host gateway IP (see firewall fix section above) |
314
+
| Upstream timeout from container to host-local backend | Host firewall or network config blocks container-to-host traffic | Allow the Docker bridge subnet to reach the inference port on the host gateway IP (see firewall fix section above) |
0 commit comments