# 知你客服 14 号 · 能力说明 ## 1. 定位 **知你客服 14 号**在 **知你客服 13 号** 工作流与提示词基础上演进:保留 13 号的连线整理、工具纪律与单行 JSON 输出约定,并将 LLM 可用工具扩展为平台当前注册的**全量内置工具**(与 `app.core.tools_bootstrap` 一致),用于需要 **HTTP、本地文件、系统信息、文本/时间/数学/JSON、只读数据库、Android 日志** 等能力的客服场景。 --- ## 2. 版本关系 | 项目 | 说明 | |------|------| | 上游模板 | 默认由脚本自 **知你客服 13 号** 复制(可通过环境变量指定其他源 Agent) | | 画布 | 与 13 号创建脚本一致:去自环、合并重复边、统一左右锚点、分层布局 | | 记忆与会话 | 与 13/12 相同,依赖工作流 **Cache(`user_memory_*`)**、Redis 与可选 MySQL 持久化;详见 `agent记忆实现方案.md` | --- ## 3. 内置工具一览(10 项) 以下工具在 **「llm-unified」** 节点中 **`enable_tools`**,名称需与后端注册一致。 | 工具名 | 能力摘要 | |--------|----------| | **http_request** | HTTP(S) 请求:抓取网页、调用公开 API;按返回 JSON 的 `body` 等提炼信息。 | | **file_read** | 读取工作区内的本地文件(相对路径或落在允许根目录下的绝对路径)。 | | **file_write** | 写入/追加工作区内文件;受大小与路径校验约束。 | | **system_info** | 系统与运行环境信息;含 **本地文件工作区根路径** `local_file_workspace_root`(回答「工作区在哪」等)。 | | **text_analyze** | 文本分析:`text` + `operation`:`count`(字数/行数等)、`keywords`(简单词频)、`summary`(截取前几段作摘要)。 | | **datetime** | 日期时间:常用 `operation=now`,可选 `format`(strftime)。 | | **math_calculate** | 安全算术表达式计算(如四则运算、`sqrt` 等),结果以工具返回为准,禁止臆造。 | | **json_process** | JSON:`operation` 为 `parse` / `stringify` / `validate`。 | | **database_query** | **只读 SQL**:**仅允许 SELECT**;默认连平台库,可选 `data_source_id` 指定数据源;注意 `timeout`。 | | **adb_log** | Android 设备日志:需运行环境已安装 **adb** 且设备可用;按工具参数拉取/过滤日志。 | --- ## 4. 输出与纪律(继承 13 号并加强) - **最终回复**:仍以 **一行合法 JSON** 结尾(含 `intent`、`reply`、`user_profile` 等),无 Markdown 代码围栏。 - **用户画像**:末行 JSON 中的 **`user_profile` 须如实填写**;用户已告知昵称时需含 **`name`**,避免空对象覆盖会话记忆(与 13 号约定一致)。 - **file_write**:同一轮用户请求中避免无故多次写入;勿以本地文件写入替代 JSON 中的会话画像。 - **DSML / invoke**:勿在正文中重复刷屏工具标签行;说明工具结果用自然语言,再以单行 JSON 收尾。 - **database_query**:禁止非 SELECT;不得编造查询结果。 - **adb_log**:仅在用户明确需要设备日志时使用;无环境或失败时如实转述工具错误信息。 --- ## 5. 使用与维护 | 项目 | 说明 | |------|------| | 创建/更新脚本 | `backend/scripts/create_zhini_kefu_14.py` | | 默认源/目标 Agent | 源:`知你客服13号`;目标:`知你客服14号`(可用环境变量覆盖) | | 执行 API | 需携带稳定 **`user_id`**(若工作流 Cache 键含 `{{user_id}}`),以免记忆串用户 | | 进程 | 工作流在 **Celery** 中执行;更新工具或引擎后需 **重启 API + Celery** | --- ## 6. 能力与边界 - **database_query** 访问的是平台配置的数据库或已登记数据源,表结构与安全策略以部署环境为准。 - **adb_log** 强依赖宿主机是否安装 adb、USB/网络调试是否连通,生产环境需单独评估权限与审计。 - **text_analyze** 的摘要/关键词为轻量规则实现,复杂语义仍以 LLM 为主。 --- *文档内容随脚本与平台实现变更;以仓库内 `create_zhini_kefu_14.py` 及实际 Agent 配置为准。*