OS-Copilot:开源跨平台通用AI计算机代理,全维度对接操作系统交互
一、OS-Copilot是什么
OS-Copilot是一款面向Linux、MacOS系统的开源通用智能体开发库,核心构建了名为FRIDAY的AI助手,可实现与操作系统全维度元素(网页、终端、文件、多媒体、第三方应用)的自动对接,具备工具灵活扩展、任务自主优化、跨场景自动化执行等核心能力。该项目以“自改进型通用计算机代理”为核心目标,提供可视化前端界面与API服务部署能力,支持自定义工具扩展与生态化共享,可广泛应用于办公自动化、跨应用流程编排、系统交互自动化等场景,降低AI助手对接操作系统的开发与使用成本。
简单来说,OS-Copilot不是单一功能的工具,而是一套“AI操作系统交互框架”,它打通了AI与计算机系统的全维度连接通道,让AI能够像人类一样理解并操作网页、终端、文件、多媒体,甚至调用第三方应用完成复杂任务,且具备持续学习优化任务执行效果的能力。
该项目开源且聚焦实用性,现阶段主要适配Linux、MacOS系统,兼顾易用性与扩展性:普通用户可直接使用FRIDAY完成日常自动化任务,开发者则可基于其核心框架扩展自定义工具,丰富智能体的能力边界。

二、功能特色
OS-Copilot的核心优势在于“全维度交互”与“灵活扩展”,具体功能特色可分为以下6类:
| 功能类别 | 核心能力描述 | 应用价值 |
|---|---|---|
| 全维度系统交互 | 支持对接网页(Bing搜索/页面加载)、终端(命令执行)、文件(读写/管理)、多媒体、第三方应用(如Excel) | 覆盖90%以上的通用计算机操作场景,无需切换工具即可完成跨类型任务 |
| 自改进执行能力 | FRIDAY可自主学习任务执行逻辑(如Excel操作规则),并基于执行结果优化后续操作 | 降低重复任务的人工干预成本,执行精度随使用次数提升 |
| 灵活工具扩展 | 遵循统一函数规范即可添加/删除自定义工具,工具支持向量检索(基于Chroma向量库) | 可按需适配行业专属场景(如数据分析、运维自动化),无需修改核心框架 |
| 多端交互能力 | 提供React+Electron开发的前端可视化界面,同时支持API服务部署 | 普通用户可通过界面操作,开发者可将FRIDAY能力集成到自有系统中 |
| 生态化工具共享 | 配套FRIDAY-Gizmos工具仓库,支持社区共享自定义工具 | 降低工具开发成本,可直接复用社区成熟工具(如数学计算、网页信息提取) |
| 轻量化部署 | 支持Ollama本地模型部署,无需依赖公网大模型API(也兼容OpenAI API) | 兼顾数据隐私(本地部署)与便捷性(公网API),适配不同企业/个人部署需求 |
除此之外,OS-Copilot还具备以下细节特性:
单轮精准执行:聚焦单轮对话式任务执行,避免多轮对话的逻辑混乱,确保指令执行的精准性;
低门槛使用:无需深厚的AI开发基础,配置环境变量后即可通过脚本启动核心功能;
多场景适配:内置GAIA/LLAMA3/Excel自动化/视觉能力(开发中)等示例,覆盖通用与垂直场景。
三、技术细节
OS-Copilot的技术架构围绕“智能体核心+工具仓库+交互层”三层设计,核心技术细节可从架构、核心模块、关键技术点三方面解析:
3.1 整体技术架构
OS-Copilot采用“解耦式架构”,各模块独立且可替换,整体架构如下:
┌─────────────────┐ ┌──────────────────────┐ ┌─────────────────┐ │ 交互层 │ │ 智能体核心层 │ │ 工具仓库层 │ │ - 前端界面 │───▶│ - FRIDAY核心逻辑 │───▶│ - 内置工具集 │ │ - API服务 │ │ - 指令解析引擎 │ │ - 自定义工具接口│ │ - 命令行交互 │ │ - 任务执行引擎 │ │ - Chroma向量检索│ └─────────────────┘ │ - 自改进学习模块 │ └─────────────────┘ └──────────────────────┘ │ ▼ ┌─────────────────┐ │ 适配层 │ │ - Linux/MacOS适配│ │ - 模型适配(OpenAI/Ollama)│ └─────────────────┘
3.2 核心模块解析
项目的核心代码集中在oscopilot/目录下,关键模块的功能与技术实现如下:
3.2.1 智能体核心模块(oscopilot/agents/)
该模块是FRIDAY的核心,负责指令解析、任务规划、执行调度,核心技术点包括:
指令解析:基于大模型(OpenAI/Ollama)的自然语言理解能力,将用户自然语言指令转化为可执行的结构化任务;
任务执行引擎:采用“工具匹配-参数填充-执行反馈”的流程,先通过向量检索匹配最优工具,再填充执行参数,最后接收执行结果并反馈;
自改进学习模块:记录每一次任务执行的“指令-工具-结果”数据,通过简单的统计学习优化工具匹配精度,例如:若某类Excel指令多次匹配错误,会调整检索关键词权重。
3.2.2 工具仓库模块(oscopilot/tool_repository/)
工具仓库是OS-Copilot的“能力扩展中心”,核心技术实现:
工具注册规范:所有工具需遵循统一的函数注释规范(如描述工具功能、入参、出参),便于智能体自动识别;
Chroma向量检索:将工具的功能描述转化为向量存储,用户指令也转化为向量后,通过余弦相似度匹配最优工具,提升工具匹配的精准性;
工具管理(tool_manager.py):提供工具的添加、删除、启用/禁用接口,支持动态扩展工具集,无需重启服务。
3.2.3 交互层模块
前端(fronted/):基于React+Electron开发,实现可视化的指令输入、任务执行状态展示、结果输出,支持跨平台打包(MacOS/Linux);
API服务:基于FastAPI/Flask(项目内置轻量框架)封装核心能力,提供RESTful API,支持POST/GET请求调用FRIDAY的任务执行功能;
命令行交互:通过
quick_start.py等脚本实现命令行调用,适配无界面的服务器部署场景。
3.3 关键技术依赖
OS-Copilot的运行依赖以下核心技术栈,开发者需了解其版本适配性:
| 技术/库 | 版本要求 | 核心作用 |
|---|---|---|
| Python | 3.10 | 核心开发语言,确保语法兼容 |
| OpenAI/Ollama | 无强制版本 | 大模型对接,提供自然语言能力 |
| Chroma | 最新稳定版 | 向量数据库,用于工具检索 |
| React/Electron | React 18+ | 前端界面开发 |
| Conda/Pip | 无强制版本 | 环境管理与依赖安装 |

四、应用场景
OS-Copilot的核心价值是“让AI替代人工完成重复、标准化的操作系统交互任务”,其典型应用场景可分为以下5类:
4.1 办公自动化场景
这是最贴近普通用户的场景,FRIDAY可完成:
Excel自动化:无需编写VBA脚本,通过自然语言指令完成Excel数据统计、格式调整、图表生成;
文件管理:按关键词检索文件、批量重命名、分类整理文件夹、自动生成文件摘要;
网页信息提取:自动访问指定网页、提取关键信息(如新闻正文、表格数据)并保存为本地文件。
示例:用户输入“帮我提取Bing搜索‘2025年人工智能行业报告’的前3条结果的标题和链接,保存到桌面的report.txt文件中”,FRIDAY会自动调用网页检索工具+文件操作工具完成任务。
4.2 开发者效率提升场景
针对程序员/运维人员,可实现:
终端命令自动化:自然语言转化为终端命令(如“统计当前目录下大于100MB的文件并删除”),自动执行并返回结果;
代码辅助:检索本地代码库、自动生成简单测试用例、批量格式化代码文件;
运维监控:定时执行系统监控命令(如CPU/内存使用率),超出阈值时自动生成日志并发送提醒。
4.3 跨应用流程编排场景
FRIDAY可串联多个工具/应用完成复杂流程,例如:
调用Bing搜索工具获取某产品的电商平台价格数据;
调用Excel工具将数据整理为对比表格;
调用文件工具将表格保存到指定目录;
调用邮件工具(需自定义扩展)将表格发送给指定邮箱。
4.4 教育/科研辅助场景
数学计算与分析:集成Wolfram Alpha工具,自动完成公式计算、数据可视化;
文献整理:自动检索学术网页、提取文献标题/作者/摘要,按格式生成参考文献列表;
实验数据处理:批量处理实验生成的文本/表格数据,计算均值、方差等统计指标。
4.5 企业级定制化场景
企业可基于OS-Copilot扩展行业专属工具,例如:
金融行业:扩展行情查询工具、交易记录分析工具,自动生成每日交易报告;
电商行业:扩展订单查询工具、物流跟踪工具,批量处理订单信息;
医疗行业:扩展病历整理工具、药品信息检索工具,辅助医护人员日常工作。

五、使用方法
OS-Copilot的使用分为“基础使用(快速体验)”和“进阶使用(自定义工具/API部署)”,以下是详细步骤:
5.1 前置条件
操作系统:Linux(Ubuntu 20.04+)/MacOS(10.15+);
环境要求:已安装Conda(推荐)或Python 3.10+、Git;
密钥/模型:拥有OpenAI API Key(可选,也可使用Ollama本地模型)。
5.2 基础使用:快速体验FRIDAY核心功能
步骤1:克隆仓库
打开终端,执行以下命令克隆代码仓库并进入目录:
git clone https://github.com/OS-Copilot/OS-Copilot.git cd OS-Copilot
步骤2:配置Python环境
推荐使用Conda创建独立环境,避免依赖冲突:
# 创建名为oscopilot_env的Python 3.10环境 conda create -n oscopilot_env python=3.10 -y # 激活环境 conda activate oscopilot_env # 以可编辑模式安装项目依赖(支持实时修改代码) pip install -e .
步骤3:配置环境变量
项目依赖环境变量加载密钥/模型配置,首先复制模板文件:
cp .env_template .env
编辑.env文件(可使用vim/nano/文本编辑器),核心配置项说明:
# 必选:OpenAI API Key(若使用Ollama可留空) OPENAI_API_KEY=your_openai_api_key # 可选:Ollama模型地址(本地部署时填写,默认http://localhost:11434) OLLAMA_BASE_URL=http://localhost:11434 # 可选:默认使用的模型(如gpt-3.5-turbo/llama3) DEFAULT_MODEL=llama3
步骤4:启动并体验
执行快速启动脚本,体验FRIDAY的基础功能:
python quick_start.py
脚本运行后,会进入交互式命令行,输入自然语言指令即可执行,例如:
输入“列出当前目录下的所有文件”,FRIDAY会调用终端工具执行
ls(MacOS/Linux)命令并返回结果;输入“在桌面创建一个名为test.txt的文件,内容为‘OS-Copilot测试’”,FRIDAY会调用文件工具完成创建。
5.3 进阶使用:启动前端界面
若需要可视化操作,可启动前端界面(需额外安装前端依赖):
# 进入前端目录 cd fronted # 安装npm依赖 npm install # 启动前端开发服务 npm run start
启动后,浏览器会自动打开前端界面,在界面中输入指令即可完成任务,操作逻辑与命令行一致。
5.4 进阶使用:自定义添加工具
添加自定义工具需遵循以下规范(以“邮件发送工具”为例):
步骤1:编写工具函数
在oscopilot/tool_repository/custom_tools/目录下创建email_tool.py,内容如下:
def send_email(to_email: str, subject: str, content: str) -> str:
"""
发送邮件的自定义工具
参数说明:
- to_email: 收件人邮箱地址(必填)
- subject: 邮件主题(必填)
- content: 邮件内容(必填)
返回值:
- 执行结果(成功/失败信息)
"""
try:
# 此处替换为实际的邮件发送逻辑(如使用smtplib)
import smtplib
from email.mime.text import MIMEText
# 配置邮箱服务器(示例,需替换为实际信息)
smtp_server = "smtp.163.com"
smtp_port = 25
sender_email = "your_email@163.com"
sender_pwd = "your_email_pwd"
msg = MIMEText(content, "plain", "utf-8")
msg["From"] = sender_email
msg["To"] = to_email
msg["Subject"] = subject
server = smtplib.SMTP(smtp_server, smtp_port)
server.login(sender_email, sender_pwd)
server.sendmail(sender_email, to_email, msg.as_string())
server.quit()
return f"邮件发送成功:收件人{to_email},主题{subject}"
except Exception as e:
return f"邮件发送失败:{str(e)}"步骤2:注册工具
修改oscopilot/tool_repository/tool_manager.py,添加工具注册逻辑:
from .custom_tools.email_tool import send_email
# 在工具注册列表中添加
TOOL_REGISTRY = {
# 原有工具...
"send_email": send_email
}步骤3:使用自定义工具
重启quick_start.py,输入“发送邮件到test@example.com,主题为OS-Copilot测试,内容为测试自定义工具”,FRIDAY会自动匹配并执行send_email工具。

六、常见问题解答(FAQ)
Q1:OS-Copilot支持Windows系统吗?
A:现阶段OS-Copilot主要适配Linux和MacOS系统,暂未对Windows做完整适配。若需在Windows上使用,可通过WSL2(Windows Subsystem for Linux)安装Linux子系统,再按照Linux的使用步骤部署。
Q2:没有OpenAI API Key能使用吗?
A:可以。OS-Copilot支持Ollama本地模型部署,只需安装Ollama并下载所需模型(如llama3),然后在.env文件中配置OLLAMA_BASE_URL和DEFAULT_MODEL即可,无需依赖OpenAI API。
Q3:FRIDAY支持多轮对话吗?
A:目前FRIDAY仅支持单轮对话式任务执行,设计上聚焦“单指令精准执行”,避免多轮对话的逻辑混乱。若需多轮交互,可基于核心框架自行扩展会话管理模块。
Q4:自定义工具时提示“工具匹配失败”怎么办?
A:主要原因有两点:① 工具函数的注释规范不完整(需清晰描述功能、入参);② 向量检索未匹配到工具。解决方案:检查工具函数的注释是否符合规范,或在指令中明确指定工具名称(如“使用send_email工具发送邮件...”)。
Q5:前端界面启动失败,提示npm依赖安装错误?
A:常见原因是Node.js版本过低,推荐安装Node.js 18+版本。执行node -v检查版本,若版本过低,可通过nvm安装最新LTS版本:
# 安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # 安装Node.js 18 nvm install 18 # 切换到18版本 nvm use 18
Q6:部署后执行任务速度慢怎么办?
A:速度慢的核心原因是模型推理耗时,解决方案:① 使用本地Ollama模型时,选择轻量化模型(如llama3:8b);② 使用OpenAI API时,选择gpt-3.5-turbo而非gpt-4;③ 优化工具检索逻辑,减少向量检索的耗时。

七、相关链接
八、总结
OS-Copilot是一款聚焦操作系统全维度交互的开源通用AI智能体开发库,核心构建了具备自改进能力的FRIDAY助手,通过解耦式架构实现了智能体核心、工具仓库、交互层的独立扩展,既支持普通用户通过命令行/前端界面完成Excel自动化、文件管理、网页信息提取等日常任务,也支持开发者自定义扩展工具、部署API服务以适配企业级场景,其跨Linux/MacOS平台的特性、兼容本地/公网大模型的部署方式,以及生态化的工具共享机制,大幅降低了AI助手对接操作系统的开发与使用成本,是一款兼顾实用性与扩展性的开源智能体框架。
版权及免责申明:本文由@人工智能研究所原创发布。该文章观点仅代表作者本人,不代表本站立场。本站不承担任何相关法律责任。
如若转载,请注明出处:https://www.aipuzi.cn/ai-news/os-copilot.html

