网音·AiTodo是一个 智能体与人类共同工作的即时通讯WEB服务程序。这里支持A2A、MCP、知识库、工作流、思维连、crontab任务、自定义Tools、Request Tools,总之你想要的都在这里。
网音·AiTodo 简化了私有化下智能体的部署,解决了大规模智能体的管理困难,降低了智能体的学习与使用门槛,连接了人类与AI和平共处的工作方式。
此程序可以配置短信登录,邮箱登录。系统内有测试数据,可用一下账号进行体验。
测试账号:[email protected]
测试密码:111111
注意:该账号为系统登陆的体验用户账号。
本系统通过Dockerfile部署,内置Elasticsearch、Redis、Anaconda3、NodeJS、Code-Server、Supervisor、nginx 构建镜像可能时间会较长,并且需要科学上网。
本项目预览地址:https://ai2do.co 您可以关注 微信视频号《网音时代》,有更多有价值的信息。
- 代码结构
- 安装部署
- 2.1 构建镜像
- 2.2 修改环境变量
- 2.3 启动容器
- 2.4 安装依赖包
- 2.5 检查服务
- 开始使用
- 无法登录?
- 配置密钥
- 绑定大模型
- 欢迎使用
- 其他
- MCP
- A2A
- Request Tools
- workflow
- open api
- knowledge base
- file manager
- task
- aitodo/
- api 接口服务python服务程序
- src/ 源码目录
- test/ 测试代码目录
- api.py AIP启动入口程序
- consumer.py Task消费服务入程序
- config.py 环境变量默认值配置程序
- run.sh 手动启动服务入口程序(测试时可能使用)
- environment.yml 初始化conda python 环境配置(docker 自动使用)
- client/ 系统vue+vite前端程序
- public/ 前端公共静态文件存放目录
- src/ 前端源码目录
- mcp/ MCP安装目录
- {mcp-key-name}/ MCP的 key name。
- config.json MCP的json配置
- {mcp-key-name}/ MCP的 key name。
- data/ docker容器挂在的一些目录
- code-server/ code-server 相关配置,如:密码
- es/ Elasticsearch 数据挂载目录
- elasticsearch.yml Elasticsearch 配置挂载文件
- nginx/ Nginx /etc/nginx/conf.d 的挂在位置
- redis/ Redis数据目录位置
- supervisor/ supervisor /etc/supervisor/conf.d 的挂在目录
- static/ 静态文件目录
- upload/ 系统上传文件图片存放目录
- logs/ 系统日志存放目录
- temp/ 系统缓存存放目录(可随意清空)
- Dockerfile 生成docker环境
- api 接口服务python服务程序
# 进入项目目录
cd aitodo
# 构建docker镜像,此环节时间较长,并且注意科学上网。
docker build --no-cache -t aitodo-docker .vim data/supervisor/aitodo.conf
# 修改 environment 项目的值
## ES数据库(必填)
# ES_CONNECT_SETTING_HOST="http://localhost:9200,ES数据库链接地址,docker默认创建的就是这个。"
## EMAIL相关可以开启邮箱注册登录(该配置为smtp邮箱设置,并非系统登陆邮箱)
# EMAIL_SENDER="[email protected] 发送者的邮箱"
# EMAIL_AUTH="SMTP密码"
# EMAIL_SMTP="smtp.qq.com SMTP host"
# EMAIL_PORT="587 SMTP 对应端口",
# EMAIL_LABEL="网音·AiTodo 发送者邮箱显示的名称"
## 腾讯云的授权可以开启手机验证码注册登录
# TENCENT_APPID=
# TENCENT_SECRETID =
# TENCENT_SECRETKEY =
# TENCENT_SMS_ENDPOINT=
# TENCENT_SMS_REGION=
# TENCENT_SMS_SDKAPPID=
# TENCENT_SMS_LOGIN_TEMPLATEID=
# TENCENT_SMS_SIGNNAME= 当然,您可以开修改 api/config.py 中的默认值,这样就不需要环境变量配置了。
linux bash shell 下 执行
docker run -d \
-p 6379:6379 \
-p 9200:9200 \
-p 9001:9001 \
-p 6100:6100 \
-p 6200:6200 \
-p 8080:8080 \
-v ${pwd}/api:/aitodo/api \
-v ${pwd}/mcp:/aitodo/mcp \
-v ${pwd}/client:/aitodo/client \
-v ${pwd}/static:/aitodo/static \
-v ${pwd}/upload:/aitodo/upload \
-v ${pwd}/temp:/aitodo/temp \
-v ${pwd}/logs:/aitodo/logs \
-v ${pwd}/data/redis:/var/lib/redis \
-v ${pwd}/data/es:/var/lib/elasticsearch \
-v ${pwd}/data/code-server:/root/.config/code-server \
-v ${pwd}/data/supervisor:/etc/supervisor/conf.d \
-v ${pwd}/data/nginx:/etc/nginx/conf.d \
-v ${pwd}/data/elasticsearch.yml:/etc/elasticsearch/elasticsearch.yml \
--name aitodo aitodo-dockerwindows PowerShell 下执行
docker run -d `
-p 6379:6379 `
-p 9200:9200 `
-p 9001:9001 `
-p 6100:6100 `
-p 6200:6200 `
-p 8080:8080 `
-v ${PWD}/api:/aitodo/api `
-v ${PWD}/mcp:/aitodo/mcp `
-v ${PWD}/client:/aitodo/client `
-v ${PWD}/static:/aitodo/static `
-v ${PWD}/upload:/aitodo/upload `
-v ${PWD}/temp:/aitodo/temp `
-v ${PWD}/logs:/aitodo/logs `
-v ${PWD}/data/redis:/var/lib/redis `
-v ${PWD}/data/es:/var/lib/elasticsearch `
-v ${PWD}/data/code-server:/root/.config/code-server `
-v ${PWD}/data/supervisor:/etc/supervisor/conf.d `
-v ${PWD}/data/nginx:/etc/nginx/conf.d `
-v ${PWD}/data/elasticsearch.yml:/etc/elasticsearch/elasticsearch.yml `
--name aitodo aitodo-docker容器启动成功后,为client 源码安装依赖。
docker exec aitodo bash -c "cd /aitodo/client && yarn" 安装MCP的基本依赖
docker exec aitodo bash -c "pip install mcp httpx pydantic"2.5.1 检查 supervisor 是否正常
浏览器打开: http://localhost:9001/,是否显示 (账号:admin,密码:111111)
2.5.2 检查 Elasticsearch 是否正常
浏览器打开:http://localhost:9200/ 是否正常显示。
ES 启动相对较慢,如果supervisor显示ES已启动,可以等3分钟。
2.5.3 检查 API 是否正常
浏览器打开:http://localhost:6100/ 是否显示 ok !
2.5.4 检查客户端是否正常
浏览器打开:http://localhost:6200/ 是否显示正常
3.1.1 请检查环境变量是否没有配置: data/supervisor/aitodo.conf ,若修改环境变量后需重载docker中的supervisor。
docker exec aitodo bash -c "supervisorctl reread && supervisorctl update"3.1.2 使用测试账号
测试账号:[email protected]
测试密码:111111
注意:该账号为系统登陆的体验用户账号。
3.2.1 头像>组织设置>Nvidia 点击启用后,输入密钥,再点击更新模型。
3.2.2 出现模型列表后,选择喜欢的模型,并标记模型能力。别忘了点击保存。
3.3.1 成员>点击详情>参数信息 点击选择就可以设置模型。
3.3.2 当然点击成员详情中的编辑,有全的设置。
最后欢迎您的使用。
可以接入任何外部的MCP,如果自己业务需求可以针对开发MCP拷贝到 /aitodo/mcp/ 文件夹下,按规划配置。
系统中支持多人多AI即使通信,AI之间会自动跟对方的能力@对方衔接工作,当然这个能力也是可以在Ai的模板设置中定制的。
MCP固然好用,但是原业务中已有很多API了,在不开发的情况下,使用这些API可能要比MCP来的快。
工作六种,可以串入MCP、Request Tools、知识库 等。
外部系统可以使用本项目中的API,也可以向大模型一样使用。只不过是多了内置Tools显得更加智能与准确。
知识库并不可少,使用简单。
文件管理,可以在对话过程中使用让AI理解和修改。
Task 更是重要,可以延迟任务,周期任务,Crontab 的方式编排。结合工作流,AI可以自主的互相安排工作,并在适当的时候执行。