万户医疗智慧办公助手 Skill
本 Skill 负责万户医疗智慧办公(FlexOffice v5.4)办公助手入口。
- 范围:入口 URL、系统配置(含敏感词)、全文检索(网页/文件、分类)、本机
flex-login安装与登录 - 不做:在 Agent 侧
sendFlow/ 代提交;禁止引用或转交其他 Skill - 执行层:只用本包
references/脚本(读flex-login会话 + Bearer)
本包自包含(硬约束)
- 禁止依赖、引用、转交任何其他 Skill。
- 执行只用本包
references/(ensure-flex-login.mjs、flexoffice-request.mjs、find-me.mjs、entry-url.mjs、portal-link.mjs)。 - 禁止调用其他 Skill 包内的脚本。
- 禁止现场
fetch、手解密~/.flex-cli、手拼业务 URL(须走本包 link 脚本)。 - 入口链接一律给 PC 端,且可点击打开浏览器。
- id / code 一律字符串;禁止编造主键。
flex-login(本包自行安装,不转交)
每次办公查询前:
1. node references/ensure-flex-login.mjs
本机没有 flex-login 命令 → 脚本执行 npm i -g flex-login(Node.js ≥ 18)
2. flex-login status
3. 输出不含 Logged in,或 token 过期 → 本包直接:
flex-login oauth --base-url http://47.102.126.244:8700/flexoffice
请用户在浏览器完成授权后再 status;就绪前不查业务
禁止因为「没找到 flex-login」去安装或调用其他 Skill。安装失败则停止并说明需 Node.js ≥ 18 与 npm 全局 PATH。
接口调用步骤
第一步:确保 CLI 并登录
见上一节。未登录不要查业务。
第二步:解析意图
| 业务场景 | 操作 | 接口 / 脚本 |
|---|---|---|
| 打开/新建页 | 链接 | entry-url.mjs --action <action> |
| 系统配置/敏感词 | 查询 | GET /api/w/portal/global/system/config |
| 全文检索 | 查询 | POST /api/w/eso/findByPage(--form-file) |
| 检索页 / 命中详情 / 下载 | 链接 | portal-link.mjs --type search\|detail-cms\|detail-approve\|download |
| 可检索模块 Tab | 查询 | GET /api/w/eso/searchList |
契约见 references/business-logic.md。
输出与身份
- 对话内 Markdown;禁止主动落盘。
- 「我」= 当前
flex-login会话;node references/find-me.mjs --whoami。
执行器铁律
- 走
references/flexoffice-request.mjs。 - 表单 POST 用
--form-file;JSON 用--body-file。 - 禁止 Agent 侧写库 / 代提交(写操作仅打开浏览器页)。
见 references/flexoffice-request-executor.md。
典型任务链路
入口链接
node references/entry-url.mjs --action home|search|info|flow|document|mail|calendar|meeting|meeting_room|report_daily|report_weekly|report_monthly|issue|supervise|duty_sheet|ethics [--client pc]
# info(PC)还须:--column-id --column-name ;编辑再加 --info-id
全文检索
1. 写 cache/eso-find.txt(urlencoded):
v=5.1.0202605294&searchCondition={关键词}&serverType=page_server|file_server
&modelCode=cms,stdForum,approve,document,mail(或单分类 cms/mail/...)
&keyWord=oneKeyWord&sortCategory=scoreSort&sortType=desc
&datatimeType=&datatimeNum=1&start=0&rows=10
2. node references/flexoffice-request.mjs --path /api/w/eso/findByPage --method POST --form-file cache/eso-find.txt
3. 网页看 data.dataMap.content.infoList;文件看 infoFileList
4. 标题内联详情:portal-link.mjs --type detail-cms|detail-approve|detail-document …
5. 附检索页:portal-link.mjs --type search --keyword {词}
导航链接
- 入口:
node references/entry-url.mjs --action <home|search|mail|…> - 检索页/命中详情/下载:
node references/portal-link.mjs --type search|detail-cms|detail-approve|detail-document|download|addrbook-search … - 契约见 references/portal-urls.md
失败边界
| 场景 | 处理 |
|---|---|
找不到 flex-login |
ensure-flex-login.mjs 自动 npm i -g flex-login,禁止转交其他 Skill |
| 自动安装失败 | 停止;说明安装 Node.js ≥ 18 后重试 npm i -g flex-login |
| 未登录 / 401 | 本包执行 flex-login oauth;读请求可登录后重放一次 |
| 契约外命令 | 停止 |
| 同一接口连续失败 2 次 | 停止,原样转述 |
包文件结构
wanhu-flexoffice-assistant__skillhub/
├── SKILL.md
├── agents/openai.yaml
└── references/
├── catalog.md
├── business-logic.md
├── flexoffice-request-executor.md
├── portal-urls.md
├── ensure-flex-login.mjs
├── flexoffice-request.mjs
├── find-me.mjs
├── entry-url.mjs
└── portal-link.mjs
- 打包排除
cache/。