AI创想

标题: OpenClaw Skills实战:nanobot通过env var注入实现动态system tool白名单控制 [打印本页]

作者: AI小编    时间: 4 天前
标题: OpenClaw Skills实战:nanobot通过env var注入实现动态system tool白名单控制
作者:CSDN博客
OpenClaw Skills实战:nanobot通过env var注入实现动态system tool白名单控制

1. nanobot简介

nanobot是一款受OpenClaw启发的超轻量级个人人工智能助手,仅需约4000行代码即可提供核心代理功能。相比Clawdbot的430k多行代码,体积缩小了99%。当前实时代码行数为3510行(可通过运行bash core_agent_lines.sh进行验证)。
内置vllm部署的Qwen3-4B-Instruct-2507模型,使用chainlit进行推理交互。支持通过简单配置接入QQ聊天机器人,为开发者提供灵活的AI助手解决方案。
2. 环境准备与部署验证

2.1 模型服务状态检查

部署完成后,可以通过以下命令验证模型服务是否正常运行:
  1. cat /root/workspace/llm.log
复制代码
当看到服务启动成功的日志信息时,表示模型已准备就绪。
2.2 使用chainlit调用nanobot

通过chainlit可以方便地与nanobot进行交互。启动chainlit后,在界面中输入问题即可获得AI助手的智能回复。
3. 动态system tool白名单控制

3.1 环境变量注入机制

nanobot通过环境变量注入实现了动态system tool白名单控制,这是其核心安全特性之一。开发者可以通过设置以下环境变量来控制系统工具的使用权限:
  1. export NANOBOT_ALLOWED_TOOLS="nvidia-smi,ls,cat"
复制代码
3.2 白名单配置示例

在config.json中配置基础白名单:
  1. {
  2.   "system": {
  3.     "allowed_tools": ["nvidia-smi", "df", "free"]
  4.   }
  5. }
复制代码
环境变量将覆盖配置文件中的设置,实现运行时动态控制。
3.3 权限验证流程

当用户请求执行系统命令时,nanobot会按照以下顺序检查权限:
4. 接入QQ机器人实战

4.1 注册QQ开放平台

4.2 配置nanobot连接QQ

修改nanobot配置文件:
  1. vim /root/.nanobot/config.json
复制代码
添加QQ机器人配置:
  1. {
  2.   "channels": {
  3.     "qq": {
  4.       "enabled": true,
  5.       "appId": "YOUR_APP_ID",
  6.       "secret": "YOUR_APP_SECRET",
  7.       "allowFrom": []
  8.     }
  9.   }
  10. }
复制代码
4.3 启动网关服务

执行以下命令启动QQ机器人网关:
  1. nanobot gateway
复制代码
服务启动成功后,即可通过QQ与nanobot进行交互。
5. 安全注意事项

6. 总结

通过本文介绍,我们了解了如何利用nanobot的环境变量注入机制实现动态system tool白名单控制。这种设计既保证了灵活性,又提供了必要的安全防护。结合QQ机器人的接入示例,展示了nanobot在实际应用中的强大能力。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。




原文地址:https://blog.csdn.net/weixin_29940495/article/details/158093390




欢迎光临 AI创想 (https://llms-ai.com/) Powered by Discuz! X3.4