惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
Microsoft Azure Blog
Microsoft Azure Blog
aimingoo的专栏
aimingoo的专栏
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
Martin Fowler
Martin Fowler
B
Blog
The GitHub Blog
The GitHub Blog
T
Tailwind CSS Blog
Stack Overflow Blog
Stack Overflow Blog
L
LangChain Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
DataBreaches.Net
月光博客
月光博客
人人都是产品经理
人人都是产品经理
IT之家
IT之家
GbyAI
GbyAI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog
C
Check Point Blog
罗磊的独立博客

博客园 - 我才是银古

第16章:常见问题、排错与最佳实践 第15章:扩展生态、MCAD 与外部集成 第12章:实战案例:机械结构与 3D 打印零件 第14章:构建、测试、调试与贡献流程 第13章:OpenSCAD 源码架构与核心执行流程 第11章:预览、渲染、网格精度与性能优化 第09章:列表推导、递归与算法建模 第08章:参数化零件库与复用设计 第10章:导入导出、命令行与自动化 第06章:CSG 布尔建模方法 第07章:二维图形、拉伸、旋转与投影 第05章:基础几何、坐标系与变换 第04章:参数、变量、函数、模块与作用域 OpenSCAD 教程目录 第03章:OpenSCAD 语言基础 第02章:安装、环境配置与开发工作流 第01章:OpenSCAD 项目全景与学习路线 第02章:源码获取、编译与开发环境配置 第01章:OCCT项目全景与学习路线 第18章:二次开发实战与综合案例 第17章:与 Qt VTK Python pythonOCC 生态集成 第18章:综合实战案例 第17章:数据交换与协同 第16章:源码架构与二次开发 第15章:插件与自定义工作台开发 第14章:Python脚本宏与自动化 第13章:FEM仿真分析 第12章:CAM数控加工 第11章:SurfaceMesh与逆向工程 第10章:Draft二维绘图与BIM建筑
第十一章:源码结构、开发调试与插件开发
我才是银古 · 2026-05-04 · via 博客园 - 我才是银古

第十一章:源码结构、开发调试与插件开发

开发者可通过源码研究 Gateway、通道、工具、插件和 UI。官方推荐源码 checkout 使用 pnpm workspace。

11.1 源码开发流程

git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm openclaw setup
pnpm ui:build
pnpm gateway:watch

需要构建 dist:

pnpm build
pnpm ui:build

pnpm openclaw ... 通常通过 TypeScript 直接运行;pnpm gateway:watch 是开发循环;修改 UI 后需要重新构建或使用 UI dev 命令。

11.2 仓库结构

重要目录:docs/ 文档,extensions/ 插件与通道,apps/ 伴随应用,skills/ 内置技能,scripts/ 构建与发布脚本,config/ 配置资源,deploy/ 部署资源,Dockerfile/docker-compose.yml 容器化,package.json npm 包定义。

11.3 插件能扩展什么

插件可扩展通道、工具、模型 provider、技能、语音、转录、图片/音乐/视频生成、Web fetch/search、诊断和监控。插件通常通过 manifest 声明 contracts,通过 SDK 注册能力,并提供配置 schema。

11.4 通道插件设计

通道插件要处理认证、入站事件、出站能力、稳定发送者 ID、群聊/私聊差异、媒体、去重、重连、健康检查、日志脱敏、配置 schema、DM policy、group policy 和 pairing。难点不是发送一条消息,而是正确融入 Gateway 安全与会话模型。

11.5 工具插件设计

工具要定义名称、描述、输入 schema、输出结构、权限风险、依赖、是否有副作用、是否需要 confirmation 或 dry-run。高风险工具必须有清晰文档,并配合 allow/deny、approval 和沙箱。

11.6 技能随插件分发

插件可附带技能,让 Agent 知道如何使用插件工具。插件技能优先级较低,用户可以用工作区技能覆盖。工具提供能力,技能提供方法,两者配合才能稳定发挥效果。

11.7 配置 schema

良好插件应提供字段类型、默认值、title/description、必填项、枚举、secret 标记和错误提示。Control UI 和 Gateway 校验都依赖 schema。

11.8 调试建议

使用测试 workspace、测试账号和低权限 token;打开 verbose 日志;运行 openclaw doctor;为权限拒绝、token 过期、重连、去重和危险工具写测试;不要把真实 secret 写入测试快照。

11.9 小结

源码开发要围绕 Gateway 模型思考。通道、工具、插件都要接入配置、schema、日志、安全、会话、健康检查和 UI,而不是孤立实现。