oclaw/uds-auth
oliver 1fc39a3210 Gate open-workspace UI to super_admin only.
Non-super users keep their auto-provisioned workspace; hide Choose workspace and keep the picker locked unless canCreateWorkspace is set.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 09:22:15 +08:00
..
lib Gate open-workspace UI to super_admin only. 2026-09-08 09:22:15 +08:00
.gitignore Enforce multi-user ACL for sessions, settings, and workspaces. 2026-09-08 04:29:48 +08:00
config.default.yaml Enforce multi-user ACL for sessions, settings, and workspaces. 2026-09-08 04:29:48 +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 Restore uds-auth in oclaw: DSH plugin with token+profile auth, settings UI, and pagination. 2026-09-08 01:46:17 +08:00
pnpm-lock.yaml change log in 2026-09-08 00:28:58 +08:00
README.md Restore uds-auth in oclaw: DSH plugin with token+profile auth, settings UI, and pagination. 2026-09-08 01:46:17 +08:00
README.zh.md Restore uds-auth in oclaw: DSH plugin with token+profile auth, settings UI, and pagination. 2026-09-08 01:46:17 +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: ''

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