chore: lint text and auto correct

This commit is contained in:
github-actions[bot]
2026-02-04 16:08:10 +00:00
committed by GitHub
parent 1c6158f07b
commit 38559d4955
3 changed files with 39 additions and 39 deletions

View File

@@ -1,7 +1,7 @@
---
title: OpenClaw虽好, 搭配沙箱才安心 - 使用Lume构建mac虚拟环境
title: OpenClaw 虽好搭配沙箱才安心 - 使用 Lume 构建 mac 虚拟环境
date: 2026-02-04
description: OpenClaw 这种应用最吸引人、最方便的地方在于 ta 可以成为「代理」, 去执行任何「你可以做」的事. 你能做, ta 就能做. 不过前提便是宽松的权限管理, 超级多的权限.下面介绍一个 基于 lume 的 Mac OS 虚拟机方案, 将其作为沙箱环境节点供 openclaw 调用.
description: OpenClaw 这种应用最吸引人、最方便的地方在于 ta 可以成为「代理」, 去执行任何「你可以做」的事你能做ta 就能做不过前提便是宽松的权限管理超级多的权限下面介绍一个 基于 lume 的 Mac OS 虚拟机方案将其作为沙箱环境节点供 openclaw 调用
categories:
- 技术
- 指南
@@ -14,20 +14,20 @@ tags:
![open-claw-img|700x368](https://openclaw.ai/og-image.png)
近日 OpenClaw(原 Clawdbot, 曾用名 Moltbot)爆火, 独立自主操控电脑完成各种任务, 一个挺 fancy 的 agent 应用. 结合 moltbook 网站的新闻, 在各种媒体的鼓吹下故事画风变得愈发科幻, 巴不得明天就统治全人类.
近日 OpenClaw(原 Clawdbot, 曾用名 Moltbot) 爆火独立自主操控电脑完成各种任务一个挺 fancy 的 agent 应用结合 moltbook 网站的新闻在各种媒体的鼓吹下故事画风变得愈发科幻巴不得明天就统治全人类
爆火没两天, 就爆出不少安全新闻, 要么是 agent 自作主张直接电脑删空, 要么是大量小白用户把实例暴露在公网, 别有用心的人可以直接通过 openclaw 的黑洞控制整个电脑. OpenClaw 这种应用最吸引人、最方便的地方在于 ta 可以成为「代理」, 去执行任何「你可以做」的事. 你能做, ta 就能做. 不过前提便是宽松的权限管理, 超级多的权限.
爆火没两天就爆出不少安全新闻要么是 agent 自作主张直接电脑删空要么是大量小白用户把实例暴露在公网别有用心的人可以直接通过 openclaw 的黑洞控制整个电脑OpenClaw 这种应用最吸引人、最方便的地方在于 ta 可以成为「代理」, 去执行任何「你可以做」的事你能做ta 就能做不过前提便是宽松的权限管理超级多的权限
下面介绍一个 基于 lume 的 Mac OS 虚拟机方案, 将其作为沙箱环境节点供 openclaw 调用.
下面介绍一个 基于 lume 的 Mac OS 虚拟机方案将其作为沙箱环境节点供 openclaw 调用
## OpenClaw Gateway 安装
由于 gateway 节点负责与各个 channel 即 bot 通信, 最好有公网 ip, 这里我在 linux 云服务器上进行部署.
由于 gateway 节点负责与各个 channel 即 bot 通信最好有公网 ip, 这里我在 linux 云服务器上进行部署
官方默认给的安装命令很简单, `npm install -g openclaw` 就可以了. 但是为了安全起见我还是偏好使用 docker 容器. 官方对 docker 容器的支持并不是很好, 文档也有点混乱, 实际测下来从代码库自行构建镜像比较好
官方默认给的安装命令很简单`npm install -g openclaw` 就可以了但是为了安全起见我还是偏好使用 docker 容器官方对 docker 容器的支持并不是很好文档也有点混乱实际测下来从代码库自行构建镜像比较好
首先是克隆仓库. 注意默认的 main 分支可能不是很稳定, 最好切换到某个 tag 或者 github actions 全部通过的 commit 再构建.
首先是克隆仓库注意默认的 main 分支可能不是很稳定最好切换到某个 tag 或者 github actions 全部通过的 commit 再构建
```bash
# 示例: 切换到指定tag
@@ -36,9 +36,9 @@ git fetch --tags
git checkout v2026.1.29
```
之后准备构建. 很多教程包括官方文档是让用户直接在克隆后的 git 仓库里, 修改 compose 和 env 文件. 但是这样的话后续不方便更新, 因为工作区有修改, 每次都要 stash 再 pull 还要解决冲突的问题, 太麻烦了. 建议的方式是在代码库上级目录创建 compose 和 env, 这样下次要更新的话, 直接到 repo 里面 git pull 再重新构建镜像就可以了.
之后准备构建很多教程包括官方文档是让用户直接在克隆后的 git 仓库里修改 compose 和 env 文件但是这样的话后续不方便更新因为工作区有修改每次都要 stash 再 pull 还要解决冲突的问题太麻烦了建议的方式是在代码库上级目录创建 compose 和 env, 这样下次要更新的话直接到 repo 里面 git pull 再重新构建镜像就可以了
目录结构如下:
目录结构如下
```
.
@@ -47,7 +47,7 @@ git checkout v2026.1.29
└── **openclaw-repo**
```
compose 文件设置好构建的目录即可. 示例如下
compose 文件设置好构建的目录即可示例如下
```yaml
services:
@@ -59,7 +59,7 @@ services:
      xxx:xxx
```
准备好目录和 docker compose 之后, 即可开始构建
准备好目录和 docker compose 之后即可开始构建
完整 docker compose
@@ -145,13 +145,13 @@ docker compose run --rm openclaw-cli onboard
docker compose up -d openclaw-gateway
```
如果使用 tg channel ,创建完 bot 后需要配对才可以使用.
如果使用 tg channel ,创建完 bot 后需要配对才可以使用
```
docker compose run --rm openclaw-cli pairing approve telegram <code>
```
日常配置可以直接使用这个 cli 镜像后面加上需要的参数. 或者直接到 Gateway 镜像中执行 `node dist/index.mjs xxx` 代替 官方文档里 `openclaw xxx` . (官方 Dockerfile 里面对 cli 工具名字的处理有问题,先曲线救国)
日常配置可以直接使用这个 cli 镜像后面加上需要的参数或者直接到 Gateway 镜像中执行 `node dist/index.mjs xxx` 代替 官方文档里 `openclaw xxx` . (官方 Dockerfile 里面对 cli 工具名字的处理有问题先曲线救国)
```
docker compose run --rm openclaw-cli xxx
@@ -159,7 +159,7 @@ docker compose run --rm openclaw-cli xxx
## MacOS VM via Lume
接下来配置 mac os 的虚拟机. 使用 lume 工具
接下来配置 mac os 的虚拟机使用 lume 工具
```bash
brew install lume
@@ -167,7 +167,7 @@ brew install lume
brew services start lume
```
之后可以快捷安装 macos vm. 一般情况下, 默认安装当前系统大版本下最新的小版本. 你可以通过以下方式查询
之后可以快捷安装 macos vm. 一般情况下默认安装当前系统大版本下最新的小版本你可以通过以下方式查询
```bash
# 查询`latest`参数对应默认的系统镜像和版本, 可以看到显示的url指向的系统版本为15.6.1
@@ -186,7 +186,7 @@ ProductVersion: 15.2
BuildVersion: 24C101
```
也可以从这里获取指定版本的系统镜像下载地址, 手动下载. https://ipsw.me/. 一般 mac os 的镜像大小在 15-20GB
也可以从这里获取指定版本的系统镜像下载地址手动下载https://ipsw.me/. 一般 mac os 的镜像大小在 15-20GB
创建 vm
@@ -203,10 +203,10 @@ lume run openclaw
```
之后会输出一个 vnc 地址,可以用 mac 自带的 「屏幕共享」app 进行查看. 菜单「连接」- 「新建」
之后会输出一个 vnc 地址可以用 mac 自带的「屏幕共享」app 进行查看菜单「连接」- 「新建」
![](https://blog-1301127393.cos.ap-shanghai.myqcloud.com/BlogImgs/20260205000147405.png)
完成系统安装的几个必要步骤, 然后到设置里把远程控制打开,后面 SSH 要用到. 系统更新建议关掉.
完成系统安装的几个必要步骤然后到设置里把远程控制打开后面 SSH 要用到系统更新建议关掉
![[image-23.png]]
@@ -244,7 +244,7 @@ pnpm install -g openclaw@latest
openclaw onboard --install-daemon
```
client 端配置好 gateway 地址和 token .第一次连接显示需要配对. 在服务端执行
client 端配置好 gateway 地址和 token .第一次连接显示需要配对在服务端执行
```bash

View File

@@ -1,7 +1,7 @@
---
title: Search-as-a-RSS! 把任何搜索查询转换为RSS! FeedCraft 新功能速递
title: Search-as-a-RSS! 把任何搜索查询转换为 RSS! FeedCraft 新功能速递
date: 2025-12-22
description: 作为 RSS 5 年忠实用户, 我非常享受 RSS 主动管理信息源给我带来的掌控感. 但是传统 RSS 订阅方式只能基于站点或者频道, 更多时候我其实是想关注某一个特定领域信息, 使用方式局限性很大. 其实最理想的方式是直接把搜索引擎的结果拿来作为信息源. 在 FeedCraft 新版本中, 我新增了一个 Search-as-a-RSS 的功能, 用户只需要使用自然语言指定好要搜索什么, 接下来就可以自动根据搜索结果生成一个 RSS 了.
description: 作为 RSS 5 年忠实用户我非常享受 RSS 主动管理信息源给我带来的掌控感但是传统 RSS 订阅方式只能基于站点或者频道更多时候我其实是想关注某一个特定领域信息使用方式局限性很大其实最理想的方式是直接把搜索引擎的结果拿来作为信息源在 FeedCraft 新版本中我新增了一个 Search-as-a-RSS 的功能用户只需要使用自然语言指定好要搜索什么接下来就可以自动根据搜索结果生成一个 RSS 了
categories:
- 技术
- 指南
@@ -13,53 +13,53 @@ tags:
## 前言
作为 RSS 5 年忠实用户, 我非常享受 RSS 主动管理信息源给我带来的掌控感. 但是传统 RSS 订阅方式只能基于站点或者频道, 更多时候我其实是想关注某一个特定领域信息, 比如 AI 领域世界模型有什么新的新闻, 或者是想订阅一个特定的信息, 比如我关注的 xxx 歌手有没有新的巡演规划.
作为 RSS 5 年忠实用户我非常享受 RSS 主动管理信息源给我带来的掌控感但是传统 RSS 订阅方式只能基于站点或者频道更多时候我其实是想关注某一个特定领域信息比如 AI 领域世界模型有什么新的新闻或者是想订阅一个特定的信息比如我关注的 xxx 歌手有没有新的巡演规划
这些需求通过传统 RSS 方式难以实现, 你只能定向的订阅某个新闻站点, 然后过滤一下关键词. 使用方式局限性很大. 其实最理想的方式是直接把搜索引擎的结果拿来作为信息源. 问题主要是噪声太多:
这些需求通过传统 RSS 方式难以实现你只能定向的订阅某个新闻站点然后过滤一下关键词使用方式局限性很大其实最理想的方式是直接把搜索引擎的结果拿来作为信息源问题主要是噪声太多
- 搜索查询一般是按照关键词来的, 不够灵活
- 搜索查询一般是按照关键词来的不够灵活
- 垃圾内容农场泛滥
- 高质量的信息很多时候是多种语言的网页, 直接阅读会很困难
- 高质量的信息很多时候是多种语言的网页直接阅读会很困难
好在我们有了 AI, 很多问题有了新的解决方法. 在 FeedCraft 新版本中, 我新增了一个 Search-as-a-RSS 的功能, 用户只需要使用自然语言指定好要搜索什么, 接下来就可以自动根据搜索结果生成一个 RSS 了.
好在我们有了 AI, 很多问题有了新的解决方法在 FeedCraft 新版本中我新增了一个 Search-as-a-RSS 的功能用户只需要使用自然语言指定好要搜索什么接下来就可以自动根据搜索结果生成一个 RSS 了
接下来简要介绍一下流程:
接下来简要介绍一下流程
## FeedCraft 如何通过搜索结果创建 RSS
FeedCraft 本身是一个一站式处理 RSS 的工具, 这里的搜索需要依赖第三方服务. 首发支持的搜索服务是 LiteLLM Proxy(一个 AI 服务的代理转发平台, 开源可自部署, 可以方便对接各种第三方搜索服务比如 Exa, Tavily, Plexirity, Perplexity, Brave 等等)
FeedCraft 本身是一个一站式处理 RSS 的工具这里的搜索需要依赖第三方服务首发支持的搜索服务是 LiteLLM Proxy(一个 AI 服务的代理转发平台开源可自部署可以方便对接各种第三方搜索服务比如 Exa, Tavily, Plexirity, Perplexity, Brave 等等)
以 Tavily 为例, 这个平台提供了每月 1000credits 的额度, 可以执行上百次搜索, 轻度使用绰绰有余了. 前往官网注册个账号, 生成一个 api key 即可.
以 Tavily 为例这个平台提供了每月 1000credits 的额度可以执行上百次搜索轻度使用绰绰有余了前往官网注册个账号生成一个 api key 即可
> [Tavily](https://www.tavily.com/) 是一个专为人工智能代理AI Agents设计的搜索引擎旨在优化 AI 在执行任务时的信息检索过程。它不同于传统的面向人类用户的搜索引擎(如 Google 或 Bing而是专门为 AI 系统“理解”和“查找”所需信息而构建,强调高效、准确和上下文相关的搜索结果。
![image-14](https://blog-1301127393.cos.ap-shanghai.myqcloud.com/BlogImgs/202512220059928.png)
接下来到 LiteLLM 的后台, Tool - Search Tool 里面增加一个 search tool. 这里 search tool name 可以自定义, 先记下来待会在 feed craft 的设置页面需要填入.
接下来到 LiteLLM 的后台Tool - Search Tool 里面增加一个 search tool. 这里 search tool name 可以自定义先记下来待会在 feed craft 的设置页面需要填入
![image-15](https://blog-1301127393.cos.ap-shanghai.myqcloud.com/BlogImgs/202512220059929.png)
在 LiteLLM 后台生成一个 API KEY, Key Name 可以随便写主要是备注. 这个生成的 api key 可以用于请求 LLM, 也可以调用刚才配置的搜索工具. 确认生成后, 复制 api key.
在 LiteLLM 后台生成一个 API KEY, Key Name 可以随便写主要是备注这个生成的 api key 可以用于请求 LLM, 也可以调用刚才配置的搜索工具确认生成后复制 api key.
![image-16](https://blog-1301127393.cos.ap-shanghai.myqcloud.com/BlogImgs/202512220059930.png)
在 FeedCraft 后台, 设置里面配置搜索服务, 这里 API URL 是你的 LiteLLM 服务加上`/search` 后缀.
在 FeedCraft 后台设置里面配置搜索服务这里 API URL 是你的 LiteLLM 服务加上`/search` 后缀
例如你的 LiteLLM 服务部署在 `https://my-litellm.example.com`, 那么这里就填写 `https://my-litellm.example.com/search` . 工具填写刚才在 LiteLLM 后台接入 Tavily 的时候填写的 search tool name
![image-17](https://blog-1301127393.cos.ap-shanghai.myqcloud.com/BlogImgs/202512220059931.png)
之后在「搜索转 RSS」页面, 输入你想查询的东西即可. 你可以直接用自然语言描述, 比如「SpaceX 的最新新闻」. 之后点击下一步即可预览搜索结果.
之后在「搜索转 RSS」页面输入你想查询的东西即可你可以直接用自然语言描述比如「SpaceX 的最新新闻」. 之后点击下一步即可预览搜索结果
![image-18](https://blog-1301127393.cos.ap-shanghai.myqcloud.com/BlogImgs/202512220059932.png)
你可以按需调整搜索语句. 确认没问题一直下一步, 可以保存为自定义的配方(Custom Recipe) , 就可以生成一个唯一的 RSS 链接, 在你喜欢的任意 RSS 阅读器里面查看啦
你可以按需调整搜索语句确认没问题一直下一步可以保存为自定义的配方 (Custom Recipe) , 就可以生成一个唯一的 RSS 链接在你喜欢的任意 RSS 阅读器里面查看啦
![image-19](https://blog-1301127393.cos.ap-shanghai.myqcloud.com/BlogImgs/202512220059934.png)
更进一步, 你可以使用 FeedCraft 的各种 Craft 来做进一步的处理. 比如获取全文, 添加总结、翻译文章、以及调用 AI 使用自然语言对文章进行筛选等等
更进一步你可以使用 FeedCraft 的各种 Craft 来做进一步的处理比如获取全文添加总结、翻译文章、以及调用 AI 使用自然语言对文章进行筛选等等
![image-21](https://blog-1301127393.cos.ap-shanghai.myqcloud.com/BlogImgs/202512220059935.png)
总体功能就是这样啦, 欢迎试用 FeedCraft 和 Star 🌟! Have fun!
总体功能就是这样啦欢迎试用 FeedCraft 和 Star 🌟! Have fun!
https://github.com/Colin-XKL/FeedCraft

View File

@@ -321,9 +321,9 @@ Status for the jail: sshd
```
### 2.7 Git 代理
一般在 `.bashrc`/`.zshrc` 中定义 `HTTP_PROXY` / `HTTPS_PROXY` 可以应对大部分场景.但是对于使用ssh 协议的git仓库 (通过ssh方式, 相较于https 的不用每次输用户名和密码. 一般对只有克隆公共仓库的时候才会用https, 其他时候对于自己的仓库我都是用ssh), 并不会走http 代理.
一般在 `.bashrc`/`.zshrc` 中定义 `HTTP_PROXY` / `HTTPS_PROXY` 可以应对大部分场景但是对于使用 ssh 协议的 git 仓库 (通过 ssh 方式相较于 https 的不用每次输用户名和密码一般对只有克隆公共仓库的时候才会用 https, 其他时候对于自己的仓库我都是用 ssh), 并不会走 http 代理
这里需要在ssh config 中配置转发走代理才行. 使用`nc`(macOS等默认会预装)搭配socks代理最方便
这里需要在 ssh config 中配置转发走代理才行使用`nc`(macOS 等默认会预装) 搭配 socks 代理最方便
```ini
Host github.com