此前测试单依赖王刚001没有的同步函数入口。这个补丁新增 employee-read → ksfReadWecomEmployee 受权查询链路,不把运维的identity:write权限或平台管理凭据交给课堂数字人。
此包 ksf-employee-read-patch-20261103-r1.zip 用于已经部署r5后端/看板、已经安装Skill员工识别r1的环境。仅新增一个查询Function,并更新现有Skill的两个执行脚本、三份说明和派生清单。r5四个函数、34个静态文件、runtime-lock、身份档案、会话索引及凭据绑定保持现状;不重新发布r5包,也不重跑旧工作坊。
在站点外独立目录解包,先 sha256sum -c FILES.sha256。使用运维既有受控配置,环境变量名为 KSF_PLATFORM_CONFIG,指向包外私有0600的platform JSON。沿用已有文件,不生成或转发密钥。
node server/identity/manage.mjs deploy-employee-read
node server/identity/manage.mjs deploy-employee-read --apply --receipt-dir /opt/ksf-identity-private/receipts
默认只读计划;预检验证现网ksfGetPublicBoard仍为r5哈希 d4c7e2923a13b56b60821f02c8ca4ab472fca3664cde8fcdbf3f621e51047b23,并确认ksfReadWecomEmployee不存在或已是本包版本。apply只新增ksfReadWecomEmployee,函数ACL沿用现有公开查询Function的记录ACL;服务请求仍须通过服务凭据认证及data:read授权。既有四函数不更新,权限不放宽,匿名调用应拒绝。计划/执行逐步保留stdout、stderr、exitcode及工具返回的私有备份回执;失败即停。
新函数按服务owner、员工工作坊参与键及Agent键核对归属,随后从会话私有快照查询企微;未配置、缺映射或权限不足均返回真实错误码。查询不调用身份同步,不更新档案、审计或业务表;token只在进程内缓存。包不包含企微配置,也不自动configure或sync。
将同一包解到容器 /opt/data/ 内独立目录,以现有Skill属主hermes执行:
node scripts/install-workshop-skill.mjs --check
node scripts/install-workshop-skill.mjs
已安装的Skill员工识别r1基线,预计changed恰六个文件:SKILL.md、references/identity.md、references/workshop-tasks.md、scripts/ksf-workshop.mjs、scripts/ksf-secure.mjs、FILES.sha256。未知目标内容停止,不改指纹放行。安装器会备份并保持credential-binding.json和整个ksf-workshop-state目录,包括刚恢复的sessions/btrFqkz0yw.json。核对绑定文件仍为1129字节、sha256 24ef684e53f2d93421da79aab3ab8382419741f8b33fa530c38a7b88311110ee;若现场已有经授权的新修改则先说明,不覆盖。
cd /opt/data/skills/ksf-workshop-runtime
sha256sum -c FILES.sha256
安装后按现有加载机制更新Skill。入口仍逐次在内存解密现有服务凭据,无需identity:write;沿用原本workshop-read已使用的data:read权限。若凭据过期或缺data:read,报告具体缺项,不能借用运维masterKey。
把同包 docs/wanggang-employee-read-test-20261103.md 发给王刚001,由用户通过企微真实新消息触发。他先核对当前发送者和原会话,再用新增employee-read命令完成一次查询;输入和回执只放 /opt/data/ 私有目录。
验收分层记录:命令白名单已生效;受权函数调用已发出并收到返回;是否实际取得通讯录姓名。通讯录仍未配置时,可返回WECOM_DIRECTORY_NOT_CONFIGURED,这说明入口已打通,但实名尚未取得。查询成功不会更新看板姓名,正式同步另走已部署的运维流程。不要为测试上传报告、创建会话或更新项目。
查询函数按工具返回的新回执路径处理:
node server/identity/manage.mjs rollback --receipt /实际私有目录/identity-deploy-本次编号.json
node server/identity/manage.mjs rollback --receipt /实际私有目录/identity-deploy-本次编号.json --apply
只删除本次新增查询函数,遇并发修改停止;不使用旧r5回执回退整个系统。Skill按本次安装备份恢复changed六个文件及原清单,事先确认当前仍为本包版本,保留身份与会话状态。无需重跑任何业务。