发帖
1 0 0

基于安信可AiPi-PalChatV1 + MCP 办公自动化可行性研究

WT_0213
论坛元老

115

主题

1672

回帖

1万

积分

论坛元老

勤劳的打工人

积分
15228
小安AI 36 1 昨天 16:40

书接上回

安信可AiPi-PalChatV1 + MCP通过HomeAssistant自动化控制设备

这篇主要是研究下,通过安信可AiPi-PalChatV1 玩一些花活,比如语音下达指令让电脑自动进行操作什么的。

啥也不说了就是图个乐。

效果演示

话不多说直接上视频

源代码

话不多说直接上代码,这个代码主要是示例功能简单的模拟了鼠标和键盘模拟,鼠标的滚轮活动和键盘按键操作。

# server.py
import sys
import webbrowser
import logging
from pynput.keyboard import Key, Controller as KeyboardController
from pynput.mouse import Button,Controller as MouseController
from mcp.server.fastmcp import FastMCP
from pydantic import BaseModel

# 配置日志
logger = logging.getLogger('Home Assistant MCP')
handler = logging.StreamHandler()
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(logging.INFO)

# Fix UTF-8 encoding for Windows console
if sys.platform == 'win32':
    sys.stderr.reconfigure(encoding='utf-8')
    sys.stdout.reconfigure(encoding='utf-8')

mouseCtroller = MouseController()
keyboardController = KeyboardController()

# Create an MCP server
mcp = FastMCP("PC Controller MCP")

@mcp.tool()
def mouse_scroll_down(scroll_amount: int = -50):
    """向下滚动、往下点、向下滑动鼠标"""
    current_position = mouseCtroller.position
    logger.info(f"开始滚动鼠标(^_^)向下(^_^)")
    mouseCtroller.scroll(0, scroll_amount)
    return {"success": True, "answer": "鼠标已滚动"}

@mcp.tool()
def mouse_scroll_up(scroll_amount: int = 50):
    """向上滚动、往上点、向上滑动鼠标"""
    current_position = mouseCtroller.position
    logger.info(f"开始滚动鼠标(^_^)向上(^_^)")
    mouseCtroller.scroll(0, scroll_amount)
    return {"success": True, "answer": "滚动成功"}

@mcp.tool()
def page_down():
    """向下翻页、下一页"""
    logger.info("开始向下翻页")
    keyboardController.press(Key.page_down)
    keyboardController.release(Key.page_down)
    return {"success": True, "answer": "翻页成功"}

@mcp.tool()
def page_up():
    """向上翻页、上一页"""
    logger.info("开始向上翻页")
    keyboardController.press(Key.page_up)
    keyboardController.release(Key.page_up)
    return {"success": True, "answer": "翻页成功"}

@mcp.tool()
def open_system(system_name: str):
    """这是一个可以打开浏览器的工具,通过系统名称打开不同的url可以通过指令,系统名称包括:安信可社区,指令调用方式例如:打开安信可社区。即可执行进行打开指定系统的url"""
    logger.info(f'打开:{system_name}')
    url = 'https://www.baidu.com'
    if system_name == '安信可社区':
        url = 'https://bbs.ai-thinker.com/'
    else:
        return "https://www.baidu.com"
    success = webbrowser.open(url)
    return {"message": f"{system_name} 打开成功" if success else f"{system_name} 打开失败"}


# Start the server
if __name__ == "__main__":
    mcp.run(transport="stdio")

通过安信可AiPi-PalChatV1语音指令,可以调用PC端运行的MCP服务,
MCP服务实现爬虫之类的功能。可以实现自动化操作。

目前录制视频展示效果比较直观,所以直接用的小智Py客户端。与安信可AiPi-PalChatV1效果是一样的。

──── 0人觉得很赞 ────

使用道具 举报

牛啊,可以使用到手机上吗
您需要登录后才可以回帖 立即登录
高级模式
返回
统计信息
  • 会员数: 29016 个
  • 话题数: 41778 篇