ringo
|
1d1000ddf5
|
feat(hosts): WorkBuddy 接入(install-workbuddy:本机 stdio + 技能安装 + 握手自证)
CI / contract (push) Has been cancelled
WorkBuddy 自定义 MCP 支持 command/args/env(取证:其二进制 calculateConfigHash 先判 entry.command),因此走与 Codex 同款的本机 stdio full 工具面,不退远程引擎面。
落地:① 启动器多维护一个 MCP 稳定入口 ~/.deta/bin/deta-mcp-<档位>(指向当前插件副本,升级自动刷新;WB 信任哈希按命令行算,路径稳定=升级不重弹信任);② deta-cli 新增 install-workbuddy [--http]——备份并合并 ~/.workbuddy/mcp.json(同名旧条目与旧远程条目替换掉,防双工具面)、把插件内全部技能装进 ~/.workbuddy/skills/(单一事实源,带 icon.svg)、用宿主将执行的同一条命令做真实握手自证;③ aml-design 技能两处 Codex 特有措辞改宿主中立;④ 契约校验加 E7(装配源齐备 + README 指引);⑤ 探针 scripts/verify-workbuddy.sh(配置形态/稳定入口/技能/握手/WB 日志,5 项断言)。
实测:studio 0.3.16 已装副本重跑幂等通过(握手 39 工具);writer 0.1.7 在沙箱 HOME 验证(deta_writer + report-authoring 技能 + 握手 39 工具)。WB 侧需重启并点一次信任确认。
|
2026-09-20 17:13:15 +08:00 |
|
ringo
|
7ca4923ac3
|
docs(readme): 开发态运行时根用占位符(勿把本机开发检出路径写进文档,章程 W1)
CI / contract (push) Has been cancelled
|
2026-09-20 16:40:41 +08:00 |
|
ringo
|
3ab20c23b0
|
feat(runtime): 领域服务运行时随插件分发 + 启动器自动供给(修 P0:同事机器无开发检出就起不来)
CI / contract (push) Has been cancelled
根因:启动器的运行时解析第三顺位是开发检出 ~/Dev/ant/ant-copilot,同事机器没有该目录 → 插件装上、MCP 起不来;而私有 registry 匿名读返回 401,走 npm 安装等于要求每台机器都配 Gitea token。
改法:① 打包产物随插件分发(plugins/<产品>/runtime/,3.96MB 自包含单文件 + manifest 记录来源版本/提交/大小/sha256);② 启动器每次拉起比对 sha256,缺失或被改动即从插件包安装到 ~/.deta/runtime(首次启动零操作、升级自动同步);③ 新增 deta install-runtime(显式安装 + 补装可选依赖 @resvg/resvg-js + 装完立刻做一次真实 MCP 握手自证),status/doctor 显示运行时来源与预览图依赖状态;④ 契约校验加 E6:运行时包必须自洽(sha256/字节数/manifest.pluginVersion 与插件版本一致),拦住“升版本忘重跑 sync-runtime”。
实测:全新 HOME(模拟同事机器、无开发检出、无凭据)下供给探针 10/10 通过 —— 首次启动自动安装、启动行指向沙箱运行时、install-runtime 握手 39 个工具、重复安装幂等、运行时被改动自动修复、插件包缺运行时两处都给打包缺陷指引;已装副本 0.3.14 独立验证(含 npm 自动补装 @resvg 2 包)。studio 0.3.14 / writer 0.1.5。
|
2026-09-20 16:40:33 +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
|
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 |
|
ringo
|
0aea2ac562
|
chore(plugin): 文案去内部代号 + 版本 0.2.7
- plugin.json 的 description 去掉内部引擎代号(「经 GSA 编译」→「编译为建筑模型并执行
规则校验」)——该字段在市场 UI 可见,内部代号不应出现;
- 版本三处同步 0.2.6 → 0.2.7(.codex-plugin/plugin.json / package.json /
package-lock.json 两处),供 Codex 换缓存目录生效;
- 根 README 的编译服务表述改述(底层环境变量名 DETA_GSA_URL 保留,属允许例外)。
官方校验器 validate_plugin.py:Plugin validation passed。
|
2026-09-17 14:12:03 +08:00 |
|
ringo
|
c1491f9cdc
|
feat(docs): 移除命名约定与本地路径安装说明
|
2026-09-10 18:55:13 +08:00 |
|
ringo
|
532efd0258
|
fix(plugin): MCP 服务名 deta -> deta_mcp,解除与插件名的命名空间冲突(v0.2.1)
Codex 中插件名即工具命名空间;插件内 MCP 服务同名为 deta 时模型请求被拒:
Duplicate namespace name deta: Namespace names must be unique(对照实验证实)。
改名后冲突消失,登录命令随之变为 codex mcp login deta_mcp。
|
2026-09-10 11:50:00 +08:00 |
|
ringo
|
4b924674a3
|
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(市场按版本刷新缓存)
|
2026-09-10 11:36:19 +08:00 |
|
ringo
|
9577d2e132
|
feat: MCP 后端切到 deta.city 远程端点 + 账号登录门槛
- .mcp.json / cordis.patch.yml 改为远程 streamable-http(https://deta.city/mcp-api/mcp),凭据经环境变量 DETA_TOKEN
- 新增 bin/deta-login.mjs:deta.city 账号登录,写 ~/.deta/credentials.json 与 ~/.deta/env(均 0600)
- 新增 plugins/deta/README.md:端点/凭据语义、两种宿主安装、本地 stdio 开发形态
- 本地 stdio 形态改为默认注释关闭(仅本机开发,不校验账号、不隔离工作区)
|
2026-09-10 10:53:43 +08:00 |
|
ringo
|
b5877769de
|
feat: DETA Agent Plugins 首发
一份产物、多宿主壳:同一目录既是 Codex 插件(.codex-plugin + .mcp.json + skills),
也是 dsh 组合包(dsh.bundle + cordis.patch.yml),能力本体以 MCP 服务提供、多宿主复用。
- Codex:插件市场 + deta 插件(默认市场与 API key 市场两份索引)
- dsh:组合包 manifest + 配置层(本地 stdio / 远程 streamable-http 两种形态)
- 技能:deta:aml-design(AML 唯一事实源、编译校验、围护结构统计、空间邻接)
- 文档:双壳架构对照、本地迭代(cachebuster)、已验证缺陷与上游限制
|
2026-09-10 10:35:09 +08:00 |
|