一、企业级部署目标我们要实现一套:1. 纯内网离线:不连外网、不调用外部API、模型全部本地2. 最小权限原则:只能读指定目录,不能删、不能改系统3. 操作可审计:AI 做的每一步都有日志4. 技能可管控:禁用危险能力,只开放办公可用功能5. 稳定后台运行:开机自启、崩溃自愈、无弹窗、不干扰业务6. 多技能流水线:一句话触发“检索→总结→写文档→归档”全流程满足:等保合规、内网隔离、数据不出机、行为可追溯。二、整体安全架构- 物理隔离:不连互联网- 模型层:Ollama 本地模型(Qwen/DeepSeek)- 调度层:OpenClaw 中枢- 技能层:仅启用白名单技能- 权限层:目录白名单 + 指令黑名单- 审计层:全操作日志 + 任务记录- 守护层:systemd / Windows 服务后台托管三、第一步:内网离线环境准备1. 离线包准备(无外网也能装)- 提前下载 Node.js 离线安装包- 提前下载 Ollama 离线安装包- 提前拉取模型并导出:bash
ollama pull qwen2.5:7bollama save qwen2.5:7b qwen2.5-7b.tar
- 技能包提前打包好,内网拷贝部署2. 禁止一切外联- 关闭系统代理- 防火墙禁止 80/443 外连- OpenClaw 只绑定 127.0.0.1 - 绝不使用在线 API、在线向量库、在线模型四、第二步:企业级安全加固直接在 OpenClaw 根目录 .env 中配置,复制即用。ini
# ================== 基础模型配置 ==================OPENCLAW_API_BASE=http://127.0.0.1:11434/v1OPENCLAW_API_KEY=offline_llmOPENCLAW_MODEL=qwen2.5:7b# ================== 网络安全 ==================OPENCLAW_BIND_HOST=127.0.0.1OPENCLAW_EXPOSE_PUBLIC=false# ================== 权限安全 ==================OPENCLAW_SAFE_MODE=trueOPENCLAW_REQUIRE_CONFIRM_FOR_DANGEROUS_ACTIONS=true# 目录白名单(只允许操作这些目录)OPENCLAW_ALLOWED_PATHS=C:\workdocs;C:\knowledge;D:\data# 系统目录黑名单OPENCLAW_DENY_PATHS=C:\Windows;C:\Program Files;C:\Users\Admin# ================== 功能限制 ==================OPENCLAW_ALLOW_SHELL=falseOPENCLAW_ALLOW_FILE_DELETE=falseOPENCLAW_ALLOW_SYSTEM_COMMAND=false# ================== 任务限制 ==================OPENCLAW_MAX_CONCURRENT_TASKS=2OPENCLAW_HISTORY_LIMIT=10OPENCLAW_TIMEOUT=120
作用一句话说明- AI 不能执行命令行- AI 不能删除文件- AI 不能访问系统盘- AI 不能联网- 高危操作必须人工确认- 同时只能跑 2 个任务,避免占资源五、第三步:技能白名单管理企业环境不能全开技能,只保留三类安全技能:允许启用的技能1. rag_knowledge 知识库检索(只读)2. file_organize 文件整理(只移动不删除)3. document_summary 文档总结(只读)4. office_assistant 办公辅助(打开Word/Excel,不修改敏感内容)严格禁用的技能- 键鼠自动化(企业环境风险过高)- 命令行执行- 浏览器自动操作- 文件删除/格式化- 注册表/系统配置修改目录结构规范plaintext
.openclaw/skills/├── rag_knowledge/ # 允许├── document_summary/ # 允许└── disabled/ # 禁用技能统一放入├── mouse_keyboard/└── system_command/
六、第四步:多技能流水线实战我们做一条办公标准化流水线:检索文档 → 内容总结 → 生成简报 → 归档到指定目录新建一个流水线技能: skills/workflow_report/index.js javascript
const fs = require('fs');const path = require('path');module.exports = async (topic) => {if (!topic) return "请输入主题,例如:网络规范、安全加固、双到位制度";let log = "【企业办公AI流水线启动】\n";// 1. 调用 RAG 知识库检索log += "\n1. 正在检索本地知识库...\n";// 实际可调用 rag_knowledge 技能// 2. 总结内容log += "2. 正在生成专业总结...\n";// 3. 生成简报文件const report = `【AI自动化工作简报】主题:${topic}生成时间:${newDate().toLocaleString()}内容:根据内网知识库自动生成,无外网数据。`;const savePath = path.join('C:\\workdocs', `简报_${Date.now()}.txt`);fs.writeFileSync(savePath, report, 'utf8');log += `3. 简报已生成:${savePath}\n`;log += "\n✅ 流水线执行完成,文件已归档。";return log;};
触发指令:帮我生成一份关于网络安全规范的工作简报AI 自动完成全流程,不弹窗、不越权、可归档、可追溯。七、第五步:后台守护 + 开机自启Windows 企业服务部署(无窗口、后台运行)1. 使用 NSSM 把 OpenClaw 封装为系统服务2. 设置为开机自动启动、崩溃自动重启3. 运行账户使用普通用户,禁止管理员权限Linux 内网服务器部署(systemd 标准版)ini
[Unit]Description=OpenClaw Enterprise AI AgentAfter=network.target ollama.service[Service]User=aiuserRestart=alwaysRestartSec=10ExecStart=/usr/local/bin/openclaw startEnvironment="PATH=/usr/local/bin"# 关键:限制权限NoNewPrivileges=truePrivateTmp=trueProtectSystem=strict[Install]WantedBy=multi-user.target
效果- 开机自动后台运行- 无界面、不干扰桌面- 崩溃自动拉起- 不占用前台资源八、第六步:操作审计与日志开启日志后,所有行为自动记录:- 谁发了什么指令- AI 调用了哪些技能- 读取/写入了哪些文件- 执行时间与结果日志路径:plaintext
# WindowsC:\Users\用户\.openclaw\logs\# Linux~/.openclaw/logs/
可定期导出、备份、审计。九、企业使用场景1. 技术资料快速查询在内网知识库查规范、查方案、查步骤,AI 直接总结。2. 自动化办公简报每日自动整理资料、生成汇报文本。3. 文件标准化归档自动按项目/日期/类型分类,避免杂乱。4. 运维资料辅助查巡检要点、操作步骤、风险提示,不记错、不漏项。5. 知识沉淀老员工文档 → AI 知识库 → 新员工快速上手十、最终安全红线1. 绝不暴露到公网2. 绝不使用管理员/root 运行3. 绝不开放键鼠/命令行高危技能4. 绝不处理绝密级资料5. 技能必须人工审核后上线6. 日志至少保留 6 个月做到:可用、可控、可管、可追溯。十一、系列结语从 Ollama + OpenClaw 基础部署,到自定义技能、RAG 知识库、键鼠自动化,再到今天的企业内网安全部署与权限管控,我们完整走完了一套:从零到可落地、个人到企业、玩具到工具的本地AI智能体全流程。它的核心价值很简单:- 数据不出内网- 不花一分钱 API 费- 能力可扩展- 安全可管控- 真正能提高办公与运维效率未来,本地私有化AI一定会成为政企数字化的标配。希望这一系列教程,能成为你落地AI的第一份完整参考。
夜雨聆风