【免费下载链接】computer-agent
Desktop app to control your computer with AI using your terminal, browser, mouse & keyboard
computer-agent(又名 taskhomie)是一个本地运行的 AI 电脑代理:你用自然语言下指令,它就会截屏、移动鼠标、点击、输入,还能直接执行终端命令。给 AI 这么大的系统权限,安全就成了头等大事。本文带你拆解它如何用命令黑名单、警告模式与最小化权限模型,把"AI 操控电脑"这件高风险的事管得稳稳的。
为什么 AI 操控电脑必须讲安全
taskhomie 提供两种模式(见 README.md):
- Computer Use 模式:接管屏幕,用截屏 + 鼠标键盘直接控制桌面
- Background 模式:后台异步运行,通过 Chrome DevTools Protocol 操作网页、用终端完成其余任务
一旦 AI 拿到终端执行权,一条rm -rf就可能毁掉整个磁盘。因此项目把"限制 AI 能做什么"作为设计的核心,形成了层层递进的三道防线。
第一道防线:命令黑名单(BLOCKED_PATTERNS)
在 src-tauri/src/bash.rs 中,所有 AI 想执行的 shell 命令,都会先撞上一张硬性的BLOCKED_PATTERNS黑名单。命中即直接拒绝执行,并返回Command blocked错误:
| 风险类型 | 拦截的典型命令 |
|---|---|
| 💥 破坏性操作 | rm -rf /、fork bomb、mkfs、dd if=、chmod -R 777 / |
| 🔧 系统篡改 | sudo rm、sudo mkfs、sudo dd |
| 🌐 网络攻击 | nc -l(监听)、nmap(扫描) |
| 🔓 凭证窃取 | curl … \| sh、wget … \| sh |
| 🛡️ 关闭安全防护 | csrutil disable、SIP |
判断逻辑非常直接(bash.rs):把命令转小写后逐个匹配黑名单模式,一旦命中立即return Err(BashError::Blocked(...)),命令根本不会走到真正的执行器。
第二道防线:警告模式(WARN_PATTERNS)
黑名单管"绝对不行",警告模式则管"要格外小心"。在 src-tauri/src/bash.rs 里有一组WARN_PATTERNS:
const WARN_PATTERNS: &[&str] = &[ "sudo", "rm -rf", "chmod", "chown", "kill -9", "pkill", "shutdown", "reboot", ];这些命令不一定危险(比如你确实要关个进程),所以项目不会一刀切拦截,而是执行前记录一条⚠️ Command uses: xxx警告日志(bash.rs),既保留能力又留下审计痕迹。这种"硬拦截 + 软提醒"的双层设计,比单纯黑白名单更实用。
执行边界:输出也要被"关进笼子"
不只是入口,出口同样受控。执行结果会做长度截断(stdout 最多 5000 字符、stderr 最多 2000 字符,见 bash.rs),防止巨量输出撑爆上下文。执行全程通过BashExecutor统一收口(agent.rs),AI 无法绕过这套流程私下跑命令。
权限模型:最小化授权
比"拦命令"更根本的,是它一开始就不轻易要权限,而且按需申请、按需隔离。
macOS 系统权限三件套
权限检查实现在 src-tauri/src/permissions.rs,只关注真正用到的三类系统权限:
| 权限 | 用途 | 对应能力 |
|---|---|---|
| Accessibility 辅助功能 | 控制鼠标 / 键盘 | Computer Use 模式 |
| Screen Recording 屏幕录制 | 截屏"看到"内容 | 视觉反馈 |
| Microphone 麦克风 | 语音输入 / 对话 | 语音模式 |
权限状态被细分为Granted / Denied / NotAsked / NotNeeded(permissions.rs)。尤其值得注意:非 macOS 平台会直接返回NotNeeded,不会强求无关权限——权限粒度清晰、绝不越界。
独立浏览器 profile 隔离
网页任务使用专用的~/.taskhomie-chrome用户配置目录(permissions.rs),与日常浏览器数据物理隔离,还能单独查看、清理甚至一键重置该 profile 的登录态,避免 AI 动到你在用的账号。
Tauri capabilities 白名单
在 src-tauri/capabilities/default.json 里,前端只被授予了最小的一组能力(core:default、事件监听、shell:allow-open等),遵循 Tauri 的默认拒绝、按需放行原则,把攻击面压到最低。
给使用者的实用建议
- 🎯用对模式:纯网页 + 终端的活优先用 Background 模式,少动鼠标键盘
- 🚫看懂拦截:遇到
Command blocked是黑名单在保护你,别试图绕过 - ⚠️留意警告:日志里出现
⚠️ Command uses时,说明 AI 正在执行敏感命令,最好盯一下 - 🔐及时授权、按需回收:macOS 首次使用按提示授予辅助功能 / 屏幕录制权限即可
小结
taskhomie 的安全思路可以概括为一句:入口拦(命令黑名单)→ 过程警(警告模式)→ 出口限(输出截断)→ 底座小(最小化权限 + 数据隔离)。它证明了"让 AI 安全操作你的电脑"不必靠一句空喊的口号,而是靠可落地、可审计的工程细节来实现。
相关源码:bash.rs、permissions.rs、capabilities/default.json、系统提示词见 api.rs。
【免费下载链接】computer-agent
Desktop app to control your computer with AI using your terminal, browser, mouse & keyboard
相关推荐
BrowserSkill 完整指南:让 AI Agent 用你登录好的浏览器,不打断你的工作
BrowserSkill 完整指南:让 AI Agent 用你登录好的浏览器,不打断你的工作 BrowserSkill 是一层把 AI Agent 接进真实浏览
人工智能AI Agent浏览器控制AI 技能AI 插件CLIdsh-plugin让 Coopanion 帮你操作电脑:电脑操作功能开关、四档权限设置与实战指南
让 Coopanion 帮你操作电脑:电脑操作功能开关、四档权限设置与实战指南 Coopanion 是一款 AI 桌面宠物,装上 API Key 后就能语音聊天
桌面应用AI 应用交互助手人工智能语音GUI 自动化工具调用如何让Agent安全地执行危险命令?learn-agent-architecture 的权限模式与沙箱设计完全指南
如何让Agent安全地执行危险命令?learn agent architecture 的权限模式与沙箱设计完全指南 AI Agent 能执行 shell 命令、
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考