mcpField
A
Ask m' AI

Ask m' AI

本地服务
github.com/rainuAI 与智能体636 周前更新

关于 Ask m' AI

Ask m' AI 是一款可脚本化的桌面聊天应用,可连接多种大模型服务。它支持自定义工具,也能作为 MCP 服务运行。

主要功能

  1. 01连接多种大模型服务
  2. 02定义自定义和内置工具
  3. 03通过配置文件、环境变量或命令行配置
  4. 04在终端输出对话
  5. 05选择界面和代码主题

适用场景

  1. 01通过桌面界面与大模型聊天
  2. 02从终端脚本运行对话
  3. 03向大模型提供自定义工具
  4. 04向兼容 MCP 的应用提供工具

MCP 相关

可作为 MCP 服务运行,向其他应用提供内置及用户定义的工具。它也能连接配置的 MCP 服务,并让大模型使用其工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Ask m' AI

Ask m' AI(ask my ai -> ask m' ai)是一款面向大语言模型(例如 OpenAI 的 GPT)的轻量级桌面聊天应用。

与市面上的许多聊天应用不同,这款应用旨在支持脚本调用。 这意味着你可以在终端中调用它,并通过参数提供所有必要的选项。 对话内容也会输出到终端,因此你可以在脚本中使用它。

README 配图

https://github.com/user-attachments/assets/a6d16332-55a1-4866-9f3e-31490a488935

快速入门

LocalAI
ask-mai -b localai --llm.localai.base-url=http://localhost:8080/v1 --llm.localai.model=gpt-4
OpenAI
ask-mai -b openai --llm.openai.api-key.plain=YOUR_OPENAI_API_KEY
Ollama
ask-mai -b ollama --llm.ollama.server-url=http://localhost:11434 --llm.ollama.model=llama3.2
Anthropic
ask-mai -b anthropic --llm.anthropic.api-key.plain=YOUR_ANTHROPIC_API_KEY
Mistral
ask-mai -b mistral --llm.mistral.api-key.plain=YOUR_MISTRAL_API_KEY --llm.mistral.model=mistral-small-latest
DeepSeek
ask-mai -b deepseek --llm.deepseek.api-key.plain=YOUR_DEEPSEEK_API_KEY
Google Gemini
ask-mai -b google --llm.google.api-key.plain=YOUR_GOOGLE_API_KEY

功能

  • 支持不同的大模型提供商
  • 工具支持
    • 你可以定义自己的工具,供大模型调用
    • 内置了一些工具:
      • "getSystemInformation" - 获取系统信息
      • "getEnvironment" - 读取系统环境变量
      • "getSystemTime" - 获取当前系统时间
      • "getStats" - 获取文件或目录的统计信息
      • "changeMode" - 更改文件或目录的模式
      • "changeOwner" - 更改文件或目录的所有者
      • "changeTimes" - 更改文件或目录的访问时间和/或修改时间
      • "createFile" - 在系统上创建文件
      • "createTempFile" - 在系统上创建临时文件
      • "appendFile" - 向现有文件追加内容
      • "readTextFile" - 读取系统上的文本文件
      • "deleteFile" - 删除文件
      • "createDirectory" - 在系统上创建新目录
      • "createTempDirectory" - 在系统上创建新的临时目录
      • "deleteDirectory" - 删除目录
      • "executeCommand" - 在系统上执行命令
      • "callHttp" - 发起 HTTP 请求
  • 作为 MCP 服务运行(见下文)
    • 这样你就可以在其他支持 MCP 服务的应用中使用 ask-mai' 的工具(包括你自己的自定义工具)
  • MCP 服务支持
    • 你可以定义多个 MCP 服务,供大模型使用(目前仅支持工具)
  • 支持脚本调用
    • 所有设置均可通过以下方式设置:
      • yaml 配置文件
      • 环境变量
      • 命令行参数
    • 用户的问题和模型的回答会输出到终端
  • 可自定义
    • 可选择浅色或深色主题
    • 可选择不同语言(英语、德语)
    • 可选择不同的代码主题(所有可用主题请参阅帮助)

安装此应用

AUR(Arch Linux)
yay -S ask-mai

下载此应用

你可以从发布页面下载此应用的最新版本。 这里提供许多适用于不同操作系统、架构和功能集的版本。

文件名遵循以下格式:

ask-mai-${OS}-${ARCH}-${FEATURE}.${EXTENSION}

可用操作系统:

  • darwin - MacOS
  • linux - Linux
  • windows - Windows

可用架构:

  • amd64 - 64 位
  • 386 - 32 位
  • arm64 - ARM 64 位

可用功能:

  • compressed - 二进制文件已压缩(可能会与某些杀毒软件不兼容,尤其是在 Windows 上)
  • console - 二进制文件是控制台应用(仅适用于 Windows)
  • debug - 二进制文件包含开发工具(你可以检查 GUI 源代码)

将此应用程序作为 MCP 服务启动

你可以将 ask-mai-mcp-server 作为第一个位置参数,以 MCP 服务模式启动此应用程序:

ask-mai ask-mai-mcp-server

或者,你可以将二进制文件重命名为 ask-mai-mcp-server,然后这样启动:

ask-mai-mcp-server

要将 MCP 服务作为可流式传输的 HTTP 服务运行,可以使用 -http-address 标志:

ask-mai ask-mai-mcp-server --http-address=":8080"

如何构建此应用程序

  1. 安装依赖项[参见 wails 文档]
  2. 构建应用程序:
wails build

如何自行构建并安装此应用程序(flatpak)

flatpak-builder .flatpak-build de.rainu.ask-mai.yml --repo=.flatpak-repo --install-deps-from=flathub --force-clean --default-branch=master --arch=x86_64 --ccache
flatpak build-bundle .flatpak-repo ask-mai.flatpak --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo --arch=x86_64 de.rainu.ask-mai master
sudo flatpak install --reinstall ask-mai.flatpak

应用程序启动速度不够快

如果应用程序的启动速度无法满足你的需求,可以自行获取提示词,并使用 -ui-prompt 标志,在启动应用程序时指定该提示词。 以下是使用 rofi 的示例:

#!/bin/sh

PROMPT=$(rofi -dmenu -p "Ask-mAI" -l 0 -location 2)
if [ $? -ne 0 ]; then
    exit 1
fi

ask-mai -ui-prompt "${PROMPT}"

参与贡献

如果你使用 nix,可以使用 nix develop 进入包含所有贡献所需依赖项的 shell。该 flake 还使用 treefmt 格式化所有 *.nix 和 *.go 文件。你可以通过 nix fmt 执行格式化,并通过 nix flake check 检查。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。