oclaw/uds-auth
oliver 922abaa89e Restore uds-auth session on badge mount so login survives reload.
Calling /api/me only when opening the QR panel left users stuck on 未登录 until they clicked the badge.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 21:11:15 +08:00
..
docs Bundle uds-skill-auth inside the uds-auth plugin for single-package handoff. 2026-09-08 23:46:11 +08:00
lib Restore uds-auth session on badge mount so login survives reload. 2026-09-12 21:11:15 +08:00
skill-helpers Bundle uds-skill-auth inside the uds-auth plugin for single-package handoff. 2026-09-08 23:46:11 +08:00
skills/uds-skill-auth Bundle uds-skill-auth inside the uds-auth plugin for single-package handoff. 2026-09-08 23:46:11 +08:00
test Restrict @ mention and session query ACL so admin/user only see owned or workspace sessions. 2026-09-10 00:30:46 +08:00
.gitignore Add parallel skill credential path to uds-auth for agent/cron use. 2026-09-08 23:01:11 +08:00
config.default.yaml Add parallel skill credential path to uds-auth for agent/cron use. 2026-09-08 23:01:11 +08:00
cordis.patch.yml Enforce multi-user ACL for sessions, settings, and workspaces. 2026-09-08 04:29:48 +08:00
package-lock.json Restore uds-auth in oclaw: DSH plugin with token+profile auth, settings UI, and pagination. 2026-09-08 01:46:17 +08:00
package.json Speed up uds-auth login: paint badge first, lazy /api/me. 2026-09-12 12:29:49 +08:00
pnpm-lock.yaml change log in 2026-09-08 00:28:58 +08:00
README.md Bundle uds-skill-auth inside the uds-auth plugin for single-package handoff. 2026-09-08 23:46:11 +08:00
README.zh.md Restrict @ mention and session query ACL so admin/user only see owned or workspace sessions. 2026-09-10 00:30:46 +08:00

uds-auth

UDS authentication plugin for DeepSeek Harness: fixed sidebar login badge + host session/role APIs.

Install

dsh plugin --profile web add -w "D:/project/chatgpt/oclaw/uds-auth"

Restart Harness after install. The badge mounts on sidebar.footer.action (root scope).

Config

uacBaseUrl: https://uac.zte.com.cn
userSearchUrl: https://icenterapi.zte.com.cn/zte-km-icenter-addresearch/user/plain/docs/search
loginSystemCode: '100000455558'
originSystemCode: ''
retainSkillCredentialsOnLogout: true
skillCredentialTtlSeconds: 604800
outboundAllowedHosts: icenterapi.zte.com.cn,icentermsg.dt.zte.com.cn

Skill auth standard (Chinese): docs/skill-auth-standard.zh.md.

Bundled skill: skills/uds-skill-auth. Handoff notes: docs/uds-skill-auth.zh.md.

Loopback agent APIs: GET|POST /uds-auth/agent-credentials, POST /uds-auth/outbound.

Layout

Piece Path Role
Host lib/index.js Cordis apply: settings, RPC, /uds-auth/*
Client lib/client.js ModuleLoader + React footer login card
Bundle cordis.patch.yml layer insert only
Meta package.json dsh.client ./client + slots inject

The login panel uses position: fixed with a measured trigger anchor (same pattern as CordisPanel) so the sidebar overflow clip cannot hide it.

License

MIT