项目简介
Daan是一款轻量、简洁的AI客户端,专注于提供流畅高效的LLM交互体验。它兼容OpenAI API及其兼容服务,并创新性地引入了Miniapp和MCP(Model Context Protocol)集成能力,使用户能够通过外部工具和自定义上下文增强AI的功能。
主要功能点
- 核心聊天体验: 提供简洁的聊天界面,支持角色设定、模型选择、参数调整等。
- Miniapp: 支持将常用功能打包成轻应用在独立小窗口中运行,Miniapp可以注册为MCP服务。
- MCP (Model Context Protocol): 允许Daan(作为MCP客户端)连接到各种类型的MCP服务器,获取其提供的工具、资源和Prompt模板,并在聊天中提供给LLM调用。
- 内置MCP服务器: Daan自身包含一些简单的内置MCP服务器(如表达式计算、获取时间),无需外部配置即可使用。
- 灵活的连接方式: 支持通过SSE(Server-Sent Events)、Stdio(标准输入输出,适用于Tauri桌面版)或内置Miniapp连接MCP服务。
- 能力声明与工具调用: 连接成功后,Daan会获取MCP服务器声明的能力(工具、资源、Prompt),并将选定的工具列表注入到LLM的Prompt中。LLM可以通过特定的JSON格式指令调用这些工具,Daan捕获指令、执行工具并反馈结果。
安装步骤
- 在线使用: 直接访问 https://demo.daan.one 使用Web版本。
- 本地部署/安装: 可以通过代码仓库进行本地部署(Web版)或构建Tauri桌面版(需要Rust环境)。具体构建步骤请参考仓库的详细说明(通常涉及'pnpm install'和'pnpm tauri dev'或'pnpm tauri build')。
- 获取API Key: 需要从OpenAI或兼容的LLM服务提供商处获取API Key。
- 配置API Key: 在Daan的设置中输入您的API Key并选择默认模型。
MCP服务器配置
Daan作为MCP客户端,需要您配置外部MCP服务器的连接信息。您可以在Daan的“系统设置”中找到“MCP 服务器”或类似的配置项。内置服务器通常已默认配置。配置一个外部服务器通常需要以下信息:
- 名称 (Name): 给服务器取一个易于识别的名字,例如 "我的本地工具服务"。
- 类型 (Type): 选择服务器的连接类型。Daan支持以下类型:
- 'builtin-pseudo': 内置在Daan中的伪服务器,无需配置,通常已默认启用。
- 'sse': 通过HTTP SSE连接的服务器,需要提供URL。
- 示例配置项: 'URL (url)': SSE服务器的端点地址,例如 'http://localhost:8080/mcp/events'。
- 'stdio': 通过标准输入输出通信的服务器(仅限Tauri桌面版),需要提供启动命令和参数。
- 示例配置项: '命令 (command)': 启动MCP服务器可执行文件的命令,例如 '/path/to/your/mcp-server' 或 'python mcp_server.py'。
- 示例配置项: '参数 (args)': 传递给命令的参数列表,例如 '["--port", "5000"]'。
- 'miniapp': 使用Daan内置Miniapp作为MCP服务器,需要选择已安装的Miniapp定义。
- 示例配置项: '目标Miniapp (targetMiniappId)': 选择作为服务器的Miniapp的唯一ID(在安装Miniapp时生成)。
- 启用 (Enabled): 勾选此项使Daan尝试连接该服务器并在聊天中使用其能力。
- 自动批准工具调用 (Auto Approve Tools): 勾选后,来自该服务器的工具调用请求将跳过用户确认步骤,自动执行。
在UI界面填写这些信息并保存。
基本使用方法
- 连接MCP服务器: 在系统设置中配置并启用您需要的MCP服务器。Daan会尝试连接,连接状态会在列表中显示。
- 选择聊天: 打开或创建一个聊天。
- 选择可用工具: 在聊天界面,通常会有显示当前连接且可用的MCP服务器及其工具的选项(例如,一个按钮或侧边栏)。选择您希望本次对话中LLM可以访问的工具集合。这些工具的描述和使用说明会被注入到LLM的系统Prompt中。
- 与AI互动: 像往常一样与AI聊天。当AI判断需要使用某个工具来回答您的问题时,它会生成一个包含服务器ID、工具名称和参数的特定JSON格式代码块。
- 执行工具: Daan检测到AI生成的工具调用代码块后,如果服务器配置为自动批准,则会直接调用工具;如果未配置自动批准,则会弹出确认提示,由您决定是否执行。
- 获取结果: 工具执行完成后,结果会被反馈给AI(可能作为隐藏消息),AI会根据结果继续生成回复给您。
关键词
AI客户端, 聊天, 工具调用, 上下文增强, Miniapp
信息
分类
AI与计算