
CompozyOS开发者指南如何用Go与TypeScript SDK构建你的第一个扩展【免费下载链接】compozyAn operating system for AI agents. Plug in the agent CLIs you already use (Claude Code, Codex, Gemini CLI, Cursor) and they become a team: they split the work, hand tasks to each other, run automated on jobs and loops, and share one project memory. You steer everything from the browser.项目地址: https://gitcode.com/gh_mirrors/co/compozyCompozyOS 是一款 AI Agent 操作系统接入你已在用的 Agent CLIClaude Code、Codex、Gemini CLI 等让它们组成一个团队分工协作并共享同一份项目记忆。而 CompozyOS 扩展Extension正是你给这个系统加装新能力的官方方式——用 Go 或 TypeScript 两行注册代码就能为你的 Agent 团队添上自定义工具、操作员命令和提示词钩子。本指南带你从零完成第一个 Compozy 扩展。一、Compozy 扩展能做什么CompozyOS 的设计哲学是一个守护进程daemon拥有全部运行时状态会话、任务、Loop、记忆都归属于本地 daemon而扩展只负责通过公开契约注入行为绝不绕过运行时。具体来说一个扩展可以声明三类东西工具ToolAgent 可直接调用的函数例如clarify/ask向操作员提一个有界问题操作员命令Command把工具投影成compozy extension exec下的命令行动词人类与 Agent 走同一个入口钩子Hook监听运行时事件如prompt.post_assemble在提示词组装后注入工作区上下文。这三类能力在仓库里都有完整可运行的参考样例建议直接读源码学习Go 工具样例sdk/examples/clarify-tool/main.goGo 命令样例sdk/examples/notes-commands/main.goTypeScript 钩子样例sdk/examples/prompt-enhancer/src/index.ts二、如何选型Go SDK 还是 TypeScript SDKCompozyOS 提供两套与 daemon 版本严格对齐的 SDKnpm 上的compozy/extension-sdk和 Go 模块github.com/compozy/compozy/sdk/go选型建议如下维度Go SDKTypeScript SDK适合场景高性能工具、命令型扩展钩子、与 Node 生态集成代码风格代码优先代码即声明显式清单手写extension.toml核心入口sdk/go/extension.gosdk/typescript/src/extension.ts参考样例sdk/examples/clarify-tool/sdk/examples/prompt-enhancer/新手速记想注册工具或命令选 Gocompozy extension build会自动生成清单想监听事件、做提示词增强选 TypeScript。三、Go 三步走构建你的第一个工具扩展CompozyOS 把从零到调用压缩成三条命令compozy extension init hello --template tool-provider-go compozy extension dev hello compozy tool invoke ext__hello__search --workspace . --input {query:compozy}dev命令会完成编译、以 describe 模式运行、生成extension.toml清单并链接到当前工作区——由于是你自己的代码全程无信任策略弹窗。以官方clarify-tool为例核心代码只有三步声明ExtensionDefinition名称、版本、权限→ 用compozysdk.Tool注册带 JSON Schema 输入的工具 → 调用extension.Run启动运行时。注册时声明的唯一权限是clarify/askdaemon 会把每次提问自动绑定到当前会话与工作区扩展无法越权伪造调用身份——这就是公开契约的价值。四、进阶把工具变成操作员命令notes-commands样例展示了完整的命令面扁平叶子add、声明式分组list、嵌套叶子list/recent以及各类投影 flag必填字符串、可重复数组、带默认值的整数、字符串枚举。它的精髓在于一份声明、两个入口每个工具同时是操作员命令和 Agent 可调用的工具compozy extension exec notes --cmd add --text ship the beta --tag release compozy tool invoke ext__notes__list_recent --workspace . --input {limit:3}由于每个exec都执行同一次工具调用Agent 与人类看到的永远是同一份行为定义不会产生两套逻辑。五、TypeScript 扩展钩子与 Host APIprompt-enhancer是 TypeScript 侧的参考实现清单文件 sdk/examples/prompt-enhancer/extension.toml 明确了三个声明区[[resources.hooks]]注册prompt.post_assemble同步钩子提示词组装后由子进程执行[subprocess]常驻运行时入口node dist/index.js serve[permissions]只申请sessions/list。代码侧用new Extension(...)定义名称与能力extension.onReady中通过 Host API 调用host.sessions.list()。样例还故意发起了一次未授权的sessions/create调用演示 daemon 如何返回类型化的能力拒绝错误——这正是扩展安全模型的边界权限没申报调用就失败。六、扩展的日常开发命令命令用途compozy extension list -o json列出全部扩展compozy extension status name -o json查看状态compozy extension logs name --follow跟踪扩展日志compozy extension build name从代码生成清单并构建资源型扩展纯 Markdown/JSON 资源甚至可以手写extension.toml后直接走 build/dev/reload/watch 循环无需运行任何代码。七、下一步学什么完整样例索引与运行方式sdk/examples/README.md官方 CompozyOS 技能包含扩展开发指引skills/compozy/扩展与 SDK 发布机制总览README.md掌握init → dev → invoke的三步循环后你已经可以构建并调试自己的第一个 CompozyOS 扩展了。把工具、命令与钩子组合起来你的 Agent 团队就多了随取随用的新能力 【免费下载链接】compozyAn operating system for AI agents. Plug in the agent CLIs you already use (Claude Code, Codex, Gemini CLI, Cursor) and they become a team: they split the work, hand tasks to each other, run automated on jobs and loops, and share one project memory. You steer everything from the browser.项目地址: https://gitcode.com/gh_mirrors/co/compozy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考