@pn-data/pn-log
v0.0.5
Published
Codex Agent Skill:查询 pn_go 项目、包信息及国内外阿里云客服日志,导出包含关联协同消息的心动客诉统计。
Maintainers
Readme
PN Go Log Skill
当前版本:0.0.5。
@pn-data/pn-log 提供 pn-go-log Agent Skill,通过 pn_go API 查询项目、包信息和客服日志,以及导出包含关联协同消息的心动客诉统计。
| 功能 | API key | 查询或导出内容 |
| --- | --- | --- |
| 查询项目 | query_project_list | 当前用户有权限的项目 ID、名称、标签、国内外标识及所属企业 |
| 查询包信息 | query_app_info | 按准确的 7 位 appid 查询所属项目、应用名称、包名、渠道和平台 |
| 查询客诉主题 | query_ali_logs | cs_subject:主题、标题、状态及主题元数据 |
| 查询客诉回复 | query_ali_logs | cs_post:客户与客服的回复、帖子内容 |
| 查询 AI 回复草稿 | query_ali_logs | cs_ai_draft:草稿内容、生成状态及草稿元数据 |
| 导出心动客诉统计 | export_customer_service_reply_logs_for_xindong | 客服回复、创建/结束工单及关联协同消息;支持 CSV 文本和 XLSX |
日志查询支持企业、项目和时间范围,并可按 appid、客诉 ID 等条件筛选,支持分页、排序及返回字段选择。服务端自动选择国内 hp-platform-sdk 或海外 platform-sdk。查询范围限于上述三个客服 logstore,不包含订单日志或任意 logstore。
API 请求使用 X-Pn-Token 验证用户和项目权限。调用脚本从 PN_DATA_ANALYSIS_TOKEN 读取 token,不会把 token 写入请求配置文件。
安装
npm install @pn-data/pn-log以下命令均在安装该包的项目根目录运行;调用脚本需要 Bash、Python 3 和 curl(支持 --fail-with-body)。
Codex 项目可将包目录链接到 skill 目录:
mkdir -p .codex/skills
ln -s "$(pwd)/node_modules/@pn-data/pn-log" .codex/skills/pn-go-log也可以将包目录复制到 .codex/skills/pn-go-log/ 或 .cursor/skills/pn-go-log/。
配置
export PN_DATA_ANALYSIS_TOKEN="<token>"普通 API 默认使用 http://127.0.0.1:8080/api。只有明确查询正式服时才向脚本追加 --production。
查询日志
准备只包含 data 内容的 JSON 文件:
{
"enterprise_id": 1,
"logstore": "cs_subject",
"project_id": 2173,
"start_time": "2026-08-19 00:00:00",
"end_time": "2026-08-20 00:00:00"
}调用:
npm --prefix node_modules/@pn-data/pn-log run --silent query -- /path/to/query.json服务端根据项目配置自动选择国内或海外阿里 project,调用方不传阿里 project 名称。
enterprise_id 必须显式传入,服务端只校验该企业;权限不足时响应会使用项目企业名称说明,例如 心动(XD)无权限。
省略 fields 或传 null 时,服务端默认只返回目标 logstore 已配置的字段索引,并在响应的 data.fields 中列出实际字段;需要全部原始字段时显式传 "fields": ["*"]。
查询项目与包
项目名称或标签先通过项目列表解析;包信息查询必须提供准确的 7 位 appid,不支持模糊搜索。
npm --prefix node_modules/@pn-data/pn-log run --silent metadata -- project-list
npm --prefix node_modules/@pn-data/pn-log run --silent metadata -- app-info 2173001导出心动客诉统计
准备 JSON 配置:
{
"enterprise_id": 5,
"project_id": 2173,
"start_time": "2026-09-01 00:00:00",
"end_time": "2026-09-02 00:00:00"
}以上 ID 仅为示例,替换为目标企业和项目。调用后标准输出为 CSV 文本,也可保存文件:
npm --prefix node_modules/@pn-data/pn-log run --silent export-statistics -- /path/to/statistics.json
npm --prefix node_modules/@pn-data/pn-log run --silent export-statistics -- /path/to/statistics.json > statistics.csvexport-statistics 命令通过现有 export_customer_service_reply_logs_for_xindong 接口的顶层 format: "csv" 输出完整统计,包含客服回复、创建/结束工单及关联协同消息,保留 XLSX 的 9 列中文表头。服务端需包含 CSV 格式支持;导出要求目标企业、项目权限和 CUSTOMER_SERVICE(113) 审批级别权限。需要 XLSX 时直接调用同一 API 并传顶层 format: "xlsx";export-statistics 脚本只输出 CSV。
协同消息记录的“操作”列为“协同消息”,“工单标题”列为消息内容,同时提供工单 ID、操作时间和客服。协同消息随项目统计中的关联工单获取,具体关联范围见 API 说明。当前 skill 不提供按单个客诉 ID 独立拉取协同消息的入口,query_ali_logs 的 cs_post 也不用于查询协同消息。
导出按整个项目及时间范围执行,不支持通过 appid、客诉 ID 或日志 query 缩小统计范围。普通日志查询需要客服查看级别权限,不能替代导出的审批级别权限。
所有导出记录均按“操作时间”筛选,包含开始时间、不包含结束时间。客服回复、创建工单、结束工单,以及协同消息 API 返回的所有状态记录均遵守同一范围;范围外、时间缺失或无法解析的记录不加入导出。CSV 与 XLSX 使用相同过滤规则。
语言列读取 language_detect(检测语言),并将识别到的语言代码显示为中文。
完整参数、语言及操作映射见 references/api.md。
版本更新
0.0.5(2026-09-20)
- 补充项目、包信息、客诉主题、回复、AI 草稿及心动客诉统计的功能与 API 对照。
- 明确协同消息通过统计导出获取,并说明关联范围、消息内容所在列及独立查询限制。
- 区分 CSV 导出脚本与 XLSX API 的调用方式,补充统计范围和查看/审批权限的区别。
0.0.4(2026-09-10)
- 新增心动客诉统计 CSV 导出脚本及
export-statistics命令,输出内容与 XLSX 一致,可直接重定向保存。 - 补充统计导出的参数、权限、时间范围及使用示例。
- 补充服务端语言和操作映射说明:14 种常用语言代码显示中文,
status = -1显示“回复客诉”。这些映射及 CSV 输出依赖 pn_go 服务端支持,安装 npm 包不会更新服务端。
