feat(plugin): Codex 侧改为 OAuth 浏览器登录(v0.2.0)

- .mcp.json 移除 bearer_token_env_var:401 后由 Codex 自动进入 OAuth 2.1 授权流程
  (服务端 https://deta.city 提供 discovery/DCR/PKCE/token/refresh/revoke)
- 安装流程改为 codex plugin add + codex mcp login deta(浏览器里完成账号登录)
- 保留登录助手与 DETA_TOKEN 路径,供 dsh/脚本/CI 使用(README 分节说明)
- 插件版本 0.1.0 -> 0.2.0(市场按版本刷新缓存)
This commit is contained in:
ringo
2026-09-10 11:36:19 +08:00
parent d73e907ec4
commit 4b924674a3
4 changed files with 59 additions and 27 deletions
+17 -6
View File
@@ -16,10 +16,6 @@ DETA 领域能力在各类 Agent harness 上的分发仓:**一份产物,多
## 安装(Codex)
```bash
# 先登录(一次性,需要 deta.city 账号):换取 DETA_TOKEN
node ~/Dev/ant/deta-agent-plugins/plugins/deta/bin/deta-login.mjs
source ~/.deta/env # 让 DETA_TOKEN 进入当前 shell 环境
# 从 Git(分发用)
codex plugin marketplace add https://git.deta.city/deta/deta-agent-plugins.git
@@ -28,10 +24,25 @@ codex plugin marketplace add ~/Dev/ant/deta-agent-plugins
codex plugin list
codex plugin add deta@deta
# 登录(一次性):打开浏览器完成 deta.city 账号登录
codex mcp login deta
```
未登录(环境里没有 `DETA_TOKEN`)时,MCP 端点会返回 **401**——含义是
「当前环境没有可用的 deta.city 登录态」,重新执行上面的登录两步即可。
`codex mcp login deta` 走 OAuth 2.1(授权码 + PKCE S256 + 动态客户端注册):终端给出
`https://deta.city/oauth/authorize?...`,在浏览器里用 deta.city 账号登录并授权即可,
随后 Codex 自行保管令牌并按 refresh token 自动续期。退出登录用 `codex mcp logout deta`。
不支持 OAuth 的宿主(dsh / 脚本 / CI)改用登录助手换取 `DETA_TOKEN`:
```bash
node ~/Dev/ant/deta-agent-plugins/plugins/deta/bin/deta-login.mjs
source ~/.deta/env # 让 DETA_TOKEN 进入当前 shell 环境
```
未登录时 MCP 端点返回 **401**,并带 OAuth 发现提示头
(`WWW-Authenticate: Bearer resource_metadata="https://deta.city/.well-known/oauth-protected-resource/mcp-api/mcp"`)——
标准 MCP 客户端据此自动进入浏览器授权流程,含义是「当前环境没有可用的 deta.city 登录态」。
## 内容