Skip to content

Repository files navigation

Iris

image

English | 简体中文

一个面向多平台的智能代理Agent系统。支持 Console、Web、Discord、Telegram、微信、企业微信、飞书、QQ 等平台,支持工具调用、会话存储、图片输入、OCR 回退、Computer Use、MCP 和记忆能力。Telegram、飞书、Discord、QQ、微信与企业微信平台以可选 extension 提供(源码仓库 extensions/ 目录已含源码,发行包需通过 iris ext install 安装)。

目前Iris的WEBUI处于重构代码阶段,推荐使用功能完备的TUI端。

Platform npm Release License Docker Runtime

特性

  • 多平台:Console / Web / Headless Core / Discord / Telegram / 微信 / 企业微信 / 飞书 / QQ(IM 平台均为可选 extension)
  • 多模型提供商:DeepSeek / Gemini / OpenAI 兼容 / OpenAI Responses / Claude
  • 模型池:通过 llm.models.<modelName> 管理多个模型,运行时可切换
  • 多 Agent:支持多个独立 Agent,每个 Agent 拥有独立的会话、记忆和可覆盖的配置
  • 配置分层:全局配置打底,Agent 可选覆盖(system / tools / mcp / modes 等)
  • 工具系统:内置文件、命令、计划、搜索、记忆、子代理等工具
  • MCP:连接外部 MCP 服务器扩展工具能力,支持按 Provider 自动降级 Schema
  • 会话存储:JSON 文件或 SQLite
  • 图片输入:支持 vision 模型直连,也支持 OCR 回退
  • 模式系统:支持自定义模式和系统提示词覆盖
  • 插件系统:支持 PreBootstrap 装配、自定义 Provider / 平台、钩子与完整内部 API
  • TUI 界面:基于 OpenTUI + React,支持 Markdown 渲染、工具状态展示、撤销/恢复

快速开始

npm 安装(推荐)

无需安装 Bun 或其他运行时。自动下载当前平台的预编译二进制。

npm install -g irises
iris onboard
iris start

Linux 一键脚本

curl -fsSL https://raw.githubusercontent.com/Lianues/Iris/main/deploy/linux/install.sh | bash
iris onboard
iris start

脚本会下载 GitHub Release 二进制、初始化 IRIS_DATA_DIR 并安装 iris 命令;Linux 还额外提供 iris service start/stop/status 用于 systemd 管理。支持 Ubuntu / Debian / CentOS / Fedora / Alpine / Arch / Termux (Android) / macOS / Windows x64。

其他安装方式(GitHub Release / Docker / 源码开发)见 docs/install.md

首次配置

Iris 提供 TUI 配置引导工具,引导你完成 LLM Provider、API Key、模型与平台的初始化:

iris onboard        # 完整配置引导
iris platforms      # 只配置平台
iris models         # 只管理模型池
iris extension      # 下载/管理 extension

配置写入 ~/.iris/configs/(可通过 IRIS_DATA_DIR 覆盖)。完整流程与命令行模式见 docs/install.md#onboard-交互式配置引导

常用命令

Console(TUI)

命令 说明
/new 新建对话
/load 加载历史对话
/undo 撤销最后一条消息
/redo 恢复已撤销的消息
/model 查看可用模型
/model <name> 切换当前模型
/agent 切换 Agent(多 Agent 模式)
/sh <cmd> 执行 Shell 命令
/settings 打开设置中心(LLM / System / MCP)
/mcp 直接打开 MCP 管理页
/headless 关闭当前 TUI,切换为 Core-only 后台模式
/detach /headless 的别名,分离当前 TUI
/exit 退出应用

IM 平台(企微 / 飞书 / QQ / Telegram / 微信)

各 IM 平台的 Slash 命令(/new /clear /model /session /stop /flush /undo /redo /help 等)大同小异,详见 docs/platforms.md

后台模式与跨进程连接

  • iris daemon / iris start --headless — Core-only 后台模式,只启动 Core / 插件 / IPC,不打开任何前端
  • iris attach — 从另一个终端连接到运行中的 Iris,附加一个独立的 Console TUI

详见 docs/platforms.md#headless--core-onlydocs/ipc.md

配置

运行时数据位于 ~/.iris/(可通过 IRIS_DATA_DIR 覆盖)。配置分两类:

  • 全局独占(所有 Agent 共享):llm.yamlocr.yamlstorage.yamlplugins.yamlplatform.yaml
  • 全局打底 + Agent 可覆盖system.yamltools.yamlsummary.yamlmcp.yamlmodes.yamlsub_agents.yaml

完整的 YAML 模板和 CLI 命令见 docs/configuration-examples.md,字段类型与合并规则见 docs/config.md

文档

入门 / 配置

进阶 / 架构

开发

# Node.js(后端开发)
npm run dev              # 启动(按当前平台配置自动选择运行时)
npm run build            # 构建
npm run build:extensions # 编译所有 extension 源码
npm run test             # 测试(Vitest)

# Bun(全功能开发)
bun run dev              # 启动(含 console TUI)
bun run build:compile    # 编译为独立二进制

源码开发的完整说明(extension 编译、推送到服务器、注意事项)见 docs/install.md#方式五源码开发

社区支持

Star History

Star History Chart

许可证

本项目采用 GNU General Public License v3.0 发布,对应 SPDX 标识为 GPL-3.0-only

完整条款见 LICENSE

About

一个面向多平台的人工智能操作系统。支持 Console、Web、Discord、Telegram、微信、企业微信、飞书、QQ 等平台,支持工具调用、会话存储、图片输入、OCR 回退、Computer Use、MCP 和记忆能力。

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages