oclaw/uds-auth/README.zh.md
oliver ad0cc98b38 Make session visibility preference-driven and keep system-channel ACL separate.
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.
2026-09-14 20:48:15 +08:00

3 KiB
Raw Blame History

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= — 二维码 SVG
  • POST /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+token
  • POST /uds-auth/outbound — loopback:白名单出站并注入鉴权头
  • 用户管理 / 兜底管理员:见 /uds-auth/api/users*、/uds-auth/api/fallback/*
  • 默认兜底账号(扫码不可用时):用户名 administrator,密码 Admin@123(首次启动自动启用;可在设置中改密或关闭)
  • 本机密钥解锁(可选,解密才登录):
    1. 生成密封盒:node scripts/seal-local-admin.mjs "你的口令"
    2. 把输出的 UDS_AUTH_LOCAL_ADMIN_BOX=... 设到 Harness 进程环境(这是密文,不是口令)
    3. 登录面板 →「本机密钥解锁」→ 输入口令;必须解密成功才有 admin
      仅设置环境变量、不知道口令 → 无法登录。旧变量 UDS_AUTH_LOCAL_ADMIN_KEY 已忽略。
  • ACL / 侧栏:未登录与普通用户看不到设置齿轮;仅超管/应急可见设置。admin 无设置齿轮,但可看渠道/系统会话。super_admin / 兜底默认可见全部会话(可关)。布局:设置在左、登录在右。

Skill 认证(给他人改造 skill 时)

发整个 uds-auth 插件 即可,内含:

  1. 标准:docs/skill-auth-standard.zh.md
  2. 公共 skill 说明:docs/uds-skill-auth.zh.md
  3. 公共 skill 本体:skills/uds-skill-auth/(随插件提交)

现场:装插件 → 把 skills/uds-skill-auth 配进 skills 路径 → 扫码 → 再装业务 skill。

可配置:retainSkillCredentialsOnLogout(默认 true)、skillCredentialTtlSeconds、outboundAllowedHosts。

License

MIT