Ailice
可将复杂指令拆解为协作子任务的自托管通用 AI 助手。
- Star 数
- ★ 1.4k
- 最近更新
- 1 年前
- License
- MIT
- 主语言
- Python
- FA 评分
- 50/100 · 缺口较多
30 秒速览
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 开始前需要
- 典型场景
- 需要在本机或容器中完成研究、资料阅读与结果汇总的个人用户。
- 主要局限
- 默认使用 Google 模块时存在频率限制;高频使用需申请 Custom Search JSON API 凭据并安装 google-api-python-client。
这个 Agent 能做什么,适合哪些场景?
Ailice 是一个以开源 LLM 为基础的自主通用助手,可通过浏览器提供对话界面。其核心计算模型为 IACT(Interactive Agents Call Tree):AProcessor 可创建子代理、向调用方请求补充信息,并将结果返回到调用链中。LLM 输出由 core/Interpreter.py 解析为函数调用、变量操作及其他动作,外围模块以独立进程方式提供搜索、浏览、代码执行、向量数据库等能力。项目支持统一模型配置,也支持通过 config.json 为不同类型代理指定不同模型。它可本地运行或使用 Docker 隔离运行,并可将 stdio 或 SSE MCP 服务器包装为扩展模块。
用户通过 ailice 或 ailice_web 启动服务,并在网页对话界面提交任务。主代理可将请求分配给不同子代理;AProcessor 在多轮对话中调用外围模块,Interpreter 将匹配的 LLM 文本解析为操作。系统支持变量定义、变量引用、文本拼接和函数调用;代码块可被保存为变量后再交给执行模块。config.json 的 services 可启动独立模块进程,或用 ailice_mcp_wrapper 将本地 stdio MCP 服务和 SSE MCP 服务接入;任务完成后将结果返回至对话链路。
- 需要在本机或容器中完成研究、资料阅读与结果汇总的个人用户。
- 需要让助手执行编程、脚本运行或系统管理类多步骤任务的开发者。
- 希望通过 config.json 为主代理、搜索代理等不同代理配置不同模型的团队。
- 需要将自建 stdio 或 SSE MCP 服务器接入助手工具链的集成开发者。
- 需要语音对话、图片/音频/视频富媒体界面及文件上传下载能力的本地部署用户。
如何安装或部署这个 Agent?
安装前准备 Python 与 Chrome。执行:
git clone https://github.com/myshell-ai/AIlice.git
cd AIlicepip install -e .
如需 PDF 阅读、语音、Hugging Face 模型或微调功能,按需安装 pip install -e .[pdf-reading]、pip install -e .[speech]、pip install -e .[huggingface] 或 pip install -e .[finetuning]。需要隔离运行时可执行 docker build -t ailice .,再执行 docker run -it -p 127.0.0.1:5000:5000 --name ailice ailice --expose=1 --contextWindowRatio=0.2。
如何使用这个 Agent?
首次运行会要求输入 API key;也可编辑启动时输出位置的 config.json。首次可执行:
ailece --contextWindowRatio=0.2该命令在源码示例中应为 ailice:
ailece 不是已文档化命令;请使用 ailice --contextWindowRatio=0.2。
启动后打开其提供的网页,在对话框输入任务。可指定模型,例如 ailice --modelID=anthropic:claude-sonnet-4-20250514 --contextWindowRatio=0.2;不指定 modelID 时,会使用 config.json 中 agentModelConfig 为不同代理设置的模型。运行参数可通过 ailice --help 查看。要接入 MCP,在 config.json 的 services 中配置 ailice_mcp_wrapper,例如以 stdio 模式包装 mcp_echo hello。
这个 Agent 有哪些优点和局限?
- IACT 调用树允许子代理在遇到信息不足或困难时向调用方回询,而非只有单向函数调用。
- 外围能力以独立进程模块提供,模块可在不同软件、硬件或远程环境运行。
- 已文档化支持将 stdio 与 SSE MCP 服务器通过 ailice_mcp_wrapper 接入。
- 同时支持商业模型、OpenRouter/Apipie、Hugging Face 本地模型,以及兼容 OpenAI API 的推理服务。
- 支持按代理类型配置模型,便于在性能、成本与本地资源之间组合取舍。
- 默认使用 Google 模块时存在频率限制;高频使用需申请 Custom Search JSON API 凭据并安装 google-api-python-client。
- 本地高质量复杂任务的文档建议使用 70B 以上模型,并称有效运行至少需要两张 RTX 4090(48GB 显存)。
- 最佳支持环境是 Ubuntu;Windows 未集成命令执行工具且测试较少,文档建议 Docker 或 WSL。
- 首次使用开源模型、语音识别或 TTS 时可能需要下载权重,耗时并占用磁盘空间。
- 公开分享链接功能因安全原因暂时移除,且文档明确警告不要将 app.py 服务暴露给不可信网络。
这个 Agent 与同类方案有什么区别?
Ailice 可直接使用官方 OpenAI、Mistral、Anthropic 与 Groq 模型接口;也可通过 OpenRouter 或 Apipie 路由模型。对于本地或非 OpenAI 兼容推理服务,文档给出了 LM Studio,以及 Ollama 加 LiteLLM 转换为 OpenAI 兼容接口的配置路径。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|
| Ailice 当前 | 50 · 缺口较多 | ★ 1.4k | 1 年前 | Python | OpenAI API · Claude API |
| Keinsaas Navigator | 69 · 存在缺口 | ★ 1.2k | 1 个月前 | TypeScript | OpenAI API · Claude API |
| Conductor 工作流引擎 | 68 · 存在缺口 | ★ 32k | 1 天前 | Java | Claude Code · OpenAI API · Claude API |
| Hermes Agent | 67 · 存在缺口 | ★ 248k | 今天 | Python | OpenAI API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:项目提供沙箱运行选项(Docker),并建议在隔离环境中运行;用户可配置API密钥,但未提供细粒度的权限控制或用户确认机制。数据流透明度有限,未详细说明数据如何被处理或存储。敏感数据处理方面,未明确说明如何处理用户数据或API密钥。依赖安全性方面,依赖列表广泛,但未提供漏洞扫描或锁定版本。外部影响方面,项目可执行代码、安装软件、访问网络,但未提供回滚机制。来源归属方面,作者信息明确,但发布者未验证。扣分原因:缺乏最小权限原则的明确实施,用户确认机制不足,数据流不透明,敏感数据处理不明确,依赖安全性未充分说明,外部影响缺乏回滚,来源归属仅基于作者声明。
证据显示:项目描述与功能一致,架构设计文档详细,但未提供自动化测试结果。依赖可用性方面,依赖列表广泛,但未提供版本锁定或镜像。失败消息方面,未提供详细的错误处理或用户指导。扣分原因:自洽性良好,但依赖可用性未充分保证,失败消息不足。
证据显示:项目面向多种用户场景,提供丰富的示例和用例。能力边界明确,支持多种LLM和模块扩展。触发精度方面,通过自然语言指令触发,但未提供精确的触发机制。环境适配方面,支持多种操作系统和Docker,但Windows支持有限。扣分原因:能力边界清晰,但触发精度依赖LLM理解,环境适配有局限。
证据显示:信息架构清晰,README详细,安装说明完整。命名稳定,版本号明确。示例和FAQ丰富,已知限制部分提及。许可证为MIT,版本变更日志缺失。维护责任方面,作者明确,但未提供贡献指南。扣分原因:信息架构良好,但版本变更日志缺失,维护责任未充分说明。
证据显示:输出可用性高,提供丰富的UI和多种输出格式。边际价值高,提供自主代理能力。成本效益方面,支持多种模型,但本地运行需要高硬件配置。扣分原因:输出可用性和边际价值良好,但成本效益受硬件要求影响。
证据显示:README中的声明部分有示例支持,但未提供独立验证。跨来源佐证有限,未提供第三方评估。事实与推断分离方面,未明确区分。扣分原因:声明可追溯性不足,跨来源佐证有限,事实与推断未明确分离。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 项目允许执行任意代码和安装软件,存在安全风险,建议在隔离环境中运行。
- API密钥等敏感信息处理方式不明确,需谨慎配置。
- 依赖列表广泛,未提供版本锁定,可能存在供应链风险。
- 发布者身份未验证,需谨慎评估。