密码库 API
此模块使用独立私人密钥(非通用 apiToken)
在/my/passwords页面生成,支持设置最大读取次数,超限后自动失效PRIVATE_KEY="你生成的私人密钥"注意: 生成/删除私钥仅支持浏览器 session,不支持 curl
私人密钥管理 /api/my/private-keys
仅支持浏览器 session,不能用 curl 调用
GET /api/my/private-keys # 列出所有密钥
POST /api/my/private-keys # 生成新密钥(token 仅返回一次,立即保存)
DELETE /api/my/private-keys/:id # 删除密钥(立即失效)
POST 字段
| 字段 | 必填 | 说明 |
|---|---|---|
| maxReads | ✓ | 最大读取次数,达到后密钥自动删除 |
| label | 备注名 |
密钥达到
maxReads后自动失效并删除。浏览密码列表不消耗次数,读取明文才消耗。
密码条目 /api/my/passwords
PUT 行为:整体替换——不传的字段会被清空(title、password 为必填)。
# 浏览列表(不消耗次数)
curl "https://octohz.com/api/my/passwords" -H "Authorization: Bearer $PRIVATE_KEY"
# 读取明文(消耗 1 次)
curl "https://octohz.com/api/my/passwords/5" -H "Authorization: Bearer $PRIVATE_KEY"
# 新建
curl -X POST "https://octohz.com/api/my/passwords" \
-H "Authorization: Bearer $PRIVATE_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"Gmail","username":"user@gmail.com","password":"mypassword","url":"https://mail.google.com"}'
# 更新(整体替换,需传入所有要保留的字段)
curl -X PUT "https://octohz.com/api/my/passwords/1" \
-H "Authorization: Bearer $PRIVATE_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"Gmail","password":"newpassword","username":"user@gmail.com","url":"https://mail.google.com"}'
# 删除
curl -X DELETE "https://octohz.com/api/my/passwords/1" -H "Authorization: Bearer $PRIVATE_KEY"
POST/PUT 字段
| 字段 | 必填 | 说明 |
|---|---|---|
| title | ✓ | 条目名称 |
| password | ✓ | 密码明文(加密存储) |
| username | 用户名 | |
| url | 关联网址 | |
| notes | 备注 | |
| groupId | 分组 ID |
主机管理 /api/my/hosts
共用密码库私人密钥。
PUT 行为:局部更新——只传要改的字段,不传的字段保留原值。
# 浏览列表(不消耗次数)
curl "https://octohz.com/api/my/hosts" -H "Authorization: Bearer $PRIVATE_KEY"
# 读取完整凭据(消耗 1 次)
curl "https://octohz.com/api/my/hosts/3" -H "Authorization: Bearer $PRIVATE_KEY"
# 新建
curl -X POST "https://octohz.com/api/my/hosts" \
-H "Authorization: Bearer $PRIVATE_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"香港 VPS","hostType":"virtual","os":"Ubuntu 24.04","location":"香港","publicIp":"1.2.3.4","rootPassword":"mypassword","panelName":"1Panel","panelUrl":"http://1.2.3.4:8888"}'
# 更新(局部更新,只传要改的字段)
curl -X PUT "https://octohz.com/api/my/hosts/1" \
-H "Authorization: Bearer $PRIVATE_KEY" \
-H "Content-Type: application/json" \
-d '{"rootPassword":"newpassword"}'
# 删除
curl -X DELETE "https://octohz.com/api/my/hosts/1" -H "Authorization: Bearer $PRIVATE_KEY"
字段
| 字段 | 必填 | 说明 |
|---|---|---|
| name | ✓ | 主机名称 |
| hostType | virtual(默认)/ physical | |
| os | 系统(如 Ubuntu 24.04) | |
| location | 地区(如 香港) | |
| cpu | CPU 规格(如 2核) | |
| memory | 内存(如 4GB) | |
| disk | 磁盘(如 40GB SSD) | |
| publicIp | 公网 IP | |
| privateIp | 内网 IP | |
| sshPort | SSH 端口(默认 22) | |
| rootUser | SSH 用户(默认 root) | |
| rootPassword | SSH 密码(加密存储) | |
| panelName | 面板名称(如 1Panel) | |
| panelUrl | 面板地址 | |
| panelUser | 面板用户名 | |
| panelPassword | 面板密码(加密存储) | |
| groupId | 分组 ID | |
| notes | 备注 |
API 密钥管理 /api/my/apis
共用密码库私人密钥。
PUT 行为:局部更新——只传要改的字段,不传的字段保留原值(包括 apiKey)。
# 浏览列表(不消耗次数)
curl "https://octohz.com/api/my/apis" -H "Authorization: Bearer $PRIVATE_KEY"
# 读取明文(消耗 1 次)
curl "https://octohz.com/api/my/apis/1" -H "Authorization: Bearer $PRIVATE_KEY"
# 新建
curl -X POST "https://octohz.com/api/my/apis" \
-H "Authorization: Bearer $PRIVATE_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"OpenAI","apiKey":"sk-xxx","baseUrl":"https://api.openai.com/v1","model":"gpt-4o"}'
# 更新(局部更新,只传要改的字段;不传 apiKey 则保留原值)
curl -X PUT "https://octohz.com/api/my/apis/1" \
-H "Authorization: Bearer $PRIVATE_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-4o-mini"}'
# 删除
curl -X DELETE "https://octohz.com/api/my/apis/1" -H "Authorization: Bearer $PRIVATE_KEY"
POST/PUT 字段
| 字段 | 必填 | 说明 |
|---|---|---|
| name | ✓ | API 名称 |
| apiKey | ✓(POST) | Key 明文(加密存储,PUT 不传保留原值) |
| siteUrl | 平台网址 | |
| planType | 套餐类型(如 Pro) | |
| baseUrl | Base URL | |
| model | 默认模型 | |
| notes | 备注 | |
| groupId | 分组 ID |