Zyt credentials guard

通过本地命令引导用户安全配置 Chanjing 凭据,验证本地 Token 状态。

已扫描
适合谁
需要使用 Chanjing API 的开发者、希望安全管理凭据的自动化用户
不适合谁
不熟悉本地文件操作的初学者、无法访问外部网络的离线环境用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @zuoyuting214/zyt-credentials-guard

Skill 说明

命令、参数、文件名以原文为准

Chanjing 密钥守护

何时运行

  1. 当用户要求配置或获取 Chanjing 密钥(AK/SK)时:使用此技能引导本地配置。
  2. 在调用 Chanjing API 前发现密钥缺失或无效时:使用此技能恢复本地配置。

此技能为本地密钥配置指引,并非其他技能的运行时依赖项。

无需捆绑辅助脚本即可正常工作。

执行流程

1. 检查本地 AK/SK 是否存在
   └─ 不存在 → 在浏览器中打开登录页面 URL → 要求用户配置本地文件
   └─ 存在 → 继续

2. 检查本地 Token 是否存在且未过期
   └─ 不存在 → 调用 API 请求或刷新 Token → 保存至本地文件
   └─ 存在 → 继续

3. 提示用户继续执行目标操作

密钥存储

AK/SK 和 Token 均从同一本地配置文件读取。

  • 路径~/.chanjing/credentials.json(可通过环境变量 CHANJING_CONFIG_DIR 覆盖)
  • 格式
{
  "app_id": "您的 Access Key",
  "secret_key": "您的 Secret Key",
  "access_token": "可选,自动生成",
  "expire_in": 1721289220
}

expire_in 为 Unix 时间戳。Token 有效期约为 24 小时;建议在到期前 5 分钟刷新。

当 AK/SK 缺失时

当本地 app_idsecret_key 缺失时:

  1. 打开登录页面:在默认浏览器中打开 https://www.chanjing.cc/openapi/login
  2. 要求用户完成本地配置

- 用户需手动更新本地 credentials.json 文件。

  1. 禁止在聊天中请求密钥

- 不得要求用户在对话中粘贴 AK/SK。

- 不得在聊天摘要中显示或存储 AK/SK。

  1. 配置完成后

- 要求用户运行状态检查,然后继续执行目标操作。

手动更新示例:

{
  "app_id": "<your_app_id>",
  "secret_key": "<your_secret_key>"
}

当用户希望生成密钥时的引导流程

当用户明确表示要生成 Chanjing 密钥获取密钥配置 AK/SK时,请遵循以下流程:

第一步:检查是否已配置

检查本地 AK/SK 是否已存在(读取 ~/.chanjing/credentials.jsonapp_idsecret_key 是否非空)。

第二步:根据结果分支

  • 如果已配置:询问用户是否要覆盖本地配置。

- 若是,执行引导步骤。

- 若否,停止。

  • 如果未配置:直接执行下方“引导步骤”。

引导步骤(未配置或用户确认重新配置时)

  1. 在浏览器中打开 https://www.chanjing.cc/openapi/login
  2. 清晰说明页面流程

- 新用户会自动注册,当前页面将显示 App IDSecret Key,并提供复制按钮。

- 已有用户可能被重定向至控制台;请告知其打开左侧菜单中的 API 密钥 页面以查看或重置密钥。

  1. 要求用户配置本地文件 ~/.chanjing/credentials.json(或 $CHANJING_CONFIG_DIR/credentials.json),填写 app_idsecret_key
  2. 密钥处理规则

- 不得要求用户在聊天中粘贴 AK/SK。

- 若用户仍于聊天中分享密钥,请提醒其立即更换密钥,并继续使用仅限本地命令的流程。

  1. 配置完成后

- 重新打开本地文件,确认 app_idsecret_key 非空。

- 然后继续执行目标 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 无效或请求失败

验证逻辑

  1. AK/SK:从配置文件中读取(路径与格式如上);确保 app_idsecret_key 非空。
  2. Token:确保 access_token 存在,且 expire_in > 当前时间 + 300(提前 5 分钟刷新)。
  3. Token 刷新:调用上述 API,将返回的 access_tokenexpire_in 写回文件。

安全边界

  • 此技能仅处理本地密钥配置指引
  • 不需要安装钩子或系统级权限。
  • 不应自动执行无关技能。
  • 不应通过聊天内容接收 AK/SK。

打包说明

  • 此技能可作为纯文档指南独立使用。
  • 若打包版本包含辅助脚本,仅为可选便利工具,不影响核心行为。

与其他技能的协作

  • 其他 Chanjing 技能可使用相同的本地配置路径和格式,但应保持各自独立的运行时认证逻辑。
  • 此守护技能可在用户明确请求密钥引导时,作为可选的前置设置辅助。

参考资料

  • [reference.md](reference.md):API 与存储格式详细信息
  • chanjing-openapi.yaml:/access_tokendto.OpenAccessTokenReqdto.OpenAccessTokenResp
Z
@zuoyuting214

已收录 1 个 Skill

相关推荐