Config Validator
验证 OpenClaw 配置字段与值的正确性,提供官方 schema 参考和示例。
通过本地命令安全配置蝉镜AK/SK与Token,不通过对话索取密钥。
openclaw skills install @binkes/chanjing-credentials-guard命令、参数、文件名以原文为准
仅通过本地命令引导用户配置或校验蝉镜的 AK/SK 与 Token,并打开登录页面;不在对话中索取密钥。可与其他蝉镜相关技能配合使用。
scripts/chanjing_config.py、scripts/open_login_page.py、scripts/chanjing_get_token.py 等脚本文件manifest.yaml**(environment 段)及本文manifest.yaml**clawhub run chanjing-credentials-guardpython skills/chanjing-credentials-guard/scripts/chanjing_config.py --status该技能为本地凭证引导工具,非跨技能运行时依赖。
1. 检查本地 AK/SK 是否存在
└─ 不存在 → 执行 open_login_page.py(在默认浏览器中打开登录页)→ 提示用户运行本地配置命令
└─ 存在 → 继续
2. 检查本地 Token 是否存在且未过期
└─ 不存在 → 调用 API 请求或刷新 Token → 保存结果
└─ 存在 → 继续
3. 提示用户继续执行目标操作AK/SK 与 Token 均从同一配置文件读取。路径与格式遵循本技能中的脚本 **scripts/chanjing_config.py**。
~/.chanjing/credentials.json(目录路径由环境变量 **CHANJING_OPENAPI_CREDENTIALS_DIR 覆盖,兼容 CHANJING_CONFIG_DIR**){
"app_id": "您的 Access Key",
"secret_key": "您的 Secret Key",
"access_token": "可选,自动生成",
"expire_in": 1721289220
}expire_in 为 Unix 时间戳。Token 有效期约为 24 小时;建议在到期前 5 分钟刷新。
当本地 app_id 或 secret_key 缺失时:
open_login_page.py 脚本,在默认浏览器中打开蝉镜登录页(https://www.chanjing.cc/openapi/login)。- 仅显示命令;用户需在终端中手动执行。
- 不得要求用户将 AK/SK 粘贴至对话中。
- 不得在聊天摘要中回显或存储 AK/SK。
- 提示用户运行状态检查命令,再继续执行目标操作。
设置 AK/SK 的命令(任选其一):
python scripts/chanjing_config.py --ak <your_app_id> --sk <your_secret_key>
python skills/chanjing-credentials-guard/scripts/chanjing_config.py --ak <your_app_id> --sk <your_secret_key>手动打开登录页的命令:python skills/chanjing-credentials-guard/scripts/open_login_page.py
当用户明确表示要生成蝉镜密钥、获取密钥或配置 AK/SK时,请按以下流程操作:
检查本地 AK/SK 是否已存在(读取 ~/.chanjing/credentials.json 中 app_id 和 secret_key 是否非空),或运行以下命令确认状态:
python skills/chanjing-credentials-guard/scripts/chanjing_config.py --status
- 若是,继续执行引导步骤。
- 若否,停止操作。
open_login_page.py**:在默认浏览器中打开蝉镜登录页面。 - 新用户会自动注册,当前页面将显示 App ID 和 Secret Key,并提供复制按钮。
- 已有用户可能被重定向至控制台;请告知其前往左侧菜单的 API 密钥 页面查看或重置密钥。
python skills/chanjing-credentials-guard/scripts/chanjing_config.py --ak <your_app_id> --sk <your_secret_key>- 不得要求用户在聊天中粘贴 AK/SK。
- 若用户仍执意在聊天中分享密钥,请提醒其立即轮换密钥,并继续使用本地命令方式完成配置。
- 执行状态检查:
python skills/chanjing-credentials-guard/scripts/chanjing_config.py --status
- 确认无误后,继续执行目标蝉镜操作。
POST https://open-api.chanjing.cc/open/v1/access_token
Content-Type: application/json请求体:
{
"app_id": "{{app_id}}",
"secret_key": "{{secret_key}}"
}成功响应(code: 0):
{
"code": 0,
"msg": "success",
"data": {
"access_token": "xxx",
"expire_in": 1721289220
}
}expire_in:Token 过期时间的 Unix 时间戳code !== 0,表示 AK/SK 无效或请求失败chanjing_config.py);确保 app_id 与 secret_key 均不为空。access_token 存在,且 expire_in > 当前时间 + 300(提前 5 分钟刷新)。access_token 与 expire_in 写回文件。快捷方式:运行 python skills/chanjing-credentials-guard/scripts/chanjing_get_token.py;成功时输出 access_token,失败时输出引导信息。
| 脚本 | 说明 |
|---|---|
open_login_page.py | 打开蝉镜登录页,并说明新用户/已有用户如何获取 AK/SK |
chanjing_config.py | 设置或查看 AK/SK 与 Token 状态 |
chanjing_get_token.py | 输出有效的 access_token 至标准输出(失败时输出引导信息) |
# 打开登录页面(当 AK/SK 缺失时会自动运行)
python skills/chanjing-credentials-guard/scripts/open_login_page.py
# 手动设置 AK/SK
python skills/chanjing-credentials-guard/scripts/chanjing_config.py --ak <app_id> --sk <secret_key>
# 查看当前状态
python skills/chanjing-credentials-guard/scripts/chanjing_config.py --status/access_token、dto.OpenAccessTokenReq、dto.OpenAccessTokenResp已收录 1 个 Skill