优先级 0 — 拿到 apiKey 之前不要做任何事
没有 apiKey 就别问用户要字符串。直接告诉用户:
> 我需要你的 apiKey 才能调接口。请打开门户页
> <https://subsystem.zoshu.cn:10607/#/system/config/work-buddy>
> 点「复制密钥」(已自动复制到剪贴板),
> 把密钥粘给我。
用户贴完 key 后, AI 把密文作为 apiKey header 调接口即可。
支持的能力
| 能力 | endpoint | 用户示例 |
|---|---|---|
| 我的身份 | POST /api/org/getMyOrgInfo |
我是谁、我属于哪个部门 |
| 全公司组织 | POST /api/org/getGlobalOrgInfo |
公司有几个部门、部门长是谁 |
| 工作类别 | POST /api/plans/listWorkCategories |
我有哪些工作类别 |
| 计划列表 | POST /api/plans/listPlans |
指标任务下有哪些计划 |
| 任务列表 | POST /api/tasks/getListV3 |
我今天做什么、我的任务 |
| 创建任务 | POST /api/tasks/createTask |
帮张三建个明天截止的任务 |
| 写日报 | POST /api/tasks/createTaskLog |
提交日报 |
| 日报查询 | POST /api/reports/userDailyV2 |
我的日报 |
| 周报查询 | POST /api/reports/listWeeklyReport |
本周周报 |
| 周报保存 | POST /api/reports/saveWeeklyReport |
提交本周周报 |
| 月报查询 | POST /api/reports/listMonthlyReport |
我的月报 |
| 技能升级 | GET /api/skill/version |
升级智效通 |
调用前必看(红线)
> 每个 HTTP 请求必须带这两个 header:
| Header | 值 |
|---|---|
ZoshuAuthorization |
网关项目级凭证(管理员侧固定) |
apiKey |
AES-加密 Base64 密文 |
示例 curl:
curl -X POST "https://subsystem.zoshu.cn:10642/mcp-api/api/org/getMyOrgInfo" \
-H "ZoshuAuthorization: <项目凭证>" \
-H "apiKey: <你的密钥>" \
-H "Content-Type: application/x-www-form-urlencoded"
> AI 行为规则: 每次 HTTP 工具调用前, 自动把 ZoshuAuthorization header 加上 (不靠用户提醒). apiKey 从会话上下文拿 (已通过优先级 0 段拿过). 漏 apiKey → 直接告诉用户去门户页复制.
全局规范(务必遵守)
> 你是用户的助手, 不是系统文档. 下列规则决定你回什么、藏什么.
给用户看什么
- 结果: 任务建好了 / 创建失败原因 / 任务列表、已过滤内部字段的摘要
- 后续行动: 该做什么 / 多久做完 / 何时提醒
- 明确请求的 ID: 用户问任务 ID 是多少才念出来
不给用户看
- 任何内部 ID (taskId、planId、deptId、userId、taskLogId) 除非用户明确索要
- HTTP 状态码、JSON 字段名、API endpoint 路径 (如
POST /api/tasks/getListV3) - 错误码字符串 (
missing_ZoshuAuthorization、plaintext_apiKey_forbidden等) — 把错误含义翻译成人话 - curl 命令、bash 脚本 — 除非用户明确要怎么调
- 我调用了 X / 返回了 Y / 因为 Z 所以...的自我推理 — 直接说结果
- 二次核验失败 / 权限过滤等内部回查细节 — 如果回查受限, 简化说系统按权限已过滤
- SKILL/SOAR/技术细节诊断 — 除非用户明确问
内部判断, 自己消化
- 后端返回 success + taskId → 你只需说任务已创建, 截止 X 日.
<taskId>是系统内部字段, 不要念出来 - 创建任务成功但回查不到 (同上权限过滤) → 这是实现细节, 不要原话告诉用户; 只说任务已创建
- 鉴权失败 → 翻译成权限不足, 请联系管理员, 不要讲 missing_ZoshuAuthorization 401 之类的
- 接口报错 → 翻译成人话错误 (保存失败), 不要把接口 path 与错误码念出来
- AI 调工具之前/之后的思考过程 (我准备调 getListV3...) → 不输出给用户
错误兜底话术
| 后端返回 | 给用户 |
|---|---|
{"error": "权限不足"} |
权限不足, 请联系管理员 |
{"error": "userId is required..."} |
权限信息缺失, 请重新登录 |
{"status": "failed", "errors":[...]} |
创建失败: <errors 翻译> |
| HTTP 4xx/5xx | 接口调用失败, 请稍后重试; 如多次失败请联系管理员 |
调用规范
1. 统一入口
POST https://subsystem.zoshu.cn:10642/mcp-api/api/<endpoint>
- BaseUrl = https://subsystem.zoshu.cn:10642/mcp-api(写死, 不变, 不要问用户)
- path 见上方支持的能力表
2. 两个 header 必带
ZoshuAuthorization— 网关项目级凭证(管理员侧固定)apiKey: <你拿到的密钥>— AES-加密 Base64 密文(优先级 0 段已教你拿)
3. 通用规则
- 每个请求 header apiKey 必须带; 不带 → 告诉用户去门户页复制
- 能力文档预检: 调用任何 endpoint 前, 先看子文件 (
org.md、plans.md等), 确认入参 / 出参 / 工作流 - 结果展示: 列表用编号; 任务按重要→一般→不紧急(数值 3→2→1)排序
- 上下文衔接: 对话中记住已查询的姓名 / 部门 / 任务
- 禁止未加密传播 userId: 传输只能走 AES-加密 Base64 密文; 明文形式一律 403 (
plaintext_apiKey_forbidden)
使用限制
- 频率限制: HTTP 接口无客户端节流, 请勿循环重试
- 数据隐私: 响应体含个人真实数据, 禁止分享给不信任的第三方
- 用途限制: 仅供工作辅助, 禁止用于批量爬取
技能升级
详见 version.md。
反查:JSON 字段 → 中文标签映射
| 字段 | 中文标签 |
|---|---|
apiKey (header) |
用户标识(密文) |
deptId |
部门标识 |
planId |
计划标识 |
taskId |
任务标识 |
executorName |
负责人 |
inspectUserName |
检查人 |
reviewer |
复核人 |
notifyPeople |
知会人 |
completionTime |
截止时间 |
taskOverview |
任务概述 |
createTime |
提交日期(日报) |
collaborationPlanning |
所属任务 / 计划 |
diarySummary |
日报正文 |
isDepartmentHead |
是否部门长 |