摘要
1) 一句话总结 OpenClaw 是一个持续运行 Claude Code 的开源系统,通过 Docker 隔离部署、严格的权限管理和动态技能配置,可将其打造为高效的专属个人 AI 助手。
2) 核心要点
- 前置条件与成本:需获取 Claude Code 访问权限(需提供 Token),推荐使用每月 20 美元、100 美元或 200 美元的固定订阅方案,不建议使用成本较高的 API 按量付费。
- 推荐部署方式:建议直接通过 Claude Code 将 OpenClaw 部署在独立的 Docker 镜像中,以确保环境隔离(提升安全性)并便于镜像的备份与迁移。
- 多角色定制:可通过仪表板为代理(Agent)设定名称和性格,支持同时设置多个专注于不同领域的机器人(如个人事务助手、销售机器人)。
- 权限管理:授权需严格遵循“最小权限原则”,仅赋予代理执行任务所需的最低访问权限(如 Slack、Gmail、GitHub、Linear 或 CRM 系统)。
- 技能系统(Skills):必须通过指令“将此存储为技能(store this as a skill)”来保存特定行为规范(如 GitHub PR 审查偏好、邮件过滤规则、日历交互方式),代理在执行相关任务时会动态加载这些技能。
3) 风险与不足
- 指令模糊导致执行失败:OpenClaw 的计划逻辑与人类不同且缺乏全局上下文,若提供的任务计划存在歧义或不够具体,代理将难以实现用户意图。
- 非结构化记忆无效:仅要求代理“把事情记住”效果不佳,必须将所有重要信息明确存储并持续更新为独立的“技能”才能确保其按预期运作。
- 自主运行的安全风险:代理在被授权的系统中完全自主运行,若未严格限制权限或未进行环境隔离(如不同代理之间共享信息和密钥),可能引发安全问题。
正文
OpenClaw 已迅速成为运行 Claude Code 的知名开源系统。它本质上是一个可以无限期运行 Claude Code 的系统,让你能够将其设置为专属的个人 AI 助手。
你可以设置 OpenClaw 来为你执行各种任务,例如:
- 审查 GitHub 的 Pull Request
- 分析电子邮件
- 浏览互联网
在过去的一周里,我设置了许多不同的 OpenClaw 系统作为我的机器人,专门用于不同的应用领域。在本文中,我将介绍如何在我自己的系统上设置 OpenClaw,确保实施过程既安全又能提高我作为工程师的工作效率。我将涵盖应该在哪里设置、如何设置、推荐的运行方式,以及如何充分利用 OpenClaw。
为什么要设置 OpenClaw 助手?
在电脑上设置 OpenClaw 的首要原因很简单:它能让你变得更高效。你可以设置它来自动化各种不同的任务,并帮助你组织所有的工作。
例如,你无需再手动翻阅邮件寻找相关信息并构思回复,只需让 OpenClaw 每天分析你的所有邮件,教它辨别哪些邮件相关、哪些无关,并让它生成你可以授权发送的回复示例。
你还可以让 OpenClaw 访问你的 GitHub 个人主页,在相关的 Pull Request 中提到你时通知你。它可以像你一样分析 Pull Request 并提出审查意见。
OpenClaw 最棒的地方在于它的个性化能力:你可以准确地告诉它该如何表现,并随着时间的推移不断教导它,让它变得越来越出色。这正是你对个人助手所期望的——它一开始就具备很强的能力,而且你教得越多,它的能力就越强。
如何部署 OpenClaw
在这一部分,我将介绍我是如何部署 OpenClaw 的。部署方法和可以设置的应用有很多种。为了保持简单具体,我将分享我的具体做法以及连接的应用程序,为你提供灵感。不过,这并没有唯一正确的标准答案,最适合你的方式取决于你自己的工作流。
获取 Claude Code 访问权限
首先,你需要获得 Claude Code 的访问权限。Claude Code 提供三种不同的订阅等级,每月提供固定的使用额度,价格分别为每月 20 美元、100 美元和 200 美元。
我平时也会使用 Claude Code 进行其他编程工作,所以我订阅了最高等级。这样我就可以将同一个订阅用于 OpenClaw 助手,并且使用量仍远低于每月的限制。
你也可以通过 API 按量付费(Pay Per Use),但我不推荐这种方式,因为它的成本很快就会超过上述订阅方案的等效使用量。
获得 Claude Code 访问权限后,你可以运行命令设置一个 Token,在设置 OpenClaw 时提供给它。请记住,不要与任何人分享这个 Token,因为它包含了你 Claude Code 订阅的访问权限。
在独立环境中运行 Docker 镜像
你可以根据操作系统下载并安装 OpenClaw。不过,另一种可能也是最简单的设置方法,就是直接让 Claude Code 帮你设置。只需向 Claude Code 提供上面提到的 Token,它就能为你配置好助手。我已经这样操作过三次,每次都能完全按照我的意愿成功设置。
在设置助手时,我建议让 Claude Code 将其设置为电脑上的不同 Docker 镜像。这有几个好处:
- 代理(Agent)将在隔离的环境中运行,无法访问不该访问的内容。这对于安全问题至关重要。
- 作为 Docker 镜像运行,可以轻松移动和备份代理。你可以直接下载 Docker 镜像并在另一台电脑上使用,或者将镜像存储在 Docker Hub 上作为备份。
你只需告诉 Claude Code 在 Docker 中设置一切,它就会代劳,你不需要自己动手。
个性化定制 OpenClaw
使用 Claude Code 设置好 OpenClaw 后,你应该对其进行个性化定制。让 Claude Code 在你常用的浏览器中打开 OpenClaw 仪表板,然后开始与你的代理聊天。代理会询问你的名字以及它的称呼,你还可以赋予它一种性格。
我设置了多个不同的机器人。例如,我设置了一个具有我个人性格的私人助手,它试图保持绝对理性,只为我提供需要做的事情和需要注意的事项的简明摘要。我还设置了一个销售机器人,它的态度有所不同,思维非常积极,并且我让它访问了相关的销售资料。
通常,你只需与代理聊天并告诉它记住某些事情。OpenClaw 随后会将重要信息存储在记忆中,以便日后使用。
权限管理
为 OpenClaw 设定好性格后,你应该开始为它分配权限。在给代理授权时,应遵循“最小权限原则”,即只提供执行操作所需的最低权限。对于我的个人机器人,我授予了以下权限:
- Slack(用于我们之间的沟通)
- 我的电子邮件和日历(以便它阅读邮件和安排会议)
- Linear(以便我查看需要完成的不同任务)
- GitHub(以便它代表我在 GitHub 上执行操作)
我还设置了另一个作为销售机器人的代理。这个机器人被授予了 CRM 系统的访问权限,可以在那里获取所有相关的销售资料。我也给了它 Slack 权限以便沟通。
总的来说,你赋予代理的权限对其能做的事情至关重要。如果你想让它执行某项操作,就需要赋予它相应的访问权限。然而,你也应该对授权保持谨慎,因为你的代理将在这些系统中完全自主地运行。
技能设置
设置 OpenClaw 另一个极其重要的部分是提供技能。如果你想让 OpenClaw 记住以后的事情或以特定方式行事,你需要为它提供技能。要提供 OpenClaw 技能,你只需在提供一些信息后告诉它“将此存储为技能(store this as a skill)”。
以下是我创建的一些技能示例:
- GitHub 技能:告诉代理它应该如何代表我在 GitHub 上行事。例如,它规定了我进行 Pull Request 审查的方式(我让代理分析了我之前所有的审查记录,以了解我的偏好)。
- Gmail 技能:告诉代理哪些我不关心的邮件应该自动标记为已读,以及哪些邮件应该在每日简报中通知我。
- Slack 技能:告诉代理如何在 Slack 上互动,例如始终在帖子(threads)中回复,而不是发送新消息。
- 日历技能:准确告诉代理如何读取我的日历、通知我会议、如何与他人预约会议,以及如何与 Google Calendar API 交互。
通常,每当我想让代理执行某项操作时,我都会尽量为它提供相关的技能。当代理被要求执行与特定技能相关的任务时(例如阅读邮件),该技能就会被动态加载。
OpenClaw 的局限与注意事项
在过去的一周里,我对 OpenClaw 进行了大量实验。我发现有些情况下它开箱即用,效果极佳;但也注意到有些场景下它表现不佳。你需要注意两个主要行不通的地方:
- 指令模糊不清
- 仅仅告诉代理“把事情记住”
指令模糊行不通,因为 OpenClaw 的计划方式与人类不同,而且它无法访问所需的所有上下文。因此,在为 OpenClaw 设置任务时,你应该确保有一个非常具体的计划,并避免任何歧义。
为了做到这一点,我建议在尝试实施之前先与 LLM 进行讨论,然后在实际操作时做到极其具体。后续更改计划不是问题,OpenClaw 会自行适应;但如果你提供了一个非常模糊的计划,OpenClaw 会非常挣扎,很可能无法实现你的意图。
此外,仅仅告诉代理“把事情记住”效果也不好。一般来说,你应该确保将所有重要信息存储在“技能”中。每当你教给代理一些具体的东西时,告诉它要么将其添加到之前创建的相关技能中,要么用这些信息创建一个新技能。当代理执行操作时,这些技能就会被加载。
例如,如果你为代理提供了一个阅读邮件的技能,那么每当代理处理邮件时,这个技能就会被加载。因此,如果你希望代理在阅读或发送邮件时以特定方式表现,你应该将其存储在一个独立的技能中。
我强烈建议确保代理将所有相关信息存储在明确的技能中,并且你要跟踪这些技能,随着信息的增加不断更新它们。
总结
在本文中,我介绍了如何设置 OpenClaw。只要你已经订阅了 Claude Code,就可以免费设置 OpenClaw。在设置时,你应该将其部署在独立的 Docker 容器上,隔离每个环境,并确保不同的代理无法访问彼此的信息和密钥。
创建一个 OpenClaw 助手对我来说非常强大,在设置不到一周的时间里,我已经注意到了效率的巨大提升。然而,我也发现了一些代理表现不佳的场景,在设置助手时必须考虑到这些情况。总而言之,关键在于尽可能具体,并让代理将所有相关内容存储为可以按需动态加载的技能。