ringo
|
2d9bc908e1
|
feat(runtime): 运行时随 open_studio 本机回落更新(f236e99),studio 0.3.17 / writer 0.1.8
CI / contract (push) Has been cancelled
|
2026-09-20 17:42:13 +08:00 |
|
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
|
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
|
abb5835310
|
fix(plugin): 品牌标字段改用官方口径 logo/logoDark(PNG/SVG 均可),studio 0.3.13 / writer 0.1.4
CI / contract (push) Has been cancelled
上一版把技能字段 iconSmall/iconLarge 写进了插件清单——插件不认这两个键,卡片图标不会显示。对照官方内置插件(latex/visualize/deep-research)的真实清单,插件品牌标是 interface.logo + interface.logoDark(相对插件根,PNG 或 SVG 都接受;latex 用 512×512 PNG,visualize 用 SVG),而 iconSmall/iconLarge 属于**技能**的 SkillInterface。
本提交:assets/logo.svg(浅色,门店 favicon 同源)+ assets/logo-dark.svg(深色,填色 #e5e5e5,与 @deta/ui Logo 的 currentColor 行为一致),interface.logo/logoDark 指向二者并移除 iconSmall/iconLarge;契约校验 E5 改为校验 logo/logoDark(缺失/越界/文件不存在均报错,hint 里点明 icon* 是技能字段)。已装副本 interface 键序与官方一致。
|
2026-09-20 16:32:29 +08:00 |
|
ringo
|
774e27cfc8
|
feat(plugin): 品牌图标用 deta.city logo(iconSmall/iconLarge + 契约守卫 E5),studio 0.3.12 / writer 0.1.3
CI / contract (push) Has been cancelled
plugin.json 的 interface 补 iconSmall/iconLarge = ./assets/logo.svg(与门户 favicon 同一份 brand 标),brandColor 由 #2F6F4E 改为 #333333 对齐品牌标与门店令牌色。契约校验新增 E5:图标必须是插件根内相对路径且文件存在(实测写坏能抓到)。
|
2026-09-20 16:28:15 +08:00 |
|
ringo
|
d137a012c6
|
docs(skill): 候选比选口径(预览图走工具结果、wall_roles/unit_door 契约),studio 0.3.11
CI / contract (push) Has been cancelled
ask_user 卡片协议上装不下图 → 预览图随 generate_candidates 的工具结果回(宿主显示),选项文字按序号引用;补 wall_roles 列表形态与 unit_door.offset 0~1 的实测契约。
|
2026-09-20 16:11:44 +08:00 |
|
ringo
|
ce1815658b
|
chore(skill): ask_user 双回执口径写进 skill,studio 0.3.10
CI / contract (push) Has been cancelled
宿主支持 MCP elicitation 时用户选择随工具结果返回(via=elicitation + answers,据此继续);不支持时保持结构化回执并等宿主注入【用户决策】。多选题自动走回执形态。
|
2026-09-20 16:00:51 +08:00 |
|
ringo
|
26e293f916
|
feat(skill): 插件 skill 补设计流程知识(决策闸门/阶段准入/四轨与 GSA 端口/知识索引),studio 0.3.9
CI / contract (push) Has been cancelled
用户反馈:用 deta 插件时感觉 skills 知识利用不足——插件 skill 原本只是一份工具手册(206 行),不含 DSL 领域知识、四轨关系、决策门禁、阶段准入门槛、GSA 端口,也没告诉模型 read_reference 这条路存在(而领域知识(workflow-stages 9.8K/D0-D8 全套闸门等)其实已在 MCP 里可达)。
新增四节:★领域知识必须先加载(read_reference 索引表 + 何时读哪份)· 设计流程与决策闸门(三阶段 + D0-D8 + ask_user 用法 + 渐进生成 + 禁止替用户决策)· 阶段准入门槛(每个阶段必须先有什么数据、判据是什么,含'未编译不得宣称完成')· 四轨关系与 GSA 端口速查 + 脚本参数自愈用法。
|
2026-09-20 15:15:38 +08:00 |
|
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 |
|