
aquaman v0.15.0
ð± AIãšãŒãžã§ã³ãåãå¯äžã®ç¬ç«ããã¯ã¬ãã³ã·ã£ã«ãããã·ïŒèªå·±ç®¡çåãŽã©ãŒã«ãåé¢ãšæå°æš©éãªã¯ãšã¹ãããªã·ãŒãå®çŸãããŒã¯å ã®ä¿ç®¡å Žæã«çãŸãããšãŒãžã§ã³ãã®ã¡ã¢ãªã«ã¯æ±ºããŠè§ŠããŸããã1Passwordãkeychainãkeepassxcãªã©ãšäºææ§ããããŸãã
ð± Aquaman
ð± AIãšãŒãžã§ã³ãåãã®å¯äžã®ç¬ç«ããã¯ã¬ãã³ã·ã£ã«ãããã·: bring-your-own-vaultåé¢ãšæå°æš©éãªã¯ãšã¹ãããªã·ãŒãããªãã®ããŒã¯ããã§ã«ä¿ç®¡ããŠããå Žæã«çãŸãããšãŒãžã§ã³ãã®ã¡ã¢ãªã«ã¯æ±ºããŠå ¥ããŸããã1Passwordãkeychainãkeepassxcãªã©ãå€ãã®ããŒã«ãšäºææ§ããããŸãã
Claude CodeãOpenClawããããã¯Hermesãã»ããã¢ããããŠãä»ããªãã¯.envãã¡ã€ã«ã®äžã«å€§äºãªAPIããŒãå¹³æã§çœ®ãããŠããã®ãçºããŠãããèšäºãèªãã ã§ãããããšãŒãžã§ã³ããããã³ããã€ã³ãžã§ã¯ã·ã§ã³ãåãããšãã«äœãèµ·ããããããªãã¯ç¥ã£ãŠãããç§ãã¡ãåãã£ãŠããŸãã
Aquamanã¯ããã3å±€ã®é²åŸ¡ã§è§£æ±ºããŸã:
- ããã»ã¹åé¢: APIããŒã¯å¥ã®ãããã·ããã»ã¹å ã«ååšããegressæã«æ³šå ¥ãããŸãããšãŒãžã§ã³ãã¯ããŒã§ã¯ãªãããŒã«ãŒãä¿æããããããšãŒãžã§ã³ãå ã§RCEãçºçããŠãããŒãèªã¿åãããšã¯ã§ããŸãããã³ãŒãã£ã³ã°ãšãŒãžã§ã³ãã¯ãããªãã宣èšããrefsã®ã¿ããäžåºŠã«1ã€ã®ã³ãã³ãã§ååŸããŸãã
- ãªã¯ãšã¹ãããªã·ãŒ: ãµãŒãã¹ããšã®ã«ãŒã«ãããšãŒãžã§ã³ããã©ã®ãšã³ããã€ã³ããåŒã³åºããããå¶åŸ¡ããŸãã管çAPIããããã¯ããåé€ãé²ããäžæžãã¯èš±å¯ãããéä¿¡ã¯æåŠãããæåŠããããªã¯ãšã¹ãã«æ¬ç©ã®ã¯ã¬ãã³ã·ã£ã«ãæž¡ãããšã¯ãããŸããã
- æ¹ããæ€ç¥å¯èœãªç£æ»: ãã¹ãŠã®ã¯ã¬ãã³ã·ã£ã«äœ¿çšã¯SHA-256ããã·ã¥ãã§ãŒã³ã§èšé²ãããŸããäœãã¢ã¯ã»ã¹ããããã蚌æã§ããäºåŸã«æ¹ãããæ€ç¥ã§ããŸãã
ãã¹ãéžã¶
Aquamanã¯4ã€ã®é£æºããã±ãŒãžãšããŠæäŸããã1ã€ã®vault + 1ã€ã®daemonãå ±æããŸããå¿ èŠãªãã®ã ããã€ã³ã¹ããŒã«ããŠãã ãã:
| ããã±ãŒãž | æ©èœ | ã€ã³ã¹ããŒã«ãã¹ãå Žå |
|---|---|---|
aquaman-proxy | ã³ã¢: vaultãdaemonãç£æ»ãããªã·ãŒãCLIã誰ããå¿ èŠãšããéšåã | åžžã«ã |
aquaman-plugin | OpenClaw Gatewayã¢ããã¿ãGatewayèµ·åæã«ãããã·ãèµ·åããã¢ãã«ãšTelegramã®ãã©ãã£ãã¯ããããã·çµç±ã§ã«ãŒãã£ã³ã°ããŸãã5ã€ã®èªèšŒã¢ãŒãã«ããã25ã®çµã¿èŸŒã¿ãµãŒãã¹ã | OpenClaw GatewayãéçšããŠããå Žåãhttps://clawhub.ai/plugins/aquaman-plugin ã§ãå ¥æå¯èœ |
aquaman-coder | AIã³ãŒãã£ã³ã°ãšãŒãžã§ã³ãã¢ããã¿ããããžã§ã¯ãã¹ã³ãŒãã®aquaman://service/keyåç
§ããBashããŒã«åŒã³åºãããšã«è§£æ±ºããŸãã | Claude Code(çŸæç¹)ã䜿çšããŠããå Žå - Codex / OpenCode / Cursorã¯èšç»äžã |
aquaman-hermes | HermesãšãŒãžã§ã³ããã¹ããã©ã°ã€ã³(PythonãPyPIäž)ããã€ãã£ãã®ANTHROPIC_BASE_URL/OPENAI_BASE_URLãä»ããŠããªããã€ã³ã®ããŒã¯ã³ã²ãŒãä»ãã«ãŒãããã¯ãªã¹ããŒã«HermesãåããŸããã»ãã·ã§ã³å
/aquaman-statusã³ãã³ããããŒã«ããã«ã¹ãããŒãã远å ããŸããåé¢ã¯ãããã·åŽã§è¡ããããã©ã°ã€ã³ã¯ã¯ã¬ãã³ã·ã£ã«ãä¿æããŸããã | HermesãšãŒãžã§ã³ããã¹ããéçšããŠããå Žåãpip install aquaman-hermes |
åäžã®aquaman CLIã4ã€ãã¹ãŠã衚é¢åããŸã: vaultãšç£æ»ã®ããã®ãããã¬ãã«ã³ãã³ããOpenClawçµ±åã®ããã®aquaman openclaw ...ãã³ãŒãã£ã³ã°ãšãŒãžã§ã³ãçµ±åã®ããã®aquaman coder ...(å
éšã§aquaman-coderã«å§è²)ããããŠHermes Pythonããã±ãŒãžã®ããã®aquaman hermes ...ã
ã¯ã€ãã¯ã¹ã¿ãŒã
aquaman helpãaquaman doctorã¯ããªãã®å³æ¹ã§ãã
1. Vaultã®ã¿(ãããã· + ããªãã®ã·ãŒã¯ã¬ããã ã)```bash
npm install -g aquaman-proxy aquaman setup # backend wizard + store keys aquaman daemon & # start the proxy aquaman credentials list # verify
ãããã·ã¯ `~/.aquaman/proxy.sock`ïŒUDSã`chmod 0o600`ïŒã§åŸ
ã¡åããŸããä»»æã®ããŒã«ã `http://aquaman.local/<service>/<path>` ã«åãããšããããã·ã¯éžæãã vault ããã¯ãšã³ããããã®ãµãŒãã¹çšã®èªèšŒããããŒã泚å
¥ããŸãã
### 2. OpenClaw Gateway```bash
openclaw plugins install aquaman-plugin # 1. install plugin + proxy
openclaw aquaman setup # 2. backend + keys + plugin wire-up
openclaw # 3. done - proxy starts automatically
ãã©ãã«ã·ã¥ãŒãã£ã³ã°: openclaw aquaman doctorã
npm ãçŽæ¥äœ¿ããŸãã? npm install -g aquaman-proxy && aquaman openclaw setup ãåãããšãè¡ããŸã - ãããã· CLI ãã€ã³ã¹ããŒã«ããããŒãä¿åãããã©ã°ã€ã³ã ~/.openclaw/extensions/aquaman-plugin/ ã«ã€ã³ã¹ããŒã«ããèªèšŒæ
å ±ãé
ç·ããŸã (OpenClaw ⥠2026.6.5 ã§ã¯ SecretRef åç
§ãå€ãããŒãžã§ã³ã§ã¯ auth-profiles.json ãã¬ãŒã¹ãã«ããŒ)ã
aquaman openclaw setup 㯠models.providers.<svc>.baseUrl ãš channels.telegram.apiRoot ããããã·ã®ã«ãŒãããã¯ãªã¹ããŒã«åããŸãããªããªã OpenClaw ã®ã¢ãã«ãã©ã³ã¹ããŒããšãã®ãã£ãã«ã¯ããããç¬èªã® HTTP ã¯ã©ã€ã¢ã³ããæ§ç¯ããfetch ã€ã³ã¿ãŒã»ãã¿ãŒããã€ãã¹ããããã§ããTelegram 以å€ã®ãã£ãã«ã¯ãšã³ããã€ã³ãã®ãªãŒããŒã©ã€ããå
¬éããŠããªãããããããã®ããŒã¯ã³ã¯ä¿åããã³ç§»è¡ãããŸãããegress æã«æ³šå
¥ãããŸãã (packages/plugin/README.md ãåç
§)ãopenclaw.json ã®ãã©ã°ã€ã³èšå®ã®äžã«ãã£ãã«ã远å ããŠãã ããããµããŒããããŠãããã®ã«ã¯ SlackãDiscordãTelegramãMS TeamsãMatrixãLINEãTwitchãTwilioãBlueBubblesãMattermostãNostrãTlonãFeishuãGoogle ChatãElevenLabsãxAIãCloudflare AI GatewayãMistralãHugging Face ãªã©ããããŸã (åèš 25)ã
3. AI ã³ãŒãã£ã³ã°ãšãŒãžã§ã³ã (çŸåšã¯ Claude Code)```bash
npm install -g aquaman-proxy aquaman-coder # 1. install daemon + adapter aquaman setup # 2. vault wizard aquaman daemon & # 3. start the proxy
aquaman coder project add my-app --path ~/code/my-app
--env ANTHROPIC_API_KEY=aquaman://anthropic/api_key
--env GITHUB_TOKEN=aquaman://github/token # 4. declare a project
aquaman coder setup claude-code # 5. wire Claude Code hooks
aquaman doctor # 6. verify - should show both vault + coder green
**èªåã®ç®ã§ç¢ºãããŠã¿ãŠãã ããïŒ30ç§ã§çŽåŸïŒ:** Claude Code ãåèµ·åãã`~/code/my-app` å
ã§æ°ããã»ãã·ã§ã³ãéãããšãŒãžã§ã³ãã«æ¬¡ãå®è¡ããããäŸé ŒããŠãã ãã:```
printenv | grep ANTHROPIC_API_KEY
ãã©ã³ã¹ã¯ãªããã«ããã衚瀺ãããŸã:``` ANTHROPIC_API_KEY=[REDACTED:injected-value]
⺠ANTHROPIC_API_KEY is set and available (injected via aquaman vault).
*å*ããã»ã¹ã¯å®éã®ããŒãèŠãããšãã§ããŸããïŒãã¹ãããã«ããMCPãµãŒããŒãã€ã³ããŒãã¹ã¯ãªãããªã©ãå®éã«ããŒãå¿
èŠãšãããã®ã¯ãã¹ãŠåäœããŸãïŒã*ãšãŒãžã§ã³ã*ãã€ãŸããã·ã³äžã§ã©ã®ã³ãŒããå®è¡ããããæ±ºå®ãããã®ã¯ããã®å€ã決ããŠèŠãããšã¯ãªãããããã£ãŠäŒè©±å±¥æŽããã¢ãã«ãããã€ããŒã®ãã°ããåŸã§ããªãã®ã¿ãŒããã«ãã¹ã¯ãªãŒã³ã·ã§ãããã誰ãèŠãããšã¯ãããŸããã
**èªåã®ã¿ãŒããã«ããã䜿ããŸãã** åãã©ãããŒã¯ãšãŒãžã§ã³ããªãã§ãåäœããŸãã察象ã®ãããžã§ã¯ãã« `cd` ããŠãã³ãã³ãã®åã«ãã¬ãã£ãã¯ã¹ãä»ããã ãã§ãïŒ```bash
cd ~/code/
aquaman-coder exec -- python app/scripts/import.py
åãç°å¢å€æ°æ³šå
¥ãåã stdout/stderr ã®ç§å¿åãMakefile ã®ã¿ãŒã²ãããã·ã§ã«ãšã€ãªã¢ã¹ãCI ã©ã³ããŒãªã©ãéåžž .env ãã¡ã€ã«ã«æã䌞ã°ãããããå Žæã«ãããçµã¿èŸŒããŸãã
Claude Code ã ~/code/my-app ã§ Bash ããŒã«ãå®è¡ãããšãaquaman ã®ããã¯ã updatedInput.command ãä»ããŠã³ãã³ããæžãæããaquaman-coder exec ã®äžã«ã©ããããŸãããã®ã©ãããŒã¯ïŒ
- å
aquaman://service/keyåç §ããããŒã«ãŒçµç±ïŒUDS äžã®POST /broker/resolveïŒã§è§£æ±ºããŸããèªèšŒæ å ±ã¯ãšãŒãžã§ã³ãã®ã©ã€ãã¿ã€ã ã§ã¯ãªãã1 ã€ã®ã³ãã³ãã®ããã«å®äœåãããŸãã - stdout/stderr ããªãã¯ã¿ãŒã«éãã解決ãããåå€ã«å¯ŸããŠå€ããŒã¹ã®ãã¿ãŒã³ãå é ã«ä»å ããŸãïŒæ³šå ¥ãããæååã¯ããã®åœ¢ç¶ã«é¢ä¿ãªãç§å¿åãããŸãïŒAtlassian ããŒã¯ã³ãNotion ã·ãŒã¯ã¬ãããå éš API ããŒãªã©ãããããæ¢ç¥ã®ãããã€ããŒåœ¢åŒã«äžèŽããå¿ èŠã¯ãããŸããïŒãæ±çšçãªåœ¢ç¶ããŒã¹ã®ãã¿ãŒã³ïŒsk-ant-ãghp_ãsk_live_ãAKIAâŠãJWTãPEM ãããã¯ãATATT3xFâŠïŒã¯ãæã ãæ³šå ¥ããªãã£ãåããã»ã¹ã衚é¢åãããã·ãŒã¯ã¬ããã«å¯Ÿããå€å±€é²åŸ¡ãšããŠãåŒãç¶ãåŸããå®è¡ãããŸãã
- ã³ãã³ãçµäºæã«ã¯ãªãŒã³ã¢ããããŸãã
Claude Code ãµã³ãããã¯ã¹ïŒ ããã©ã«ãã§ Unix ãœã±ããããããã¯ãããããaquaman coder setup claude-code 㯠macOS äžã§ãããã·ãœã±ãããèš±å¯ãªã¹ãã«è¿œå ããŸãïŒsandbox.network.allowUnixSocketsïŒãLinux ãš WSL2 ã¯ãã®ãªã¹ããç¡èŠããå¯äžã®éžæè¢ã¯ sandbox.network.allowAllUnixSockets: true ã§ãããã¯ãµã³ãããã¯ã¹åãããã³ãã³ãã«å¯ŸããŠãã¹ãŠã® Unix ãœã±ãããéæŸããŸãã
4. HermesïŒãšãŒãžã§ã³ããã¹ãïŒ
Hermes ã¯æ³šå ¥ãããã©ã³ã¹ããŒãããã¯ãæããªãå€éšïŒPythonïŒãã¹ãã§ãããããåé¢ã¯ãããã·åŽã§è¡ãããŸãïŒãããã·ã¯ãªããã€ã³ã®ããŒã¯ã³ã²ãŒãä»ãã«ãŒãããã¯ãªã¹ããŒãå ¬éããHermes ã¯èªèº«ã®ç°å¢å€æ°ãéããŠãããæã瀺ããŸãã```bash npm install -g aquaman-proxy # 1. install daemon aquaman setup # 2. vault wizard aquaman credentials add anthropic api_key sk-ant-... # 3. store a provider key
aquaman hermes setup # 4. enable loopback + write ~/.hermes/.env aquaman daemon & # 5. start the proxy (UDS + loopback) aquaman hermes doctor # 6. verify - listener + env + vault + Hermes
`aquaman hermes setup` ã¯ã«ãŒãããã¯ãªã¹ããŒãæå¹åããã€ã³ã¹ããŒã«ããšã®ããŒã¯ã³ãçæããaquaman 管çã®ãããã¯ã `~/.hermes/.env` ã«æžã蟌ã¿ãŸãïŒ`HERMES_HOME` ãå°éïŒïŒãã€ãã£ãã® `ANTHROPIC_BASE_URL`/`OPENAI_BASE_URL` ã«å ããŠãããŒã¯ã³ãšçãããã¬ãŒã¹ãã«ããŒã® api_key ã§ããHermes ã¯ãã®ããŒã¯ã³ããããã€ããŒããŒãšããŠéä¿¡ãããããã·ã¯ãããé€å»ããŠãå®éã® vault èªèšŒæ
å ±ãæ³šå
¥ããäžæµãžè»¢éããŸããçŸåšã¯ LLM ãããã€ããŒïŒAnthropicãOpenAIïŒã®ã¿ã§ãã
**ãªãã·ã§ã³ã®ã»ãã·ã§ã³å
ã·ã¥ã¬ãŒ** - Python ãã©ã°ã€ã³ã¯ `/aquaman-status` ã³ãã³ãã`aquaman_status` ããŒã«ãããã³ Hermes å
ã§ã®ã»ãã·ã§ã³éå§æã®ãã«ã¹ãããŒãã远å ããŸãïŒèªèšŒæ
å ±ã¯ä¿æããŸããïŒïŒ```bash
pip install aquaman-hermes # or: uv tool install aquaman-hermes
aquaman-hermes install # drops the plugin into ~/.hermes/plugins/aquaman/
hermes plugins enable aquaman
ãã©ã°ã€ã³ã¯ãŸããGITHUB_TOKEN ã®ãããªãããžã§ã¯ãã·ãŒã¯ã¬ããçšã® aquaman ã·ãŒã¯ã¬ãããœãŒã¹ (Hermes ⥠0.18.1) ãç»é²ããŸãããããã Hermes ã® config.yaml å
ã® secrets.aquaman.env ã®äžã«ãã€ã³ãããå ref ã aquaman broker allow aquaman://github/token ã§å®£èšããŸã (v0.15.0 以éã§å¿
é ãaquaman hermes doctor ã¯èŠèœãšãããã®ãäžèŠ§è¡šç€ºããŸã)ãäžèšã® LLM ããŒãšã¯ç°ãªãããããã®å€ã¯ Hermes ã® env ã«å
¥ããŸãã詳现㯠packages/hermes/README.md ãåç
§ããŠãã ããã
ä»çµã¿```
Agent / OpenClaw / Coding Agent Aquaman Proxy ââââââââââââââââââââââââ ââââââââââââââââââââââââ â â â â â ANTHROPIC_BASE_URL ââââ UDS / HTTP ââââ>â Keychain / 1Pass / â â = aquaman.local â â Vault / Encrypted â â â<ââââââââââââââââââ â â â fetch() interceptor ââââ broker:resolve â + Policy enforced â â (channel APIs) â â + Auth injected: â â â â header / url-path â â No credentials. â ~/.aquaman/ â basic / oauth â â No open ports. â proxy.sock â â â No keys to read. â (chmod 0o600) â â ââââââââââââââââââââââââ ââââ¬ââââââââââ¬ââââââââââ â â â ⌠â ~/.aquaman/audit/ â (hash-chained) ⌠api.anthropic.com api.telegram.org slack.com/api âŠ
1. **Store**: èªèšŒæ
å ±ã¯ããã§ã«éçšããŠãã vault ããã¯ãšã³ãã«ä¿åãããŸã - ç¬èªã® vault ã¯äžèŠã§ãïŒKeychainã1PasswordãHashiCorp VaultãBitwardenãKeePassXCãsystemd-credsãencrypted-fileïŒã
2. **Policy**: ãããã·ã¯èªèšŒæ
å ±ã«è§Šãã*åã«*ã¡ãœãã + ãã¹ã®ã«ãŒã«ããã§ãã¯ããŸããæåŠããããªã¯ãšã¹ãã«ã¯ `403` ãè¿ããå®éã®èªèšŒããããŒãæž¡ãããšã¯ãããŸããã
3. **Inject**: ãããã·ã¯èªèšŒæ
å ±ãæ€çŽ¢ãã転éåã«èªèšŒããããŒã远å ããŸãã25 ã®çµã¿èŸŒã¿ãµãŒãã¹ã4 ã€ã®æ³šå
¥èªèšŒã¢ãŒãïŒheaderãURL-pathãHTTP BasicãOAuthïŒããããŸãã5 ã€ç®ã® `none` ã¯ä¿åæå°çšã§ãïŒãããã·ã¯ãã©ãã£ãã¯ãæåŠããŸãïŒã
4. **Broker (coder + Hermes secret source)**: `POST /broker/resolve` ã¯ããŒã«åŒã³åºãããšã«èªèšŒæ
å ±ãå®äœåããåäžã³ãã³ãã® env ã«ã¹ã³ãŒãããŸãããããæäŸããã®ã¯ `aquaman daemon` ã®ã¿ã§ãããã宣èšãã refïŒ`projects.yaml` ãŸã㯠`aquaman broker allow`ïŒã«å¯ŸããŠã®ã¿ã§ããOpenClaw ãã©ã°ã€ã³ã®ãããã·ããããæäŸããããšã¯ãããŸããïŒv0.15.0+ïŒã
5. **Audit**: ãã¹ãŠã®èªèšŒæ
å ±ã®äœ¿çšã¯ SHA-256 ããã·ã¥ãã§ãŒã³ã§èšé²ãããŸãã
ãããã·çµè·¯ã§ã¯ããšãŒãžã§ã³ãã¯ããŒã«ã«ãšã³ããã€ã³ããšããŒã«ãŒãç®ã«ããŸãã`aquaman-proxy-managed` ãã¬ãŒã¹ãã«ããŒããŸãã¯ããŒã«ã«ãããã·ã«å¯ŸããŠã®ã¿æ©èœããã«ãŒãããã¯ããŒã¯ã³ã§ããå®éã®ããŒãæž¡ãããšã¯ãããŸãããcoder çµè·¯ã§ã¯ã*å*ã³ãã³ãã宣èšãããå€ãåãåãããšãŒãžã§ã³ãã¯ãã¹ã¯ãããåºåãç®ã«ããŸãã
## Security Model
| Layer | What it does | What it stops |
|---|---|---|
| **Process isolation** | Credentials in a separate process, reached over a Unix socket (`chmod 0o600`) or a token-gated loopback listener | Compromised agent can't read proxied keys: different address space |
| **Broker scope** | Only `aquaman daemon` hands out values, and only for refs you declared; OpenClaw-hosted proxies never do (v0.15.0+) | An agent can't pull arbitrary vault entries through the socket |
| **Service allowlisting** | `proxiedServices` controls which APIs the agent can reach | Agent can't talk to services you didn't authorize |
| **Request policies** | Method + path rules per service, enforced before credential injection | Agent can reach Anthropic but not its admin API; can draft emails but not send them |
| **Audit trail** | SHA-256 hash-chained logs of every credential use | Post-incident forensics, tamper detection, compliance evidence |
| **Per-tool-call broker (coder)** | `aquaman-coder exec` materializes creds for one command at a time | Credentials don't sprawl across the agent's shell environment |
| **Output redaction (coder)** | `aquaman-coder exec` pipes stdout/stderr through a redactor that scrubs each value it just injected verbatim - plus generic provider patterns as a fallback | Even arbitrary, shape-less credentials never reach the agent transcript |
### Transports and access control
| Path | Transport | Access control |
|---|---|---|
| Coding agents, any client that can dial a socket | Unix socket `~/.aquaman/proxy.sock` | File permissions (`0600`): only processes running as you |
| Hermes (v0.13.0+), OpenClaw model and Telegram traffic (v0.15.0+) | Loopback TCP `127.0.0.1:<port>` | Per-install token, constant-time check, loopback bind |
Hermes ãš OpenClaw ã¯ããããç¬èªã® HTTP ã¯ã©ã€ã¢ã³ããæ§ç¯ãããœã±ããã«æ¥ç¶ã§ããªãããããªã¹ããŒã䜿çšããŸãããã以å€ã¯ãã¹ãŠãœã±ããã䜿çšããŸãã
ããŒã¯ã³ã¯ããŒã«ã«ãããã·ã«å°éããããã®ã±ã€ãããªãã£ã§ãããèªèšŒæ
å ±ã§ã¯ãããŸãããã€ã³ã¹ããŒã«ããšã«çæããã`~/.aquaman/config.yaml`ïŒ`0600`ïŒã«ä¿åããããã¹ãã«ãã£ãŠãããã€ããŒã® api key ãšããŠéä¿¡ãããŸãããããã·ã¯ããããã§ãã¯ããåãé€ããå®éã®ããŒã泚å
¥ããŸããTelegram ã«ã¯èªèšŒããããŒããªããããããã§ã¯ããŒã¯ã³ã¯ä»£ããã« `/bot<TOKEN>` ãã¹ã»ã°ã¡ã³ãã«ä¹ããŸãã
ãã¬ãŒããªã: ããŒã«ã«ããã»ã¹ã¯èª°ã§ãã«ãŒãããã¯ããŒãã«å°éã§ããŸããä»ã®ãŠãŒã¶ãŒãå«ãŸããŸããããœã±ããã® `0600` ã¯ããããç· ãåºããŸããããã§ã¯ããŒã¯ã³ãã²ãŒããšãªãããã`aquaman hermes setup` ãŸã㯠`aquaman openclaw setup` ãæå¹ã«ãããŸã§ãªã¹ããŒã¯ãªãã®ãŸãŸã§ãã
### Channel credentials on OpenClaw 2026.7.33+
| Channel | Egress through the proxy |
|---|---|
| Telegram | Yes, since v0.15.0 |
| Everything else | No. Vault storage and migration only |
åãã£ãã«ã¯ãªã¯ãšã¹ãããšã«ç¬èªã® HTTP ã¯ã©ã€ã¢ã³ããæ§ç¯ããããããã©ã°ã€ã³ã® `fetch` ã€ã³ã¿ãŒã»ãã¿ãŒã¯ãããã®ããŒãžã§ã³ã§ã¯ãã£ãã«ãã©ãã£ãã¯ãèªèããªããªããŸãããã£ãã«ãã«ãŒãã£ã³ã°ããã«ã¯ãã¹ãããã®ãšã³ããã€ã³ããªãŒããŒã©ã€ããå¿
èŠã§ããããæã€ã®ã¯ Telegram ã ãã§ãã`aquaman openclaw setup` 㯠`channels.telegram.apiRoot` ããããã·ã«åãããããããŒã¯ã³ãã«ãŒãããã¯ããŒã¯ã³ã«çœ®ãæããŸãã
ãã以å€ã«ã€ããŠã¯ãããŒã¯ã³ã¯ vault ã«æ®ããŸãã OpenClaw ãçŽæ¥äœ¿çšããããããããã·ã¯çµè·¯ã«å
¥ããããããã®åŒã³åºãã¯ç£æ»ãããŸããã`aquaman openclaw doctor` ã¯ãèšå®ããããã£ãã«ã®ã©ããã©ã¡ãã®ã°ã«ãŒãã«å±ããããäžèŠ§è¡šç€ºããŸããã¢ãã«ãããã€ããŒã¯åœ±é¿ãåããŸããã
**What same-user isolation can't do.** ãœã±ããã® `0o600` ã¯ä»ã®ãŠãŒã¶ãŒãç· ãåºããŸãããããªããšããŠå®è¡ãããŠããä»ã®ããã»ã¹ã¯ç· ãåºããŸããããã®ãããªããã»ã¹ã¯ãå®è¡äžã¯ãããã·ãéããŠãªã¯ãšã¹ããéä¿¡ã§ãïŒãªã¯ãšã¹ãããªã·ãŒã«ãã£ãŠå¶éãããç£æ»ãã°ã«èšé²ãããŸãïŒããŸã宣èšãã ref ãååŸã§ããŸããããã宣èšãããšããããšã®æå³ã§ãããããã·ã泚å
¥ããããŒãèªã¿åãããšã¯ã§ããŸããããã匷åºãªå¢çãå¿
èŠãªå Žåã¯ããšãŒãžã§ã³ããå¥ã® OS ãŠãŒã¶ãŒãšããŠããŸãã¯ãµã³ãããã¯ã¹å
ã§å®è¡ããŠãã ããã
詳现ãªã¢ãã« - çµ±åããšã®è©³çްïŒHTTP ã€ã³ã¿ãŒã»ãã¿ãŒã®ã¹ã³ãŒããèªèšŒãããã¡ã€ã«ãã¹ãã£ããŒã®æ€åºçµæãClawScan ãããªãã·ã£ãŒããŒãïŒ- 㯠[`packages/plugin/README.md`](https://github.com/tech4242/aquaman/blob/main/packages/plugin/README.md) ãš [`packages/coder/README.md`](https://github.com/tech4242/aquaman/blob/main/packages/coder/README.md) ã«ãããŸãã
### Compliance posture
Aquaman 㯠`test/compliance/` 以äžã«å®è¡å¯èœãªé©åæ§ãã¹ãã忢±ããŠããã以äžã«å¯Ÿå¿ä»ããããŠããŸã:
- **MITRE ATLAS** v5.4.0: ãã¯ãã㯠AML.T0055ãT0012ãT0062ãT0090ãT0098ïŒ`test/compliance/atlas/`ïŒ
- **NIST SP 800-53 Rev 5**: IA-5ãAC-3ãAC-6ãAU-2/9/10ãSC-12/28ãSI-10ïŒ`test/compliance/nist/`ïŒ
ããã«ãCISA/Five-EyesãCareful Adoption of Agentic AI ServicesãïŒ2026幎4æïŒãCSA MAESTROãããã³ OWASP Top 10 for Agentic Applications ã®ããã®æŽåæ§ãã©ãã£ããå«ãŸããŸãããã¹ã㯠`npm test` ã®äžéšãšããŠå®è¡ãããŸãããããã³ã°ã«ã€ããŠã¯ [`docs/compliance/`](https://github.com/tech4242/aquaman/blob/main/docs/compliance) ãåç
§ããŠãã ããã
## Request Policies
OAuth ã¹ã³ãŒãã¯ãã¡ãŒã«ãäžæžãããããšãã¡ãŒã«ãéä¿¡ããããåºå¥ã§ããŸãããã©ã¡ãã `gmail.send` ã§ãããªã¯ãšã¹ãããªã·ãŒã¯ãã®ã®ã£ãããåããŸãã```yaml
# ~/.aquaman/config.yaml
policy:
anthropic:
defaultAction: allow
rules:
- method: "*"
path: "/v1/organizations/**"
action: deny # block admin/billing API
openai:
defaultAction: allow
rules:
- method: "*"
path: "/v1/organization/**"
action: deny
- method: DELETE
path: "/v1/**"
action: deny # no deletions
slack:
defaultAction: allow
rules:
- method: "*"
path: "/api/admin.*"
action: deny # Slack Web API admin methods
gmail:
defaultAction: allow
rules:
- method: POST
path: "/gmail/v1/users/*/messages/send"
action: deny # drafts ok, sending blocked
- ãã¹ã¯ãµãŒãã¹ãã¬ãã£ãã¯ã¹ä»¥éã®äžæµ API ã®ãã«ãã¹ã§ã: Slack ã® Web API ã¯
/api/<method>ãGmail ã¯/gmail/v1/...ã§ããv0.15.0 ããåã®ããªã»ããã¯/admin.*ã/v1/users/*/messages/sendã䜿çšããŠãããå®éã®ãã©ãã£ãã¯ã«ã¯äžèŽããŸããã§ãããaquaman doctorã¯ããããããŸã èšå®ã«æ®ã£ãŠããå Žåã«èŠåããŸãã - ããªã·ãŒãªã = ãã¹ãŠèš±å¯ïŒåŸæ¹äºæïŒ
- æåã®äžèŽãåªå
: ã«ãŒã«ã¯äžããäžãžè©äŸ¡ãããäžèŽããªããªã¯ãšã¹ãã¯
defaultActionã«ãã©ãŒã«ã¹ã«ãŒããŸã - èªèšŒåã«æåŠ: ãããã¯ããããªã¯ãšã¹ãã¯å®éã®èªèšŒæ å ±ãååŸããŸãã
- ãã¹ã°ãã:
*ã¯ã»ã°ã¡ã³ãå ã§äžèŽãã**㯠0 å以äžã®ã»ã°ã¡ã³ãã«äžèŽããŸã aquaman setupã¯ä¿åããããµãŒãã¹ïŒanthropicãopenaiãslackãgmailïŒã«å®å šãªããã©ã«ããé©çšããŸããaquaman policy list/aquaman policy test <svc> <method> <path>ã§æ€æ» / ãã©ã€ã©ã³ã§ããŸãã
èªèšŒæ å ±ããã¯ãšã³ã
èªåã® vault ãæã¡èŸŒããŸã - aquaman ã«ã¯ç¬èªã®ã¹ãã¢ã¯ãããŸããããã§ã«éçšããŠããããã¯ãšã³ããéžãã§ãã ãããã·ãŒã¯ã¬ããã¯ããã«çãŸãããããã·ã¯ãã®å Žã§èªã¿åããŸãã
| ããã¯ãšã³ã | æé©ãªçšé | ã»ããã¢ãã |
|---|---|---|
keychain | macOS ã§ã®ããŒã«ã«éçºïŒããã©ã«ãïŒ | ããã«åäœããŸã |
encrypted-file | LinuxãWSL2ãCI/CD | AES-256-GCMããã¹ã¯ãŒãä¿è· |
keepassxc | æ¢åã® KeePass ãŠãŒã¶ãŒ | npm i -g kdbxweb argon2ïŒv0.14.1 以éã¯ãªãã·ã§ã³ã®ãã¢ïŒããã®åŸ AQUAMAN_KEEPASS_PASSWORD ãŸãã¯ããŒãã¡ã€ã«ãèšå® |
1password | ããŒã ã§ã®èªèšŒæ å ±å ±æ | brew install 1password-cli && op signinãç¡äººãšãŒãžã§ã³ãã«ã¯ãµãŒãã¹ã¢ã«ãŠã³ãïŒOP_SERVICE_ACCOUNT_TOKENïŒãäœ¿çš |
vault | ãšã³ã¿ãŒãã©ã€ãºã·ãŒã¯ã¬ãã管ç | VAULT_ADDR + VAULT_TOKEN ãèšå® |
systemd-creds | systemd ⥠256 ã® Linux | TPM2 ããŒã¹ãroot äžèŠ |
bitwarden | Bitwarden ãŠãŒã¶ãŒ | bw login && export BW_SESSION=$(bw unlock --raw) |
aquaman setup ã¯é©åãªããã©ã«ããèªåæ€åºããŸãïŒmacOS â keychainãLinux â libsecret ãããã° keychainããªããã° systemd ⥠256 ãªã systemd-credsããã以å€ã¯ encrypted-fileïŒã
encrypted-file ã¯ããã€ãã£ãããŒãªã³ã°ã®ãªããããã¬ã¹ Linux/CI ç°å¢åãã®æåŸã®ææ®µã§ããLinux ã§ã®ã»ãã¥ãªãã£ãé«ããã«ã¯ãlibsecret-1-devïŒGNOME KeyringïŒãã€ã³ã¹ããŒã«ããããsystemd-credsïŒTPM2 ãã€ã³ãã£ã³ã°ïŒã䜿çšãããã1Password/Vault ã䜿çšããŠãã ããã
èªèšŒæ å ±ãã£ãã·ã¥ïŒv0.13.1+ïŒ
1passwordïŒãã¹ã¯ãããã¢ããªã¢ãŒãã§ã¯èªã¿åãããšã«çäœèªèšŒããã³ããïŒãbitwardenïŒCLI èµ·åã«çŽ 1ïœ2 ç§ïŒãvaultïŒHTTP ã©ãŠã³ãããªããïŒãªã©ãã¢ã¯ã»ã¹ããšã«ã³ã¹ãããããããã¯ãšã³ãã¯ãããã©ã«ãã§ ããŒã¢ã³ã®ã¡ã¢ãªå
ã« 15 åéãã£ãã·ã¥ãããŸããããã«ãããããžãŒãªãšãŒãžã§ã³ãã»ãã·ã§ã³ã§ãããªã¯ãšã¹ãããšã§ã¯ãªããŠã£ã³ããŠããšã« 1 å vault ãã¢ã³ããã¯ããã ãã§æžã¿ãŸããä»ã®ããã¯ãšã³ãã¯ãã§ã«é«éãå
éšã§ãã£ãã·ã¥ãããããããã©ã«ãã§ã¯ãã£ãã·ã¥ã¯ãªãã§ãã~/.aquaman/config.yaml ã® credentials.cacheTtlSecondsïŒãŸã㯠AQUAMAN_CACHE_TTLïŒã§èª¿æŽã§ããŸãã0 ã§ç¡å¹åãããŸãã
æ£çŽãªãã¬ãŒããªã: ã¢ã¯ã»ã¹ããšã®çäœèªèšŒããã³ããã¯ãŠãŒã¶ãŒãã¬ãŒã³ã¹ã®ç¢ºèªã§ããããã£ãã·ã¥ã¯ TTL ãŠã£ã³ããŠã®éãã¢ã¯ã»ã¹ããšã®ãã¬ãŒã³ã¹ãæé€ããŸããç¡äººãšãŒãžã§ã³ãã§ã¯ãã®ããã³ããã«å¿çãè¿ããªããããvault ã¯æŸæ£ããå¹³æã® .env ã«çœ®ãæããããããã¯æããã«æªåããŸãããã£ãã·ã¥ã¯åé¢å¢çãç§»åããŸãã: å€ã¯ãããã·ããã»ã¹å
ã«ã®ã¿ååšãïŒããã§ã¯ãã§ã«ãã¹ãŠã®ãªã¯ãšã¹ãã§ééããŠããŸãïŒããã£ã¹ã¯ã«æžã蟌ãŸããããšã¯ãªããaquaman credentials add ã§ããŒããŒã·ã§ã³ãããšå³åº§ã«ç¡å¹åãããŸããæžã蟌ã¿ã¯åžžã«ããªãã® vault ã«éãããŸããtest/compliance/cache-residency.test.ts ã§é©åæ§ãã¹ãæžã¿ã§ãã1Password ã§ããã³ããããŒãã«ããã«ã¯ãaquaman vault ã«ã¹ã³ãŒãããããµãŒãã¹ã¢ã«ãŠã³ãã䜿çšããŠãã ãããaquaman doctor ããããžæ¡å
ããŸãã
ã©ã€ã»ã³ã¹
MIT - LICENSE ãåç §ããŠãã ããã