关于 chanjing-credentials-guard
Chanjing Credentials Guard 是供 Chanjing 服务使用者配置和校验本地凭据的技能。它引导设置 AK/SK、打开登录页并管理 Token 有效期,不会在对话中索取密钥。
主要功能
- 01检查本地 AK/SK 配置
- 02引导在本地设置凭据
- 03打开 Chanjing 登录页
- 04检查并刷新访问 Token
- 05避免在对话中处理密钥
适用场景
- 01在本地配置 Chanjing 凭据
- 02凭据缺失或无效时恢复配置
- 03检查 Token 是否需要刷新
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ chanjing-ai/ chan-skills --skill chanjing-credentials-guard安装后在 Claude Code 中输入/chanjing-credentials-guard确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
manifest.yamlreference.mdscripts/chanjing_config.pychanjing_get_token.pyopen_login_page.py详细介绍
Chanjing Credentials Guard
功能说明
仅通过本地命令引导用户配置/校验蝉镜 AK/SK 与 Token,打开登录页;不在对话中索取密钥。可配合其它 Chanjing 技能使用。
运行依赖
- python3 与
scripts/chanjing_config.py、scripts/open_login_page.py、scripts/chanjing_get_token.py等
环境变量与机器可读声明
- 环境变量键名与说明:
manifest.yaml(environment段)及本文 - 变量、写盘路径与权限:
manifest.yaml
使用命令
- ClawHub(slug 以注册表为准):
clawhub run chanjing-credentials-guard - 本仓库:
python skills/chanjing-credentials-guard/scripts/chanjing_config.py --status
运行时机
- 当用户要求配置/获取 Chanjing 密钥(AK/SK)时:使用此技能引导用户进行本地设置。
- 调用 Chanjing API 前凭据缺失/无效时:使用此技能恢复本地配置。
此技能是本地凭据指南,不是跨技能的运行时依赖。
执行流程
1. Check if local AK/SK exists
└─ No → Run open_login_page.py (open login in browser) → Ask user to run local config command
└─ Yes → Continue
2. Check if local Token exists and is not expired
└─ No → Call API to request/refresh Token → Save
└─ Yes → Continue
3. Prompt user to continue target action
凭据存储(从配置文件读取 AK/SK)
AK/SK 与 Token 从同一配置文件读取。路径和格式遵循此技能中的脚本 scripts/chanjing_config.py。
- 路径:
~/.chanjing/credentials.json(目录可由CHANJING_OPENAPI_CREDENTIALS_DIR覆盖,并兼容CHANJING_CONFIG_DIR) - 格式:
{
"app_id": "Your Access Key",
"secret_key": "Your Secret Key",
"access_token": "Optional, auto-generated",
"expire_in": 1721289220
}
expire_in 是 Unix 时间戳。Token 有效期约为 24 小时;请在过期前 5 分钟刷新。
缺少 AK/SK 时
本地缺少 app_id 或 secret_key 时:
- 打开登录页:运行
open_login_page.py脚本,在默认浏览器中打开 Chanjing 登录页(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
用户想生成密钥时的引导
当用户明确想要生成 Chanjing 密钥、获取密钥或配置 AK/SK时,按以下流程操作:
步骤 1:检查是否已配置
检查本地是否已有 AK/SK(读取 ~/.chanjing/credentials.json,确认 app_id 和 secret_key 均非空;或运行 python skills/chanjing-credentials-guard/scripts/chanjing_config.py --status)。
步骤 2:根据结果分支处理
-
如果已配置:询问用户是否要覆盖本地配置。
- 如果是,执行引导步骤。
- 如果否,则停止。
-
如果未配置:直接执行下面的“引导步骤”。
引导步骤(未配置或用户确认重新应用时)
- 运行
open_login_page.py,在默认浏览器中打开 Chanjing 登录页。 - 清楚说明页面流程:
- 新用户会自动注册,当前页面将显示
App ID和Secret Key,并提供复制按钮。 - 现有用户可能会被重定向到控制台;请告知他们打开左侧的 API 密钥 页面以查看或重置密钥。
- 新用户会自动注册,当前页面将显示
- 请用户运行本地命令配置 AK/SK:
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 - 然后继续执行目标 Chanjing 操作。
- 运行状态检查:
Token API(参见 chanjing-openapi.yaml)
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 无效或请求失败
验证逻辑
- AK/SK:从配置中读取(路径/格式见上文,依据
chanjing_config.py);确保app_id和secret_key不为空。 - Token:确保存在
access_token,且expire_in > current_time + 300(提前 5 分钟刷新)。 - Token 刷新:调用上述 API,并将返回的
access_token和expire_in写回文件。
快捷方式:运行 python skills/chanjing-credentials-guard/scripts/chanjing_get_token.py;成功时会打印 access_token,失败时会打印操作指引。
安全边界
- 此技能仅提供本地凭据指引。
- 无需安装钩子或提升/系统级权限。
- 不应自动执行无关技能。
- 不应接受通过聊天内容提供的 AK/SK。
Shell 配置
| 脚本 | 说明 |
|---|---|
open_login_page.py | 打开 Chanjing 登录页面,并说明新用户/现有用户如何获取 AK/SK |
chanjing_config.py | 设置或查看 AK/SK 和 Token 状态 |
chanjing_get_token.py | 将有效的 access_token 打印到 stdout(失败时提供操作指引) |
# Open login page (also runs automatically when AK/SK is missing)
python skills/chanjing-credentials-guard/scripts/open_login_page.py
# Set AK/SK manually
python skills/chanjing-credentials-guard/scripts/chanjing_config.py --ak <app_id> --sk <secret_key>
# View status
python skills/chanjing-credentials-guard/scripts/chanjing_config.py --status
与其他技能配合使用
- 其他 Chanjing 技能可以使用相同的本地配置路径/格式,但应保留各自的运行时身份验证逻辑。
- 用户明确请求凭据指引时,可将 Guard 用作可选的设置助手。
参考
- reference.md:API 和存储格式详情
- chanjing-openapi.yaml:
/access_token、dto.OpenAccessTokenReq、dto.OpenAccessTokenResp