aegis
Route API calls through the Aegis credential proxy — keeps raw API keys out of the agent context
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Route API calls through the Aegis credential proxy — keeps raw API keys out of the agent context
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
| name | aegis |
| description | Route API calls through the Aegis credential proxy — keeps raw API keys out of the agent context |
| version | 1.0.0 |
| homepage | https://github.com/getaegis/aegis |
| user-invocable | false |
| metadata | {"openclaw":{"always":true,"emoji":"🛡️","homepage":"https://github.com/getaegis/aegis","requires":{"bins":["aegis"],"env":["AEGIS_AGENT_TOKEN"]},"primaryEnv":"AEGIS_AGENT_TOKEN"}} |
You have access to external APIs through the Aegis credential proxy running at http://localhost:3100. Aegis stores and injects real API credentials at the network boundary — you never see or handle raw API keys.
Instead of calling APIs directly, route all requests through Aegis Gate:
| Real API | Aegis proxy URL |
|---|---|
https://api.github.com/... | http://localhost:3100/github/... |
https://api.slack.com/... | http://localhost:3100/slack/... |
https://api.stripe.com/... | http://localhost:3100/stripe/... |
https://api.openai.com/... | http://localhost:3100/openai/... |
The pattern is always: http://localhost:3100/{service-name}/{api-path}
Required headers on every request:
X-Aegis-Agent: $AEGIS_AGENT_TOKEN
X-Target-Host: <real-api-domain>
X-Aegis-Agent authenticates you with Aegis using your agent tokenX-Target-Host tells Aegis which real API domain to forward toGitHub — list repositories:
curl http://localhost:3100/github/user/repos \
-H "X-Aegis-Agent: $AEGIS_AGENT_TOKEN" \
-H "X-Target-Host: api.github.com"
GitHub — create an issue:
curl -X POST http://localhost:3100/github/repos/owner/repo/issues \
-H "X-Aegis-Agent: $AEGIS_AGENT_TOKEN" \
-H "X-Target-Host: api.github.com" \
-H "Content-Type: application/json" \
-d '{"title": "Bug report", "body": "Description here"}'
Slack — send a message:
curl -X POST http://localhost:3100/slack/api/chat.postMessage \
-H "X-Aegis-Agent: $AEGIS_AGENT_TOKEN" \
-H "X-Target-Host: api.slack.com" \
-H "Content-Type: application/json" \
-d '{"channel": "C01234567", "text": "Hello from OpenClaw via Aegis!"}'
Stripe — list customers:
curl http://localhost:3100/stripe/v1/customers \
-H "X-Aegis-Agent: $AEGIS_AGENT_TOKEN" \
-H "X-Target-Host: api.stripe.com"
Generic — any service registered in Aegis:
curl http://localhost:3100/{service}/{path} \
-H "X-Aegis-Agent: $AEGIS_AGENT_TOKEN" \
-H "X-Target-Host: {real-domain}"
http://localhost:3100/{service}/... for every external API call.X-Aegis-Agent for auth, X-Target-Host for routing.To verify Aegis is running:
curl http://localhost:3100/_aegis/health
If localhost:3100 is unreachable, tell the user to start Aegis Gate:
aegis gate
Do not fall back to direct API calls with raw keys. If Aegis is down, report the error and ask the user to start it.