aiti-devtools-opencode(OpenCode 宿主适配)
大约 2 分钟
aiti-devtools-opencode(OpenCode 宿主适配)
❝ 官方的界面已经够好——我们只加一层,不抢整个门面。 ❞
把 aiti-devtools 完整接入 OpenCode(sst 开源编码 agent)——host 插件 + 官方 web UI 即 AI 窗:
- host 插件(
@opencode-ai/plugintool()工厂,不走 MCP):进程内注册 16 个aiti_*工具 + 桥 SSE 推送注入(cockpit 发消息 → 插件注入 → 模型主动调工具作答)+session.idle回答回桥;桥不可达时注册占位探测工具兜底(bridge_status/page_exec 给指引),不拖垮 opencode - 占位符改写:
experimental.chat.messages.transform原位改写只碰最后一条 user 消息——[元素N]→ 完整 describe +[发自: pageId · url];历史保留原占位符,只有 LLM 输入被展开;桥收到aiti_consumed同步清 picked(防冷启动僵尸候选) - web UI AI 窗(不 fork):nginx 反代剥 CSP +
sub_filter注入aiti-client-opencode.js+/aiti/同源挂桥——候选条 / 详情弹窗 / 交互卡 / 占位符全量长在官方界面上;桥经--assets-extraserve 适配脚本,client 桥地址从脚本 src 自动推导(零配置) - 交互卡:模型调
aiti_user_confirm/choose/input→ 桥推 AI 窗 → web UI 本地渲染卡(右下角)→ 作答回桥 → 模型收到 - E2E 全环已验证(2026-08-24 opencode 1.1.51;2026-11-07 复检 0.3.1 / opencode 1.19.5——core 0.3.10 重建 + devDep SDK 对齐 1.19.5,npm 路由 docker 全新装零磕碰 / 真实 Chrome):工具改页面标题、推送注入、候选条、占位符替换 + 消费清空、交互卡作答