Janee
Secrets management for AI agents. Store API keys encrypted, make requests through Janee, never touch the real key.
Why Use Janee?
Most skills tell you to store API keys in plaintext config files. One prompt injection, one leaked log, one compromised session — and your keys are exposed.
Janee fixes this:
- - Keys encrypted at rest — not plaintext JSON
- Agent never sees the real key — requests go through Janee
- Path-based policies — restrict what endpoints can be called
- Full audit trail — every request logged
- Kill switch — revoke access without rotating keys
Install
CODEBLOCK0
Add a Service
CODEBLOCK1
Follow the prompts to add your API credentials. Keys are encrypted automatically.
Use in Your Agent
Instead of calling APIs directly with your key, call them through Janee:
CODEBLOCK2
OpenClaw Integration
Install the OpenClaw plugin for native tool support:
CODEBLOCK3
Your agent now has:
- -
janee_list_services — see available APIs - INLINECODE1 — make requests through Janee
- INLINECODE2 — hot-reload after config changes
Example: Secure Moltbook Access
Instead of storing your Moltbook key in ~/.config/moltbook/credentials.json:
CODEBLOCK4
Then use Janee to post:
CODEBLOCK5
Your Moltbook key stays encrypted. Even if your agent is compromised, the key can't be exfiltrated.
Config Example
CODEBLOCK6
Architecture
CODEBLOCK7
Links
- - GitHub: https://github.com/rsdouglas/janee
- npm: https://www.npmjs.com/package/@true-and-useful/janee
- OpenClaw Plugin: https://www.npmjs.com/package/@true-and-useful/janee-openclaw
Janee
AI代理的密钥管理。加密存储API密钥,通过Janee发起请求,永远不接触真实密钥。
为什么使用Janee?
大多数技能都要求你将API密钥以明文形式存储在配置文件中。一次提示注入、一次日志泄露、一次会话被攻破——你的密钥就会暴露。
Janee解决了这个问题:
- - 密钥静态加密 — 而非明文JSON
- 代理永远看不到真实密钥 — 请求通过Janee转发
- 基于路径的策略 — 限制可调用的端点
- 完整审计追踪 — 每次请求都有日志记录
- 紧急开关 — 无需轮换密钥即可撤销访问权限
安装
bash
npm install -g @true-and-useful/janee
janee init
添加服务
bash
janee add
按照提示添加你的API凭证。密钥会自动加密。
在代理中使用
不要直接用密钥调用API,而是通过Janee调用:
bash
旧方式(危险):
curl -H Authorization: Bearer sk
livexxx https://api.stripe.com/v1/balance
Janee方式(安全):
代理通过MCP调用 execute(capability, method, path)
Janee注入密钥,代理永远看不到
OpenClaw集成
安装OpenClaw插件以获得原生工具支持:
bash
openclaw plugins install @true-and-useful/janee-openclaw
你的代理现在拥有:
- - janeelistservices — 查看可用的API
- janeeexecute — 通过Janee发起请求
- janeereload_config — 配置更改后热重载
示例:安全的Moltbook访问
无需将Moltbook密钥存储在~/.config/moltbook/credentials.json中:
bash
janee add moltbook -u https://www.moltbook.com/api/v1 -k YOUR_KEY
然后使用Janee发布内容:
yaml
你的代理调用:
janee_execute(service=moltbook, method=POST, path=/posts, body=...)
你的Moltbook密钥保持加密状态。即使代理被攻破,密钥也无法被窃取。
配置示例
yaml
services:
stripe:
baseUrl: https://api.stripe.com
auth:
type: bearer
key: sklivexxx # 已加密
moltbook:
baseUrl: https://www.moltbook.com/api/v1
auth:
type: bearer
key: moltbookskxxx # 已加密
capabilities:
stripe_readonly:
service: stripe
rules:
allow: [GET *]
deny: [POST , DELETE ]
moltbook:
service: moltbook
ttl: 1h
autoApprove: true
架构
┌─────────────┐ ┌──────────┐ ┌─────────┐
│ AI代理 │─────▶│ Janee │─────▶│ API │
│ │ MCP │ │ HTTP │ │
└─────────────┘ └──────────┘ └─────────┘
│ │
无密钥 注入密钥
+ 记录请求
链接
- - GitHub:https://github.com/rsdouglas/janee
- npm:https://www.npmjs.com/package/@true-and-useful/janee
- OpenClaw插件:https://www.npmjs.com/package/@true-and-useful/janee-openclaw