本 skill 是来布公司内部 file_crypto SDK 的命令行使用封装,用于对 服务器本地文件 执行加密或解密处理,以及获取 Agent 身份令牌。
file_crypto SDK 已预装在服务器上, 必须在指定目录下调用,且该目录下须存在 file-crypto.json 配置文件:
text
/data/endecode-win-linux
命令格式:
bash
cd /data/endecode-win-linux
python3 -m file_crypto --action <encrypt|decrypt|getAuth> [业务参数]
参数必填条件说明--action必填操作类型: encrypt / decrypt / getAuth``--filePath``encrypt / decrypt 时必填待处理文件的完整物理路径--authId``encrypt / decrypt 时必填用户身份令牌,最长 64 字符--outputPath可选自定义输出文件路径;不传时自动生成(加密追加 _encrypt,解密追加 _decrypt)--expireTime可选,仅 encrypt 生效过期时间戳,必须为正整数--agentId``getAuth 时必填Agent 唯一标识,用于获取身份令牌
典型流程:首次使用时,先执行
getAuth获取 authId(有效期 15 天),再用该 authId 执行加解密操作。
从用户输入中获取以下必填项:
encrypt)还是解密( decrypt)?--filePath):完整的服务器物理路径--authId):由 getAuth 获取,最长 64 字符可选项按需询问:
--outputPath)?--expireTime,正整数时间戳)?如果用户没有 authId,引导其先执行 getAuth(见情况二)。
加密(基础):
bash
cd /data/endecode-win-linux && python3 -m file_crypto --action encrypt --filePath <文件路径> --authId <身份令牌>
加密(含可选参数):
bash
cd /data/endecode-win-linux && python3 -m file_crypto --action encrypt --filePath <文件路径> --authId <身份令牌> --outputPath <输出路径> --expireTime <时间戳>
解密:
bash
cd /data/endecode-win-linux && python3 -m file_crypto --action decrypt --filePath <文件路径> --authId <身份令牌>
✅ 成功( "code": 0, "success": true):
json
{
"code": 0,
"message": "处理成功",
"success": true,
"data": {
"sourceFilePath": "/data/upload/test.pdf",
"targetFilePath": "/data/output/test_encrypt.pdf",
"action": "encrypt"
}
}
向用户报告原始路径( sourceFilePath)和处理后路径( targetFilePath):
✅ 加密成功!
- 原始文件:
/data/upload/test.pdf- 处理后文件:
/data/output/test_encrypt.pdf
❌ 失败 — 优先使用 errorType 字段判断错误类型:
errorTypecodemessage 示例说明建议提示param_error400请求参数非法缺少必填参数,或 --expireTime 非正整数检查 --filePath、 --authId 是否传入, --expireTime 是否为正整数path_error400文件路径非法 / 输出路径非法filePath 指向目录、 outputPath 非法、输出目录不存在确认路径是文件而非目录,输出目录是否存在file_not_found404源文件不存在文件路径不存在确认文件路径是否正确,文件是否已上传至服务器unsupported_format400非支持的加密格式解密时无法从文件头读取有效 fileId,或文件头解析失败,该文件不是支持的加密格式确认待解密文件是否由本工具加密生成,文件是否完整未损坏permission_error403文件权限不足文件读写权限不足,或后端返回会话失效 / 密钥不存在检查文件权限,或重新执行 getAuth 获取新令牌auth_error401鉴权失败authId 无效或已过期确认 authId 是否正确,或重新执行 getAuth 获取新令牌(有效期 15 天)process_error500文件处理失败底层处理失败、超时或后端返回异常联系管理员查看服务器日志config_error500配置文件错误file-crypto.json 缺失、格式错误或字段值非法检查执行目录下 file-crypto.json 是否存在且格式正确
错误响应示例( permission_error):
json
{
"code": 403,
"message": "文件权限不足",
"success": false,
"errorType": "permission_error"
}
当用户需要初次获取 authId,或令牌已过期时执行。
获取用户的 Agent 标识( --agentId):由来布公司内部系统分配的唯一标识字符串。
bash
cd /data/endecode-win-linux && python3 -m file_crypto --action getAuth --agentId <Agent标识>
✅ 成功( "code": "200",注意为字符串):
json
{
"code": "200",
"message": "success",
"data": {
"authId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
向用户返回 data.authId 的值:
✅ 获取成功!您的身份令牌为:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx有效期 15 天,请保存备用,用于后续文件处理操作。
❌ 失败(透传后端返回, code 为字符串):
json
{
"code": "500",
"message": "agentId未绑定用户",
"data": null
}
❌ 获取失败:agentId 未绑定用户。 请确认 agentId 是否正确,或联系管理员完成绑定。
对多个文件逐一执行命令,汇总结果:
text
文件处理完成(3/3):
✅ /data/upload/a.pdf → /data/output/a_encrypt.pdf
✅ /data/upload/b.pdf → /data/output/b_encrypt.pdf
❌ /data/upload/c.pdf → 失败(file_not_found:源文件不存在)
执行目录下须存在 file-crypto.json,格式如下:
json
{
"endecode_path": "endecode",
"api_base_url": "http://47.98.150.16:52027",
"timeout_seconds": 30
}
如果命令返回 config_error,优先检查该文件是否存在及格式是否正确。
/data/endecode-win-linux 目录下执行getAuth 获取errorType 字段,再参考 codegetAuth 返回的 code 字段为 字符串( "200"/ "500"),与加解密的整数 code 不同targetFilePath 返回值为准