如何手搓一个mini版openclaw
🍎
如何手搓一个mini版openclaw 🍎 如何手搓一个mini版openclaw Modified April 22 开始测试 Code block Plain Text 启动服务(后台) PORT=29888 starminiclaw start 实时打印日志(录屏就用这条) tail f .runtime/starminiclaw.log 如果要复刻一个mini版的openclaw,实际上要复刻的4个最明显的特征是 1、Cron / 定时任务能力 这是它区别于普通聊天机器人的关键点之一,“自动执行”。 2、WebSocket / IM 长连接能力 这是它接入飞书这类聊天平台的关键,“实时接消息、实时回消息”。 3、AI 助手能力本身 也就是模型调用、对话处理、工具调用“会思考、会执行”。 4、服务管理层 / 运维层 本地安装成系统服务、开机自启、崩溃恢复、配置管理 第四项可以后期再补充,我们要做的就是先比葫芦画瓢。整个下来只用提供下面三个值就可以先复现openclaw的核心前三个👆核心特征功能才是我们要的。 提示词 Code block Plain Text 帮我开发一个本地部署的个人 Agent 网关。 它能通过飞书接收用户指令,调用 AI 和本地工具执行任务,并支持定时自动运行。 目标是先做出 MVP,优先跑通这条主链路: 飞书创建任务 本地服务接收 AI 执行 定时触发 结果回飞书 必须实现四个闭环: 1. 消息接入闭环 使用飞书官方 SDK 通过 WebSocket 长连接接收消息和事件 支持认证、心跳、重连 支持消息回复 2. AI 执行闭环 支持模型调用 支持普通对话处理 支持工具调用:文件读写、shell 执行 工具调用必须限制在 workspace 内,保证路径安全 3. 任务调度闭环 支持通过飞书自然语言创建定时任务 支持 Cron 和简单间隔表达 到点后自动执行 AI 任务 自动将结果发回飞书 支持失败重试(最多 3 次) 支持执行历史记录 4. 服务运维闭环 必须提供本地 CLI 命令工具,命令名为 必须支持: 必须后台运行并立即返回终端提示符(不可前台阻塞) 必须返回 PID、端口、健康状态(调用 /health) 必须提供日志文件与 PID 文件路径(例如 .runtime/ .log, .runtime/ .pid) 允许通过 npm link 后直接使用命令 补充要求: 提供 HTTP API,默认端口 29888 以 MVP 为主,不要先做复杂 UI 不要优先实现热重载、自动修复、自动备份、开机自启等增强功能,除非主链路已经完成 请直接输出:架构设计、模块划分、数据结构、API、目录结构、MVP 实现步骤和核心代码 补充 Code block Plain Text FEISHU APP ID FEISHU APP SECRET OPENAI API KEY 应用的开权限、长连接时间爱呢 要开的权限和之前写过的一样,我放文末了自己直接复制就行了。 同样的和以前一样,提取 Code block JSON "task:task:write", "wiki:wiki:readonly" ], "user": [ "aily:file:read", "aily:file:write", "base:app:copy", "base:app:create", "base:app:read", "base:app:update", "base:field:create", "base:field:delete", "base:field:read", "base:field:update", "base:record:create", "base:record:delete", "base:record:retrieve", "base:record:update", "base:table:create", "base:table:delete", "base:table:read", "base:table:update", "base:view:read", "base:view:write only", "board:whiteboard:node:create", "board:whiteboard:node:read", "calendar:calendar.event:create", "calendar:calendar.event:delete", "calendar:calendar.event:read", "calendar:calendar.event:reply", "calendar:calendar.event:update", "calendar:calendar.free busy:read", "calendar:calendar:read", "contact:contact.base:readonly", "contact:user.base:readonly", "contact:user.employee id:readonly", "contact:user:search", "docs:document.comment:create", "docs:document.comment:read", "docs:document.comment:update", "docs:document.media:download", "docs:document.media:upload", "docs:document:copy", "docs:document:export", "docx:document:create", "docx:document:readonly", "docx:document:write only", "drive:drive.metadata:readonly", "drive:file:download", "drive:file:upload", "im:chat.access event.bot p2p chat:read", "im:chat.members:read", "im:chat:read", "im:message", "im:message.group msg:get as user", "im:message.p2p msg:get as user", "im:message:readonly", "offline access", "search:docs:read", "search:message", "sheets:spreadsheet.meta:read", "sheets:spreadsheet:create", "sheets:spreadsheet:read", "sheets:spreadsheet:write only", "space:document:delete", "space:document:move", "space:document:retrieve", "task:comment:read", "task:comment:write", "task:task:read", "task:task:write", "task:task:writeonly", "task:tasklist:read", "task:tasklist:write", "wiki:node:copy", "wiki:node:create", "wiki:node:move", "wiki:node:read", "wiki:node:retrieve", "wiki:space:read", "wiki:space:retrieve", "wiki:space:write only" ] } } 开始测试 如果要复刻一个mini版的openclaw,实际上要复刻的4个最明显的特征是 1、Cron / 定时任务能力 这是它区别于普通聊天机器人的关键点之一,“自动执行”。 2、WebSocket / IM 长连接能力 这是它接入飞书这类聊天平台的关键,“实时接消息、实时回消息”。 3、AI 助手能力本身 也就是模型调用、对话处理、工具调用“会思考、会执行”。 4、服务管理层 / 运维层 本地安装成系统服务、开机自启、崩溃恢复、配置管理 第四项可以后期再补充,我们要做的就是先比葫芦画瓢。整个下来只用提供下面三个值就可以先复现openclaw的核心前三个👆核心特征功能才是我们要的。 提示词 补充 应用的开权限、长连接时间爱呢 要开的权限和之前写过的一样,我放文末了自己直接复制就行了。 同样的和以前一样,提取