mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-09 03:30:48 +08:00
Super/fallback can toggle view-all (default on); admin/user stay own-only while still seeing unowned system sessions. Add restore/prune helpers so empty-shell cleanup is explicit and recoverable.
3 KiB
3 KiB
uds-auth
DeepSeek Harness 的 UDS 统一认证插件:右上角登录徽章 + 设置页用户管理。
安装
dsh plugin --profile web add -w "D:/project/chatgpt/oclaw/uds-auth"
安装后重启 Harness。登录徽章在 shell.overlay(右上角);用户管理/部署配置在 设置 → UDS 认证(settings.section)。
配置
在 设置 → UDS 认证 或 cordis.patch.yml 中修改:
uacBaseUrl: https://uac.zte.com.cn
userSearchUrl: https://icenterapi.zte.com.cn/zte-km-icenter-addresearch/user/plain/docs/search
loginSystemCode: '100000455558'
originSystemCode: ''
标准 DSH 插件结构
| 部分 | 路径 | 说明 |
|---|---|---|
| Host | lib/index.js |
Cordis apply:HTTP /uds-auth/*、可选 schema 设置 |
| Client | lib/client.js |
右上角登录 + 设置页用户管理 |
| Bundle | cordis.patch.yml |
insert 插件层(不含 client.entry) |
| Meta | package.json → dsh.client |
exports["./client"] + slots inject |
API
POST /uds-auth/qr-start— 服务端生成扫码挑战GET /uds-auth/qr?data=— 二维码 SVGPOST /uds-auth/qr-proxy— 代理 UAC 扫码校验GET /uds-auth/api/me— 当前用户POST /uds-auth/api/logout— 登出(UI 会话;skill 凭证是否保留见配置)GET|POST /uds-auth/agent-credentials— loopback:按DSH_SESSION_ID取 skill 用 empNo+tokenPOST /uds-auth/outbound— loopback:白名单出站并注入鉴权头- 用户管理 / 兜底管理员:见
/uds-auth/api/users*、/uds-auth/api/fallback/* - 默认兜底账号(扫码不可用时):用户名
administrator,密码Admin@123(首次启动自动启用;可在设置中改密或关闭) - 本机密钥解锁(可选,解密才登录):
- 生成密封盒:
node scripts/seal-local-admin.mjs "你的口令" - 把输出的
UDS_AUTH_LOCAL_ADMIN_BOX=...设到 Harness 进程环境(这是密文,不是口令) - 登录面板 →「本机密钥解锁」→ 输入口令;必须解密成功才有 admin
仅设置环境变量、不知道口令 → 无法登录。旧变量UDS_AUTH_LOCAL_ADMIN_KEY已忽略。
- 生成密封盒:
- ACL / 侧栏:未登录与普通用户看不到设置齿轮;仅超管/应急可见设置。
admin无设置齿轮,但可看渠道/系统会话。super_admin/ 兜底默认可见全部会话(可关)。布局:设置在左、登录在右。
Skill 认证(给他人改造 skill 时)
发整个 uds-auth 插件 即可,内含:
- 标准:docs/skill-auth-standard.zh.md
- 公共 skill 说明:docs/uds-skill-auth.zh.md
- 公共 skill 本体:skills/uds-skill-auth/(随插件提交)
现场:装插件 → 把 skills/uds-skill-auth 配进 skills 路径 → 扫码 → 再装业务 skill。
可配置:retainSkillCredentialsOnLogout(默认 true)、skillCredentialTtlSeconds、outboundAllowedHosts。
License
MIT