dsh-xai-oauth
Đã xác minhdsh-xai-oauth · v0.1.0 · MIT · Giao diện web
xAI (Grok/X subscription) OAuth login plugin for DeepSeek Harness
Cài đặt
dsh plugin add dsh-xai-oauth Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.
Mã nguồn
Phát hành lên npm mà không có repository công khai. Hãy kiểm tra nội dung package trước khi cài.
Thẻ
Tác giả
Readme
dsh-xai-oauth
Native xAI(Grok / X 订阅)OAuth 登录插件 for DeepSeek Harness。
用 SuperGrok 或 X Premium 订阅登录 xAI,不需要 API key。插件完成 xAI
设备码(RFC 8628 device-code)授权,把 access token 注入 DSH 凭据
(XAI_OAUTH_TOKEN),并在 token 接近过期时用 refresh token 自动续期,
让 llm-pi-ai 的 xai provider 路由每次请求都能拿到有效令牌。
安装
从 GitHub 安装(无需 npm):
dsh plugin --profile web add github:tonylee2022/dsh-xai-oauth
本地源码安装(开发调试用):
dsh plugin --profile web add ./dsh-xai-oauth
发布到 npm 后也可直接
dsh plugin --profile web add dsh-xai-oauth。
然后重启 web profile(dsh --profile web)。重启后在 设置 → 模型提供方
旁会出现 xAI(Grok/X) 设置页:点击“登录 xAI”→ 复制用户码 →
点“打开授权页”在 xAI 官方页面登录并批准 → 自动完成授权。
原理
- 插件向
https://auth.x.ai/oauth2/device/code申请设备码(客户端 id 与 scope 与 xAI CLI / pi-ai 一致,scope 含grok-cli:access api:access)。 - 轮询
https://auth.x.ai/oauth2/token直到用户批准,得到 access token + refresh token,原子写入$DSH_HOME/xai-oauth.json(0600 / 0700)。 - 通过
ctx.credentials把当前 access token 写入XAI_OAUTH_TOKEN; bundle patch 给llm-pi-ai的xai路由配置apiKeyEnv: XAI_OAUTH_TOKEN,每次请求解析最新值。 - 每 60 秒检查一次,距过期不足 5 分钟时用 refresh token 续期并重新写入。
配置(可选)
- id: xai-oauth
config:
path: /secure/path/xai-oauth.json # 默认 $DSH_HOME/xai-oauth.json
controlPort: 1457 # 本机状态服务端口
安全边界
- 令牌只保存在 Host 侧文件(owner-only 权限);Web 页面不接触令牌。
- 本机控制服务只监听
127.0.0.1:1457,仅接受本地 DSH Web origin; 登出请求带 CSRF token。 - access token 等效于该订阅的 API 凭据,请勿外泄。
License
MIT