项目简介 Bassi 是一个强大的个人 AI 助理,旨在简化您的日常任务和工作流程。它利用 Claude AI 的能力,结合多种工具和协议(包括 Model Context Protocol, MCP),为您提供从命令行到 Web 界面的智能化操作体验。Bassi 可以执行 Bash 命令、搜索网络信息、管理 Microsoft 365 服务、自动化浏览器任务、查询数据库以及运行自定义 Python 自动化脚本。
主要功能点
- 文件与系统操作: 查找、读取、修改文件,执行 Bash/Shell 命令(如 'ls', 'find', 'git status')。
- Web 搜索: 通过 Tavily API 进行实时 Web 搜索,获取最新信息。
- Python 自动化: 运行 Python 代码进行图像处理、数据转换、文件批量操作等。
- Microsoft 365 集成: 管理 Outlook 邮件和日历、OneDrive 文件、Excel 数据和 OneNote 笔记(需要配置 Azure AD 凭据)。
- 浏览器自动化: 利用 Playwright 实现网页导航、元素交互、截图和数据抓取。
- 数据库访问: 查询 PostgreSQL 数据库,管理表结构,执行数据操作。
- 交互式会话: 提供自然语言对话界面,支持流式响应和工具调用可视化。
- 多界面支持: 可通过命令行 (CLI) 或基于浏览器的 Web UI 进行交互。
安装步骤
- 安装 UV 包管理器:
curl -LsSf https://astral.sh/uv/install.sh | sh - 同步项目依赖:
uv sync - 赋予脚本执行权限:
chmod +x check.sh run-agent.sh - 配置 API 密钥:
- 复制示例环境变量文件:
cp .env.example .env - 编辑 '.env' 文件,添加您的 API 密钥。'ANTHROPIC_API_KEY' 是必须的。
# 必须项:Anthropic Claude AI 的 API 密钥 ANTHROPIC_API_KEY=sk-ant-your_claude_api_key_here # 选填项:用于 Microsoft 365 集成(邮件、日历、OneDrive 等),请从 Azure AD 应用注册获取 MS365_CLIENT_ID=<azure-app-client-id> MS365_TENANT_ID=<azure-tenant-id> MS365_CLIENT_SECRET=<azure-client-secret> [email protected] # 选填项:用于 Web 搜索,通过 Tavily API 提供(每月 1000 次免费搜索) TAVILY_API_KEY=tvly-your_tavily_api_key_here # 选填项:设置日志级别,可选 DEBUG, INFO, WARNING, ERROR LOG_LEVEL=DEBUG- Anthropic API Key: 访问 https://console.anthropic.com/ 获取。
- Tavily API Key: 访问 https://www.tavily.com/ 获取。
- Microsoft 365 配置: 请参考 Azure AD 设置指南。
- 复制示例环境变量文件:
MCP 服务器配置 Bassi 内部集成了多个 MCP 服务器(如 Bash 执行、Web 搜索、Python 自动化及交互式问答工具),并通过 '.mcp.json' 文件管理与外部 MCP 服务器的连接。如果您需要集成其他功能,可以通过编辑此文件来配置新的 MCP 服务器。以下是 '.mcp.json' 文件的示例配置及其参数说明:
- 'mcpServers': 包含所有 MCP 服务器配置的根对象。
- 'ms365': Microsoft 365 MCP 服务器配置。
- 'command': 启动 MS365 MCP 服务器的命令,通常是 'npx'。
- 'args': 传递给命令的参数,用于指定 MS365 MCP 服务器的包 '@softeria/ms-365-mcp-server'。
- 'env': 环境变量,用于认证 MS365。'MS365_MCP_CLIENT_ID'、'MS365_MCP_CLIENT_SECRET' 和 'MS365_MCP_TENANT_ID' 会从您的 '.env' 文件中读取并注入到 MCP 服务器的环境中。
- 'playwright': Playwright 浏览器自动化 MCP 服务器配置。
- 'command': 启动 Playwright MCP 服务器的命令,通常是 'npx'。
- 'args': 传递给命令的参数,用于指定 Playwright MCP 服务器的包 '@playwright/mcp@latest'。
- 'postgresql': PostgreSQL 数据库 MCP 服务器配置。
- 'command': 启动 PostgreSQL MCP 服务器的命令,通常是 'npx'。
- 'args': 传递给命令的参数。
- '-y': 自动确认安装依赖。
- '@executeautomation/database-server': 数据库 MCP 服务器的包名。
- '--postgresql': 指定数据库类型为 PostgreSQL。
- '--host': 数据库主机地址,例如 'localhost'。
- '--database': 要连接的数据库名称,例如 'your_database'。
- '--user': 数据库用户名,例如 'postgres'。
- '--password': 数据库密码,例如 'your_password'。
基本使用方法
-
CLI 模式(默认):
# 启动 Bassi CLI uv run bassi # 或者带日志输出到文件 ./run-agent.sh -
Web UI 模式:
- 仅启动 Web UI:
uv run bassi --web --no-cli - 同时启动 Web UI 和 CLI:
uv run bassi --web - 自定义端口(例如 9000):
uv run bassi --web --port 9000
Web UI 默认在 'http://localhost:8765' 访问。
- 仅启动 Web UI:
-
尝试你的第一个命令: 在 CLI 或 Web UI 中输入类似以下指令:
- 'hello'
- 'find all python files modified today'
- 'what's the current weather in Berlin?'
- 'compress all PNG images in ~/Pictures/vacation/ to 70% quality'
- 输入 '/help' 获取更多帮助信息和示例。
信息
分类
生产力应用