OS-Copilot:开源跨平台通用AI计算机代理,全维度对接操作系统交互

原创 发布日期:
66

一、OS-Copilot是什么

OS-Copilot是一款面向Linux、MacOS系统的开源通用智能体开发库,核心构建了名为FRIDAY的AI助手,可实现与操作系统全维度元素(网页、终端、文件、多媒体、第三方应用)的自动对接,具备工具灵活扩展、任务自主优化、跨场景自动化执行等核心能力。该项目以“自改进型通用计算机代理”为核心目标,提供可视化前端界面与API服务部署能力,支持自定义工具扩展与生态化共享,可广泛应用于办公自动化、跨应用流程编排、系统交互自动化等场景,降低AI助手对接操作系统的开发与使用成本。

简单来说,OS-Copilot不是单一功能的工具,而是一套“AI操作系统交互框架”,它打通了AI与计算机系统的全维度连接通道,让AI能够像人类一样理解并操作网页、终端、文件、多媒体,甚至调用第三方应用完成复杂任务,且具备持续学习优化任务执行效果的能力。

该项目开源且聚焦实用性,现阶段主要适配Linux、MacOS系统,兼顾易用性与扩展性:普通用户可直接使用FRIDAY完成日常自动化任务,开发者则可基于其核心框架扩展自定义工具,丰富智能体的能力边界。

OS-Copilot:开源跨平台通用AI计算机代理,全维度对接操作系统交互

二、功能特色

OS-Copilot的核心优势在于“全维度交互”与“灵活扩展”,具体功能特色可分为以下6类:

功能类别 核心能力描述 应用价值
全维度系统交互 支持对接网页(Bing搜索/页面加载)、终端(命令执行)、文件(读写/管理)、多媒体、第三方应用(如Excel) 覆盖90%以上的通用计算机操作场景,无需切换工具即可完成跨类型任务
自改进执行能力 FRIDAY可自主学习任务执行逻辑(如Excel操作规则),并基于执行结果优化后续操作 降低重复任务的人工干预成本,执行精度随使用次数提升
灵活工具扩展 遵循统一函数规范即可添加/删除自定义工具,工具支持向量检索(基于Chroma向量库) 可按需适配行业专属场景(如数据分析、运维自动化),无需修改核心框架
多端交互能力 提供React+Electron开发的前端可视化界面,同时支持API服务部署 普通用户可通过界面操作,开发者可将FRIDAY能力集成到自有系统中
生态化工具共享 配套FRIDAY-Gizmos工具仓库,支持社区共享自定义工具 降低工具开发成本,可直接复用社区成熟工具(如数学计算、网页信息提取)
轻量化部署 支持Ollama本地模型部署,无需依赖公网大模型API(也兼容OpenAI API) 兼顾数据隐私(本地部署)与便捷性(公网API),适配不同企业/个人部署需求

除此之外,OS-Copilot还具备以下细节特性:

  1. 单轮精准执行:聚焦单轮对话式任务执行,避免多轮对话的逻辑混乱,确保指令执行的精准性;

  2. 低门槛使用:无需深厚的AI开发基础,配置环境变量后即可通过脚本启动核心功能;

  3. 多场景适配:内置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计算机代理,全维度对接操作系统交互

四、应用场景

OS-Copilot的核心价值是“让AI替代人工完成重复、标准化的操作系统交互任务”,其典型应用场景可分为以下5类:

4.1 办公自动化场景

这是最贴近普通用户的场景,FRIDAY可完成:

  • Excel自动化:无需编写VBA脚本,通过自然语言指令完成Excel数据统计、格式调整、图表生成;

  • 文件管理:按关键词检索文件、批量重命名、分类整理文件夹、自动生成文件摘要;

  • 网页信息提取:自动访问指定网页、提取关键信息(如新闻正文、表格数据)并保存为本地文件。

示例:用户输入“帮我提取Bing搜索‘2025年人工智能行业报告’的前3条结果的标题和链接,保存到桌面的report.txt文件中”,FRIDAY会自动调用网页检索工具+文件操作工具完成任务。

4.2 开发者效率提升场景

针对程序员/运维人员,可实现:

  • 终端命令自动化:自然语言转化为终端命令(如“统计当前目录下大于100MB的文件并删除”),自动执行并返回结果;

  • 代码辅助:检索本地代码库、自动生成简单测试用例、批量格式化代码文件;

  • 运维监控:定时执行系统监控命令(如CPU/内存使用率),超出阈值时自动生成日志并发送提醒。

4.3 跨应用流程编排场景

FRIDAY可串联多个工具/应用完成复杂流程,例如:

  1. 调用Bing搜索工具获取某产品的电商平台价格数据;

  2. 调用Excel工具将数据整理为对比表格;

  3. 调用文件工具将表格保存到指定目录;

  4. 调用邮件工具(需自定义扩展)将表格发送给指定邮箱。

4.4 教育/科研辅助场景

  • 数学计算与分析:集成Wolfram Alpha工具,自动完成公式计算、数据可视化;

  • 文献整理:自动检索学术网页、提取文献标题/作者/摘要,按格式生成参考文献列表;

  • 实验数据处理:批量处理实验生成的文本/表格数据,计算均值、方差等统计指标。

4.5 企业级定制化场景

企业可基于OS-Copilot扩展行业专属工具,例如:

  • 金融行业:扩展行情查询工具、交易记录分析工具,自动生成每日交易报告;

  • 电商行业:扩展订单查询工具、物流跟踪工具,批量处理订单信息;

  • 医疗行业:扩展病历整理工具、药品信息检索工具,辅助医护人员日常工作。

OS-Copilot:开源跨平台通用AI计算机代理,全维度对接操作系统交互

五、使用方法

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工具。

OS-Copilot:开源跨平台通用AI计算机代理,全维度对接操作系统交互

六、常见问题解答(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_URLDEFAULT_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计算机代理,全维度对接操作系统交互

七、相关链接

八、总结

OS-Copilot是一款聚焦操作系统全维度交互的开源通用AI智能体开发库,核心构建了具备自改进能力的FRIDAY助手,通过解耦式架构实现了智能体核心、工具仓库、交互层的独立扩展,既支持普通用户通过命令行/前端界面完成Excel自动化、文件管理、网页信息提取等日常任务,也支持开发者自定义扩展工具、部署API服务以适配企业级场景,其跨Linux/MacOS平台的特性、兼容本地/公网大模型的部署方式,以及生态化的工具共享机制,大幅降低了AI助手对接操作系统的开发与使用成本,是一款兼顾实用性与扩展性的开源智能体框架。

打赏
THE END
作者头像
人工智能研究所
发现AI神器,探索AI技术!