1. 项目概述:为AI智能体打造一个可控的本地家园
如果你和我一样,对当前AI智能体(Agent)的能力感到兴奋,但又对其运行时的安全边界和状态管理感到头疼,那么LionClaw这个项目,很可能就是你一直在寻找的答案。简单来说,LionClaw不是一个全新的AI模型或智能体,而是一个运行在你本地机器上的“智能体操作系统”或“运行时沙盒”。它的核心价值在于,为你已经熟悉和使用的那些强大AI智能体(比如Codex、OpenCode等)提供一个安全、持久、可控的执行环境。
想象一下,你有一个能力超强的AI助手,它可以读写你的文件、执行系统命令、访问你的API密钥,并且能7x24小时在线工作。这听起来很棒,但细思极恐:你如何确保它不会误操作删除重要文件?如何管理它在不同项目间的上下文记忆?如何让它定时执行任务,并将结果安全地推送给你?LionClaw正是为了解决这些问题而生。它扮演了一个“管家”或“调度中心”的角色,将你信任的AI智能体“请”进来,但为它们划定了明确的活动范围、制定了行为规则,并记录了所有操作日志。你依然在使用原生的智能体CLI,享受其全部能力,但LionClaw在外部为其套上了一层安全、可审计的“防护罩”。
这个项目特别适合两类开发者:一是已经在日常开发或自动化流程中深度使用AI智能体,但苦于缺乏标准化、安全的管理框架;二是对AI智能体的潜力充满期待,但因安全顾虑而迟迟不敢将其接入核心工作流。LionClaw用Rust编写,强调核心精简、可审计,其设计哲学是“控制边界,而非内部思想”。它不试图重新发明轮子去替代那些成熟的智能体,而是专注于做好环境隔离、会话管理、任务调度和审计日志这几件核心事情。
2. 核心设计理念与架构拆解
LionClaw的架构清晰且务实,其设计选择背后蕴含着对安全性和可维护性的深刻考量。理解这些理念,能帮助我们在使用和未来扩展时做出更合理的决策。
2.1 三层架构:核心、运行时与技能
LionClaw的架构可以清晰地分为三个层次,这种分离关注点的设计是其稳定和可扩展的基石。
第一层:可信核心(The Core)这是LionClaw的“大脑”和“控制中心”,由Rust编写。它的职责非常明确,且被刻意保持精简,以降低安全审计的复杂度。核心模块主要负责:
- 会话状态管理:持久化保存每一次与智能体交互的完整会话记录,确保对话连续性。
- 运行时配置管理:注册、配置不同的AI智能体运行时(如Codex, OpenCode),并管理其启动参数。
- 执行计划编译与沙盒启动:根据配置,生成一个安全的执行环境(目前基于Podman容器),并将智能体运行时放入其中。
- 审计事件记录:所有关键操作,尤其是涉及边界决策(如文件访问、网络请求)的,都会被详细记录,形成不可篡改的审计日志。
- 任务调度器:管理定时任务(Job)的创建、触发和执行。
- 通道桥接API:为外部通信渠道(如Telegram、Slack)提供统一的接入接口。
核心的设计哲学是“小而美”,它绝不试图将每个功能都内聚进来。例如,它不会自己去实现一个Slack机器人,而是通过“技能”机制将这类功能外包出去。
第二层:运行时(The Runtime)运行时就是具体的AI智能体本身,例如Codex或OpenCode的CLI程序。LionClaw的核心创新在于,它并不包装或修改这些运行时的内部逻辑。当你执行lionclaw run codex时,LionClaw所做的是:准备好一个包含/workspace(你的项目目录)、/runtime(运行时私有状态)等目录的容器环境,然后将原生的codex命令在这个沙盒中启动。这意味着:
- 能力无损:你使用的Codex拥有其官方CLI的全部能力和工作流。
- 边界清晰:智能体只能看到和访问LionClaw明确授予的资源,实现了“能力与权限”的分离。
第三层:技能与通道(Skills and Channels)这是LionClaw的“可插拔”扩展层。技能是一个个独立的软件包,可以包含:
- 上下文指令:为智能体提供额外的系统提示或知识库。
- 通道工作者:实现与外部世界通信的逻辑,例如一个监听Telegram消息并转发给LionClaw核心的守护进程。
- 集成逻辑:连接其他工具或服务。
通道是技能的一种,专门用于通信。例如,skills/channel-terminal提供了一个本地终端交互界面,skills/channel-telegram则提供了Telegram机器人接口。这种设计将易变、多样的外部集成逻辑与稳定的核心完全解耦,既保证了核心的安全与简洁,又赋予了项目极大的灵活性。
2.2 安全边界模型:信任但验证
LionClaw的安全模型是其最值得称道的部分。它基于一个简单的原则:LionClaw控制边界,运行时在其内部自由行动。
1. 文件系统隔离:每个运行时都在一个独立的容器中启动,其视角内的文件系统是精心构造的:
/workspace:映射到你指定的项目根目录。你可以通过“预设”配置决定它是只读还是可写,从而防止智能体意外修改生产环境代码。/runtime:运行时私有的可写状态区。用于存放智能体自身需要的缓存、临时文件等,与宿主机和其他会话隔离。/lionclaw/skills/<alias>:所加载技能的资产快照,以只读方式挂载。技能可以提供数据,但不能直接写入。
2. 网络策略:目前的策略是二元的:network-mode = “on”或“none”。“on”并非使用宿主机的网络,而是Podman创建的私有网络命名空间,提供了基础的网络隔离。项目文档坦率地指出,在实现真正的出口流量控制平面之前,不会提供虚假的“白名单”模式,这种诚实和严谨的态度值得赞赏。
3. 凭证管理:运行时所需的秘密信息(如API密钥)被集中存储在~/.lionclaw/config/runtime-secrets.env文件中。LionClaw会在挂载前强化该文件的权限(Unix系统上设置为仅所有者可读)。在容器内,这些秘密被挂载到/run/secrets/目录下,并以特定命名规则(如lionclaw-runtime-secrets-*)存在,避免了敏感信息泄露。
4. 主机认证状态托管:对于像Codex这样需要在主机上进行认证(codex login)的运行时,LionClaw的处理非常巧妙。它不会将宿主机的~/.codex整个目录挂载进容器,那样会破坏隔离性。相反,它会读取主机上已验证的认证状态(auth.json,config.toml),在容器内的/runtime/home/.codex下创建一份临时的、会话本地的副本,然后启动Codex。这样既继承了主机的登录状态,又将运行时的活动范围限制在了沙盒内。
注意:安全模型的演进当前v0版本的网络和隔离策略相对基础,主要依赖Podman的容器隔离。根据其路线图,未来会引入更细粒度的安全策略,如基于eBPF的系统调用过滤、网络出口规则等。在现阶段,建议仅在受信任的网络环境中使用
network-mode=“on”,或将其用于不需要外部网络访问的任务。
3. 从零开始:详细安装与配置指南
纸上得来终觉浅,绝知此事要躬行。让我们一步步搭建起自己的LionClaw环境。这个过程涉及从源码构建、环境初始化到运行时配置的完整流程。
3.1 系统准备与依赖安装
LionClaw的核心是Rust程序,其运行时环境基于Podman容器。因此,你的系统需要满足以下前提条件:
- 操作系统:目前主要支持类Unix系统,包括Linux发行版(如Ubuntu, Fedora, Arch)和macOS。Windows系统不在当前支持范围内,这是项目明确声明的。
- Rust工具链:你需要安装最新稳定版的Rust。可以通过官方脚本安装:
安装后,运行curl --proto ‘=https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh source $HOME/.cargo/envrustc --version确认安装成功。 - Podman:LionClaw使用Podman而非Docker来管理容器,因为它更侧重于无守护进程的、rootless的运行模式,这与其安全沙盒的理念更契合。
- 在Linux上安装Podman:通常可以通过包管理器安装,例如在Ubuntu上:
sudo apt-get install podman。 - 在macOS上安装Podman:推荐使用Homebrew:
brew install podman。安装后可能需要运行podman machine init和podman machine start来启动一个虚拟机。 - 安装完成后,运行
podman --version并执行一个简单命令如podman run hello-world来验证其正常工作。
- 在Linux上安装Podman:通常可以通过包管理器安装,例如在Ubuntu上:
3.2 构建LionClaw核心与运行时镜像
获取源码并构建是第一步。我们按照项目推荐的“稳定本地标签”方式来构建运行时镜像,这能确保镜像版本与核心二进制兼容。
# 1. 克隆仓库并进入目录 git clone https://github.com/moshthepitt/lionclaw.git cd lionclaw # 2. 使用Release模式构建核心二进制文件 # 这会在 `target/release/` 目录下生成 `lionclaw` 可执行文件,优化程度更高。 cargo build --release # 构建过程可能需要几分钟,取决于你的机器性能。 # 3. 构建共享的运行时容器镜像 # 这个镜像基于 `containers/runtime/Containerfile` 定义,里面预装了Codex和OpenCode等运行时所需的基础环境。 # 使用一个稳定的标签(如v1)便于后续引用。 podman build -t lionclaw-runtime:v1 -f containers/runtime/Containerfile . # 4. 验证构建结果 ls -lh ./target/release/lionclaw # 查看生成的可执行文件 podman images | grep lionclaw-runtime # 查看构建的镜像实操心得:镜像构建的坑第一次构建运行时镜像时,可能会因为网络问题导致拉取基础镜像失败。可以尝试配置Podman使用国内镜像加速器。另外,确保你的磁盘空间充足,一个完整的开发镜像可能超过1GB。如果
podman build命令失败,仔细查看错误输出,通常是Dockerfile中的某条指令(如apt-get install或cargo install)出了问题。
3.3 初始化环境与配置运行时
构建完成后,需要进行一次性的初始化,并配置你想要使用的AI智能体运行时。
# 1. 初始化本地环境 # 这条命令会创建 `~/.lionclaw` 目录结构,并生成初始配置文件。 ./target/release/lionclaw onboard # 执行后,可以查看生成的文件:ls -la ~/.lionclaw/ # 2. 准备AI智能体运行时(以Codex为例) # 首先,你需要在宿主机上登录Codex。这是必要的,因为LionClaw会复用主机的认证状态。 codex login # 按照提示完成浏览器认证流程。 # 3. 向LionClaw注册Codex运行时 # 这个命令告诉LionClaw:“我有一个叫‘codex’的运行时,它的种类是‘codex’,在宿主机上的可执行文件路径是‘codex’,请使用我们刚才构建的‘lionclaw-runtime:v1’镜像来运行它。” ./target/release/lionclaw runtime add codex --kind codex --bin codex --image lionclaw-runtime:v1 # 4. (可选)注册其他运行时,如OpenCode # 假设你已经在主机上安装并配置好了opencode CLI。 # ./target/release/lionclaw runtime add opencode --kind opencode --bin opencode --image lionclaw-runtime:v1关键参数解析:
--kind:指定运行时类型。这决定了LionClaw如何处理该运行时的特定逻辑(如认证状态托管)。目前支持codex和opencode。--bin:智能体CLI在宿主机上的命令名称或路径。LionClaw会在沙盒内调用这个命令。--image:指定用于创建沙盒的容器镜像。这里使用我们刚刚构建的lionclaw-runtime:v1。
注册成功后,你可以通过./target/release/lionclaw runtime ls查看所有已注册的运行时。
3.4 首次运行与基础交互
现在,激动人心的时刻到了:在受控的沙盒中启动你的AI助手。
# 在当前目录(作为项目根目录)启动一个Codex会话 ./target/release/lionclaw run codex执行后,你会进入一个交互式REPL(读取-求值-打印循环)界面。这个界面看起来可能和你直接运行codex类似,但背后的一切都不同了:它运行在容器里,只能访问/workspace(即你当前目录)下的文件。
基础REPL命令:
- 直接输入你的问题或指令,例如:“总结一下当前目录下main.rs文件的功能。”
/continue:如果上一次回答因为超时或中断而停止,使用此命令继续。/retry:使用相同的提示词重新运行上一次的请求。/reset:清空当前会话的上下文,开启一个全新的会话。/exit:退出REPL,返回终端。
高级启动选项:
# 继续上一次的会话(非常实用!) ./target/release/lionclaw run --continue-last-session codex # 为长时间任务调整超时设置(默认空闲超时5分钟,总硬限制2小时) ./target/release/lionclaw run --timeout 4h codex注意事项:工作目录即项目边界默认情况下,
lionclaw run会以你执行命令时的当前目录作为/workspace挂载到容器中。这意味着,智能体只能看到这个目录下的文件。这是一种非常直观的项目隔离方式。在启动前,务必cd到正确的项目目录下。
4. 核心功能实战:会话、任务与通道
LionClaw超越了简单的单次对话,提供了使AI智能体成为“持久化助手”的关键能力:连续性会话、定时任务和外部通信通道。让我们深入这些功能的配置与使用。
4.1 理解与操作连续性会话
LionClaw的“连续性”设计非常务实。它没有采用神秘的黑盒记忆存储,而是将助手的记忆和上下文以可见的Markdown文件形式保存在工作空间内。
连续性文件结构:在你的LIONCLAW_HOME(默认为~/.lionclaw)下的工作空间目录(如workspaces/main/)中,你会找到:
MEMORY.md:主要的记忆文件,包含助手认为重要的长期信息。continuity/ACTIVE.md:当前活跃的会话上下文。continuity/open-loops/:存放未闭环的任务或问题。continuity/proposals/:存放助手生成的待审阅的建议草案。continuity/artifacts/:存放任务生成的产物(如报告、代码片段)。lionclaw.db:SQLite数据库,用于索引和快速搜索这些连续性内容,但Markdown文件才是“唯一真相源”。
管理连续性的命令:
# 查看当前连续性状态 ./target/release/lionclaw continuity status # 在所有连续性内容中搜索关键词 ./target/release/lionclaw continuity search “数据库连接” # 获取特定的连续性文件内容 ./target/release/lionclaw continuity get continuity/ACTIVE.md # 列出并管理运行时生成的草稿 ./target/release/lionclaw continuity drafts ls --runtime codex ./target/release/lionclaw continuity drafts promote my_report.md --runtime codex # 将草稿提升为正式提案 ./target/release/lionclaw continuity drafts discard temp.md --runtime codex # 丢弃草稿 # 管理提案和开放循环 ./target/release/lionclaw continuity proposals ls ./target/release/lionclaw continuity proposals merge continuity/proposals/memory/awesome_idea.md ./target/release/lionclaw continuity loops ls ./target/release/lionclaw continuity loops resolve continuity/open-loops/fix_bug.md这种基于文件的设计带来了巨大优势:可审计、可手动编辑、可版本控制。你可以直接用文本编辑器打开MEMORY.md查看助手记住了什么,也可以把重要的项目文档拖入相应目录来丰富助手的上下文。
4.2 创建与管理定时任务
定时任务是LionClaw自动化能力的核心。你可以让AI助手每天检查代码库状态、每周生成报告、或在代码提交后自动运行测试分析。
设置一个每日简报任务:假设我们想每天上午9点,让Codex分析当前工作空间,并通过终端通道给我们发送一份简报。
首先,我们需要启动一个终端通道作为接收端(在终端A执行):
# 设置环境变量方便后续使用 export LIONCLAW_RUNTIME=codex export LIONCLAW_PEER="my_desktop" # 给这个客户端起个名字 # 添加终端通道技能(如果尚未添加) ./target/release/lionclaw skill add skills/channel-terminal --alias terminal # 创建一个交互式启动的终端通道 ./target/release/lionclaw channel add terminal --launch interactive # 附加到该通道,这将占用当前终端,等待接收消息 ./target/release/lionclaw channel attach terminal \ --runtime “$LIONCLAW_RUNTIME” \ --peer “$LIONCLAW_PEER”首次运行时,channel attach会打印一个配对码和批准命令。你需要记住这个批准命令。
然后,在另一个终端(终端B)中创建定时任务:
# 使用相同的环境变量 export LIONCLAW_RUNTIME=codex export LIONCLAW_PEER="my_desktop” # 创建名为“daily-brief”的每日任务 ./target/release/lionclaw job add daily-brief \ --runtime “$LIONCLAW_RUNTIME” \ --schedule “every 1d” \ # 调度表达式,也支持cron格式如 “0 9 * * *” --prompt “Inspect the current workspace and send me a short engineering brief with risks, drift, and next steps.” \ --deliver-channel terminal \ # 指定交付通道 --deliver-peer “$LIONCLAW_PEER” # 指定交付给哪个对等端(客户端)创建任务后,回到终端A,使用之前打印的批准命令来授权这个任务向该终端发送消息。授权是必须的,这确保了只有你批准的任务才能向你推送信息。
任务管理命令全集:
# 列出所有任务 ./target/release/lionclaw job ls # 查看特定任务的详细配置 ./target/release/lionclaw job show daily-brief # 查看某个任务的所有历史运行记录 ./target/release/lionclaw job runs daily-brief # 立即手动触发一次任务运行(即使任务已暂停) ./target/release/lionclaw job run daily-brief # 暂停任务的自动调度(手动触发仍可用) ./target/release/lionclaw job pause daily-brief # 恢复任务的自动调度 ./target/release/lionclaw job resume daily-brief # 删除任务 ./target/release/lionclaw job rm daily-brief实操心得:调度器的后台运行定时任务需要LionClaw的后台守护进程(
lionclawd)来触发。如果你只是通过lionclaw run进行交互,定时任务不会执行。你需要通过lionclaw service up(Linux with systemd)或保持一个通道附加状态来激活调度器。任务执行时,会创建一个全新的、隔离的scheduler会话,与你的交互式会话完全分开,互不影响。
4.3 配置与使用通信通道
通道是LionClaw与外界交互的桥梁。除了上面用到的终端通道,Telegram通道是一个非常实用的选择,可以让你随时随地通过手机与你的AI助手交互。
配置Telegram通道:
- 创建Telegram Bot:通过 Telegram 的 @BotFather 创建一个新的机器人,并获取其
API Token。 - 添加Telegram技能:
./target/release/lionclaw skill add skills/channel-telegram --alias telegram - 创建Telegram通道:
./target/release/lionclaw channel add telegram - 启动服务并连接(Linux with systemd):
# 设置环境变量,然后启动服务 export TELEGRAM_BOT_TOKEN=‘YOUR_BOT_TOKEN_HERE’ ./target/release/lionclaw service up --runtime codex - 与你的Bot互动:启动服务后,使用
./target/release/lionclaw channel pairing list查看配对信息。你会看到一个配对码。在Telegram中向你的Bot发送这个配对码以完成绑定。之后,你就可以像在终端里一样,直接在Telegram里与你的AI助手对话了。
通道管理的核心逻辑:
- 技能(Skill)是功能包,通道(Channel)是技能的一个实例化配置。你可以创建多个同类型通道(如
terminal,terminal2)。 channel attach用于交互式通道(如终端),它会前台运行并占用当前会话。service up用于后台运行通道工作者(如Telegram Bot),它依赖于系统的服务管理器(目前是systemd用户服务)。
5. 高级配置、问题排查与经验分享
掌握了基本操作后,我们深入一些高级配置和实际使用中必然会遇到的“坑”,这些经验往往在官方文档中不会详细提及。
5.1 深入配置文件:定制你的沙盒
LionClaw的主要配置文件是~/.lionclaw/config/lionclaw.toml。理解并适当调整它,可以更好地适配你的工作流。
关键配置项解析:
# 示例配置片段 [workspaces.main] path = “/home/yourname/Projects” # 工作空间的物理路径 [runtime.codex] # 对应 `runtime add` 时指定的名字 kind = “codex” bin = “codex” image = “lionclaw-runtime:v1” network-mode = “on” # 或 “none” mount-workspace = “rw” # 可以是 “rw“(读写), “ro“(只读), “none“(不挂载) [presets.default] # 执行预设 mount-runtime-secrets = true # 是否将 secrets.env 挂载到运行时 # 可以定义多个preset,并在运行时通过 `--preset` 参数选择network-mode:这是最重要的安全开关之一。对于不需要联网的代码分析、文档生成任务,设置为“none”可以彻底杜绝任何意外网络调用,极大提升安全性。对于需要搜索、调用API的任务,则需设为“on”。mount-workspace:如果你非常担心AI助手会误修改代码,可以设置为“ro”。但请注意,这也会阻止它为你创建新文件或修改配置文件。一个折中的方案是,为不同的任务创建不同的预设。mount-runtime-secrets:控制是否将runtime-secrets.env挂载到容器内。如果你的任务完全不需要任何API密钥(例如只用本地模型),可以设置为false来进一步缩小攻击面。
管理运行时秘密:~/.lionclaw/config/runtime-secrets.env文件格式是简单的KEY=VALUE对。LionClaw会在挂载前将其权限设置为600(仅所有者可读)。你可以在这里存放OpenAI API Key、GitHub Token等。在容器内,可以通过环境变量或读取/run/secrets/下的文件来使用它们。务必确保此文件不被提交到版本控制系统!
5.2 常见问题与排查实录
在实际部署和使用LionClaw的过程中,我遇到并总结了一些典型问题及其解决方法。
问题1:执行lionclaw run时失败,提示容器相关错误。
- 可能原因A:Podman服务未运行(多见于macOS)。
- 排查:运行
podman machine list查看状态。 - 解决:执行
podman machine start启动Podman虚拟机。
- 排查:运行
- 可能原因B:运行时镜像不存在或标签不对。
- 排查:运行
podman images | grep lionclaw-runtime。 - 解决:确保构建镜像时使用的标签(如
v1)与注册运行时时--image参数指定的完全一致。重新执行podman build -t lionclaw-runtime:v1 ...。
- 排查:运行
- 可能原因C:SELinux或AppArmor策略限制(多见于Linux)。
- 排查:查看系统日志(
journalctl -xe或/var/log/syslog)。 - 解决:这比较复杂,可能需要调整安全策略或使用
--privileged标志(不推荐)。一个快速的测试方法是临时将network-mode设为“none”,因为网络隔离有时会触发策略问题。
- 排查:查看系统日志(
问题2:定时任务(Job)没有按预期执行。
- 可能原因A:LionClaw守护进程(
lionclawd)未运行。- 排查:运行
./target/release/lionclaw service status。 - 解决:在Linux上,通过
./target/release/lionclaw service up启动。记住,单纯的lionclaw run交互会话不会触发定时任务。
- 排查:运行
- 可能原因B:调度表达式格式错误。
- 排查:使用
lionclaw job show <job-id>检查schedule字段。 - 解决:LionClaw支持类似“every 1d”的简单语法和cron表达式。确保语法正确。例如,“every 1d at 09:00” 表示每天9点。
- 排查:使用
- 可能原因C:通道配对未批准。
- 排查:任务运行了但没有收到消息?检查任务运行日志
lionclaw job runs <job-id>,看是否有“delivery pending approval”之类的信息。 - 解决:你需要使用
channel attach时给出的批准命令,在对应的终端里授权该任务。
- 排查:任务运行了但没有收到消息?检查任务运行日志
问题3:AI助手无法访问宿主机上的文件或网络。
- 可能原因:配置预设(preset)限制了访问。
- 排查:检查
lionclaw.toml中对应运行时的network-mode和mount-workspace设置。 - 解决:根据任务需求调整配置。切记:每次修改配置后,需要重启相关的LionClaw服务或通道才能生效。
- 排查:检查
问题4:连续性(Continuity)似乎没有起作用,助手忘记了之前的对话。
- 可能原因A:使用了
/reset命令或开始了新会话。- 解释:
/reset会清空当前会话的上下文。连续性文件(如MEMORY.md)是长期记忆,但会话有独立的上下文窗口。 - 解决:使用
--continue-last-session来恢复上一个会话。助手的“记忆”是主动总结并写入文件的,并非所有对话都会自动记住。
- 解释:
- 可能原因B:工作空间(workspace)路径发生了变化。
- 解释:连续性文件存储在
LIONCLAW_HOME下的工作空间目录内。如果你在不同路径启动lionclaw run,它可能关联到不同的“项目”,从而使用不同的连续性存储。 - 解决:通过
lionclaw continuity status查看当前使用的连续性存储位置。考虑使用--workspace参数明确指定工作空间。
- 解释:连续性文件存储在
5.3 性能调优与最佳实践
经过一段时间的密集使用,我总结出一些能让LionClaw运行更顺畅的经验。
1. 镜像管理与垃圾清理:Podman容器在运行后会留下停止的容器和缓存层。定期清理可以释放磁盘空间。
# 删除所有已停止的LionClaw运行时容器 podman ps -a --filter “ancestor=lionclaw-runtime:v1” --format “{{.ID}}” | xargs podman rm # 清理无用的镜像层 podman image prune -f2. 为长时间任务合理设置超时:默认的2小时硬限制对于某些复杂代码生成或分析任务可能不够。使用--timeout参数延长,但也要意识到,过长的超时意味着资源被占用更久。对于后台任务,建议设置一个合理的上限。
3. 利用预设实现环境隔离:为不同安全等级的任务创建不同的预设(preset)。例如:
preset.secure-analysis:network-mode = “none”,mount-workspace = “ro”,用于分析不可信的第三方代码。preset.development:network-mode = “on”,mount-workspace = “rw”,用于自己项目的日常开发辅助。 在运行时通过lionclaw run --preset development codex来指定。
4. 数据库维护:连续性搜索依赖lionclaw.db。如果文件损坏或搜索异常,可以尝试重建索引(注意:先备份)。
# 停止所有LionClaw服务 # 备份数据库 cp ~/.lionclaw/db/lionclaw.db ~/.lionclaw/db/lionclaw.db.backup # 删除原数据库,LionClaw会在下次启动时根据Markdown文件重建(如果功能支持) # 更安全的方法是查阅项目源码,看是否有重建索引的命令。LionClaw代表了一种务实且强大的AI智能体使用范式。它不追求替代现有的强大模型,而是专注于解决将这些模型安全、持久、自动化地集成到我们工作流中的最后一公里问题。从清晰的架构设计到以文件为基础的可见性哲学,从严谨的安全边界到灵活的通道扩展,这个项目展现出一种成熟的工程思维。将AI智能体关进“笼子”里,不是限制其能力,而是为了让它们能在更广阔、更复杂的环境中为我们可靠地工作。如果你正在寻找一种方案,来让你的AI助手从一个偶尔调用的新奇玩具,转变为一个真正嵌入日常工作、值得信赖的自动化伙伴,那么投入时间深入LionClaw,很可能是一笔非常值得的投资。