我构建了一个本地AI代理,配备无头浏览器和沙盒化shell——技能即插即用,无需云端支持。
摘要
本文介绍一款名为"Agent + Skill Store"的本地AI代理工具,该工具可直接在您的设备上运行,配备无头浏览器、沙箱化shell执行环境,并提供插件系统以添加技能功能,无需依赖云服务。
嘿各位,经过一段时间的打磨,这个项目终于达到我愿意分享的状态了。它叫 Agent + Skill Store——一个在你本地运行的AI代理,能驱动真实的无头浏览器,在沙盒中执行Shell命令,并支持通过插件式"技能"扩展能力。安装只需两行命令:`pip install agent-code`,然后运行`agent-code`启动。要求Python 3.10+。
主要功能:
- **无头Chromium浏览器**(基于DrissionPage)——无弹窗,完整JS渲染
- **沙盒化Shell环境**——白名单机制+工作区隔离,禁用管道符和路径逃逸
- **技能即文件夹**:将技能文件夹放入 `skills/` 目录,包含 `skill.py` + `skill.md`,重启即可生效
- **中断/继续控制**——可在对话中途暂停,从最后工具执行结果恢复
- **兼容任意OpenAI API**——支持OpenAI、Together、Groq、DeepSeek或本地vLLM
- **多密钥轮换**——支持配置多个API密钥
- **聊天记录自动保存**——本地存储+可选云端同步
- **内置技能**:文件系统操作、公共API接口(700+免费API)、临时邮箱
我开发它的初衷是想要一个能清晰观察执行过程的AI代理。现有工具大多将操作隐藏在云服务背后,或弹出独立浏览器窗口。这个项目的浏览器是无头的,同时提供了聊天界面,你可以实时观察每个工具调用过程。其中最让我自豪的是技能系统——添加新能力只需在`skills/`目录放入文件夹,无需修改代理核心代码。
每个技能导出几个简单的Python结构:
```python
SKILL = {"name": "greet", "description": "Say hello."}
def hello(name: str = "world") -> str: return f"Hello, {name}!"
TOOL_SCHEMAS = [{ "type": "function", "function": { "name": "hello", "description": "Return a greeting.", "parameters": { "type": "object", "properties": {"name": {"type": "string"}}, }, }, }]
TOOL_CALLABLES = {"hello": hello}
```
重启后,LLM即可调用该技能。还有面向用户的斜杠命令字典(如 `/email` 或 `/ping`)。
**技能注册表**:提供了一个小型注册表服务器(自托管,GPL-3.0许可),可通过图形界面发布和安装技能。现运行实例地址为 skills-manager.freesrv.com(客户端默认指向此处),也支持自托管。
**安全说明**(至关重要):
该代理会执行LLM生成的命令。我已尽可能实施防护:Shell白名单、工作区隔离、禁用Shell元字符、文件系统技能的路径验证、注册服务器采用PBKDF2加密。但运行前务必了解以下两点:
1. `python`和`curl`包含在Shell白名单中。如不希望代理操作任意文件或向远程服务器发送POST数据,请从`ALLOWED_CMDS`中移除。
2. 技能本质是任意Python代码。安装技能等同于信任其作者。对完全不可信的使用场景,建议通过Docker运行。
**许可协议**:客户端采用MIT协议,服务器采用GPL-3.0协议。
欢迎反馈,尤其关注:
- 沙盒规则对你的用例是否过于严格或宽松
- 希望后续内置哪些技能
- GUI在哪些Linux发行版上无法正常工作
很乐意解答疑问。
相似文章
我厌倦了AI开发工具把一切都困在云端,所以我构建了...
AgentBuddy 是一个本地优先、开源的 AI 工作流沙盒,支持持久化代理线程、实时执行追踪和事件驱动工作流,集成了 Claude Code,旨在让 AI 开发保持本地化和透明化。
我们如何构建安全、可扩展的代理沙箱基础设施(8分钟阅读)
Browser Use 描述了隔离执行代码的 AI 代理的两种模式:隔离工具与隔离代理。他们使用 AWS 上的 Unikraft 微虚拟机实现了代理隔离模式,获得了安全、可扩展且一次性的沙箱。
@tom_doerr: 从 200,000 项技能构建代理 https://github.com/ynulihao/AgentSkillOS…
AgentSkillOS 是一个开源框架,使开发者能够从超过 200,000 项可用技能中检索和编排流水线来构建 AI 代理。
@Saboo_Shubham_: Agent Plugin 将 Skills、MCP 和工具整合到一个可移动文件夹中。一次构建,随处使用。
Google Cloud 的 Agent Plugin 让开发者能够将 skills、MCP 服务器和工具打包到一个便携文件夹中,从而为 AI 代理实现一次构建、随处使用的工作流。
运行AI代理的“技能”却不知道它们实际在做什么?Skillerr让这个过程安全且可审查
Skillerr是一个工具,能够安全且完全可审查地运行AI代理技能,解决了执行来自第三方技能的未知代码的风险。