Commit Graph
8 Commits
Author SHA1 Message Date
ringo ef6a174255 fix(launcher): 注入 ANT_WORKSPACE_BRIDGE_URL(云项目写入前置),studio 0.3.8
CI / contract (push) Has been cancelled
缺该 env 时 build_model 无法写云项目、退回只写本地工作区(用户以为已同步)。启动器改为:显式 env → 本机 127.0.0.1:3180 探测(dev 网关)→ 生产 https://deta.city/workspace-api,并把解析结果打进启动行(网关桥=…)便于排查。

陷阱:探测写成 (exec 3<>/dev/tcp/...) 后不要紧跟 exec 3<&- —— 父 shell 无该 fd 时在 set -e 下会直接退出脚本(症状:启动行只剩一行提示、MCP 不启)。
2026-09-20 14:12:50 +08:00
ringo ec9db45b6a chore(plugin): 缺令牌时的启动提示改指 login 工具(浏览器一键),studio 0.3.7
CI / contract (push) Has been cancelled
2026-09-20 13:56:47 +08:00
ringo c77d2fe864 docs(plugin): 登录口径改为浏览器一键授权(不需要终端),studio 0.3.6
CI / contract (push) Has been cancelled
配合 ant-copilot 新增的 login 工具(回环 OAuth 授权):技能里 auth_required 的处置从"让用户去终端跑命令"改为"调 login 工具 + 浏览器点一下允许";三份 README 同步,终端助手降为无 login 工具形态(CLI 等)的兜底。
2026-09-20 13:46:54 +08:00
ringo 36347f3222 docs(skill): 新建项目改走 create_project(云端唯一工具入口),studio 0.3.5
CI / contract (push) Has been cancelled
原指引「先在门户创建云项目拿到 ID,再 push_project 绑定」在工具面补上 create_project 之后已过时:模型会因此拿 push_project 去绑定不存在的 ID,或让用户去门户手工建。改为:先 create_project({name}) 拿 projectId 与 Studio 深链,再 build_model / push_project 把模型放进去。
2026-09-20 13:32:13 +08:00
ringo 5778962ba5 fix(plugin): 产品档位改读插件清单,修缓存布局下把版本号当产品名
CI / contract (push) Has been cancelled
症状(实测):宿主缓存布局是 <市场>/<插件>/<版本>/,deta-cli 原先用「自身目录名的上一级」推断产品名,于是 status 显示工作区 ~/.deta/0.3.3/workspace,doctor 会以 --profile 0.3.3 拉起服务并真的创建该目录。

修复:detectProfile 优先读 .codex-plugin/plugin.json 的 name(开发态与缓存态都对),DETA_PROFILE 仍可覆盖,清单不可读才回落目录名。studio 0.3.4 / writer 0.1.2。

验证:重装 0.3.4 后 status 显示 /Users/ringo/.deta/studio/workspace,doctor 以 --profile studio 握手成功 37 工具。
2026-09-20 12:13:10 +08:00
ringo 54924cd4fc feat(plugin): 稳定命令行入口 ~/.deta/bin/deta(login / status / doctor)
CI / contract (push) Has been cancelled
为什么需要:登录助手原先只在插件目录里(宿主缓存路径 <缓存>/bin/deta-login.mjs),普通用户不知道插件装在哪;工具回执让用户「跑登录助手」时给不出可复制的命令。

实现:新增 bin/deta-cli.mjs(login 转交登录助手、status 看凭据来源/运行时/工作区、doctor 自检运行时+凭据+GSA health+MCP 握手,永不打印令牌);启动器每次拉起时幂等注册 ~/.deta/bin/deta(路径随插件更新自动刷新,幂等比较避免重复写);技能与三份 README 的登录口径统一为 \`~/.deta/bin/deta login\`。版本 studio 0.3.3 / writer 0.1.1。

实测:shim 生成与 help/status/doctor 均符合预期,doctor 准确报出唯一缺口(未登录)并握手成功 37 工具。
2026-09-20 12:10:49 +08:00
ringo e7d372f939 fix(plugin): 云令牌改由启动器解析,清掉废弃的 MCP 授权指引
CI / contract (push) Has been cancelled
症状:装好插件后调 list_projects 返回 auth_required,模型被技能里"先让用户完成 MCP 授权(codex mcp login deta_mcp)"带偏,用户卡在登录环节。

根因两条:① 启动器只透传环境变量 DETA_TOKEN,而 Finder/Dock 启动的桌面应用不继承终端环境,登录助手写的 ~/.deta 凭据根本进不去宿主进程;② 技能/README 仍留着远程形态的 OAuth 指引,本机形态里那条命令不存在。

修复:启动器按 DETA_TOKEN 环境变量 → ~/.deta/env → ~/.deta/credentials.json 顺序解析令牌并在 stderr 报告来源(不打印值);技能改为"让用户跑登录助手 → 开新会话",并明确区分 MCP 侧云令牌与面板侧 deta.city 登录;两份 README 的登录流程改为"登录一次、开新会话即可"(无需 source / launchctl / 改 .zshrc / 重启应用)。studio 0.3.1 → 0.3.2。

实测(隔离 HOME):四种取令牌路径与优先级、缺令牌时的引导文案均符合预期。
2026-09-20 12:02:24 +08:00
ringo 7d3f9e2933 refactor(plugin)!: 插件改名 studio、新增 writer、统一本机 stdio 管道
CI / contract (push) Has been cancelled
命名结构(品牌=市场,产品=插件):市场名保持 deta;插件 deta → studio(displayName DETA Studio),新增 writer(DETA Writer)。安装标识 studio@deta / writer@deta;MCP 服务名 studio_mcp / writer_mcp,可同时安装。plugins/deta → plugins/studio(git mv 保留历史),新增 plugins/writer。

连接形态统一为单一本机 stdio 管道:.mcp.json 与 cordis.patch.yml 均声明 stdio → bin/deta-mcp.sh --profile <产品>,并按官方插件写法补 cwd: "."(缺它时 Cwd=- ,相对命令按宿主进程 cwd 解析会静默起不来);启动器新增 --profile 档位(工作区 ~/.deta/<产品>/workspace、工具面缺省 full),运行时按 DETA_SERVER_ROOT → ~/.deta/runtime → 开发检出解析,入口优先打包产物;DETA_TOKEN 可选注入(缺省时云类工具返回 auth_required)。原远程端点声明(含 OAuth/401 段落)从插件移除。

文档与治理:根 README 与两个插件 README 改为单一管道口径;技能 aml-design 对齐本机全量面;新增 scripts/check-plugin-contract.mjs(E1 禁工具清单 / E2 必须给出 list_capabilities / E3 禁解释内部实现 / E4 市场条目一致性 / W1 开发检出依赖)与 .gitea/workflows/ci.yml。版本:studio 0.3.1、writer 0.1.0。
2026-09-20 11:56:23 +08:00