平时我们用 AI,可能是打开 ChatGPT 聊聊天,或者使用 Codex、Claude Code 帮忙写代码、处理项目。每个工具都有自己的使用方式,如果只是自己使用,问题不大。
但如果是一个团队,情况就不太一样了。
比如,团队成员各自使用不同的 AI 工具,模型 API Key 也需要单独配置,任务做到了哪一步、结果怎么样,有时候也不太好统一管理。
有没有办法把这些东西放到一个地方?
最近我用的 SoduWork就可以解决我的这些困惑。
它可以把 AI 模型、Agent、任务管理和插件整合到一个平台中。简单来说,就是让团队不只是使用 AI 聊天,还能围绕具体任务安排 AI 干活。

一、认识 SoduWork
SoduWork 是一个面向团队及其 Agent 的 AI 工作平台。
它支持 Pi、OpenCode、Codex、Claude Code 等 AI Harness。可以简单理解为让 AI Agent 真正运行起来、调用工具并完成任务的运行环境。
它和普通 AI 聊天工具最大的区别,就是不只是让 AI 回答问题,而是希望把整个工作过程也管理起来。

比如,一个任务从创建、分配,到 AI 执行、检查结果,最后完成交付,都可以放在一个平台里进行管理。
目前比较值得关注的功能有:
- 多 Agent 协作:让不同的 Agent 参与任务。
- 任务管理:统一查看和管理 AI 任务。
- AI 复核:对任务结果进行检查。
- 插件工作流:通过插件扩展 AI 能做的事情。
- 团队管理:可以创建用户、分配权限和使用额度。
- 私有化部署:可以把平台部署在自己控制的电脑或服务器上。
二、开始安装:先把运行环境准备好
第一次接触 SoduWork,建议先在自己的电脑上跑起来。
它提供了几种部署方式:
| 部署方式 | 适合什么情况 | 数据库 |
|---|---|---|
| 源码运行 | 自己体验、单机测试 | SQLite |
| Docker 部署 | 小团队使用 | PostgreSQL 16 |
| 团队部署 | 正式团队使用 | PostgreSQL |
如果只是想先体验一下,我更建议选择源码运行。不需要额外准备数据库,直接在自己的电脑上就可以完成部署。
这里要注意,源码运行和 Docker 部署是两套独立的安装方式,两边的数据不会自动同步。
后面想换部署方式,需要另外处理数据迁移。

1. 检查电脑环境
在安装之前,需要先准备好几个基础工具:
| 工具 | 版本要求 |
|---|---|
| Python | 3.12+ |
| Node.js | 22.19+ |
| npm | 随 Node.js 一起安装 |
打开电脑终端,分别输入下面的命令:
bash
python --version
node -v
npm -v
如果能正常显示版本号,就说明对应环境已经安装好了。

如果还没有安装,需要先把它们安装好。
注意:第一次启动 SoduWork 时需要联网下载一些依赖和 Electron 运行环境,所以尽量保证网络正常。
2. 下载项目源码
环境准备好之后,就可以下载 SoduWork 了。
项目 GitHub 地址:
https://github.com/mdiri-ai/SoduWork

打开项目仓库,点击:Code → Download ZIP
把源码下载到电脑上,解压即可。
3. 启动 SoduWok
解压完成后,进入 SoduWork 项目根目录。
Windows 用户:
直接双击:
latex
start.cmd
macOS 用户:
双击:
latex
start.command
第一次启动时,可能需要稍微等一会儿,因为系统会自动处理依赖安装、管理页面构建、数据库初始化等操作。
随后会启动 Hub 服务、管理后台和桌面客户端。
4. 设置管理员账号
第一次启动时,系统会要求设置一个管理员账号的密码。

按照页面提示设置密码即可。
这里有一个要求:密码长度需要在 12~128 个字符之间,而且需要输入两次确认。
设置完成后,不要着急关闭启动窗口,等它完成初始化。

5. 打开管理后台
当终端出现类似下面的信息时:
latex
SoduWork is ready:
http://127.0.0.1:18989
Administrator: admin
就说明服务已经启动成功了。
接下来打开浏览器,访问:
如果进入的是项目介绍页面,点击「进入管理后台」,就可以看到登录界面。
使用刚刚设置的账号密码登录:
latex
账号:admin
密码:自己设置的管理员密码
到这里,SoduWork 就已经在本地运行起来了。

三、配置模型和用户
前一节讲完了安装,环境已经就绪。这一节开始配置平台,让它能真正跑起来 AI 任务。
要做的事情分三块:先把团队成员建好,再接入模型网关、配上模型供应商和 API Key,最后把桌面客户端启动起来。
1. 创建用户
进入管理后台后,可以进行用户管理。SoduWork 支持创建不同的用户账号,并根据团队情况分配使用权限。

例如,可以为团队成员分别创建账号,再设置所属部门、使用权限和额度。
这样每个人都有自己的账号,不需要所有人共用一个管理员账号。
2. 接入模型网关
接下来就是模型配置了。
这里需要注意,SoduWork 并不自带模型 API Key,所以我们需要自己接入模型服务。

我这里采用的是模型网关的方式。
可以把模型网关理解成一个中间入口:平台通过它去连接不同的模型服务,不需要每次都直接对接不同的模型供应商。
3. 添加模型供应商和 API Key
模型网关接入之后,就可以继续添加模型供应商和 API Key。

配置完成后,还需要把模型授权给相应的团队成员。SoduWork 有一个非常实用的功能------管理员可以统一配置模型 API Key,再授权给员工使用。
这一设计很贴合我们团队日常工作的实际情况。
以前用 AI 工具时,要么每个人各自申请 Key、记在各自电脑里,要么把一份 Key 在小群里来回发。最后谁也说不清谁在用哪份 Key、额度还剩多少。
现在由管理员统一管起来,员工拿到授权就能用,不用再关心 Key 从哪来,管理员这边也能清楚看到资源分配情况。
对小团队来说,这几步配置省掉的是后面反复沟通和排错的麻烦,配置一次就能长期使用。
4. 启动桌面客户端
模型配置完成后,接下来需要检查桌面客户端。
正常情况下,首次启动项目时会自动启动客户端。如果客户端没有正常启动,也可以手动进入项目中的 client 目录。
打开终端,先进入 SoduWork 项目根目录,然后执行:
bash
cd client
npm ci
npm start

常用命令:
cd client:进入客户端目录。npm ci:安装客户端所需要的依赖。npm start:启动桌面客户端。
这里有几个小细节需要注意。
第一,执行命令时一定要确认自己已经进入 client 目录,不要直接在 SoduWork 项目根目录下执行。
第二,第一次启动或者依赖发生变化时,需要执行 npm ci。如果之前已经安装好依赖,日常启动就不需要重复安装,直接执行:
bash
npm start
第三,如果启动时提示 Electron is missing,需要根据项目说明配置镜像、允许 Electron 安装脚本,并补装 Electron 相关文件。
如果客户端启动后提示「本机底座暂不可用」,则需要检查 hub-backend 目录下的 .venv 环境,并安装 requirements-runner.txt 中的依赖。
5. 检查模型是否配置成功
客户端成功启动后,使用前面创建的用户账号登录。然后检查之前配置的模型能不能正常显示。

如果模型已经出现在客户端中,就可以说明前面的模型配置和客户端连接基本完成了。
到这里,我们已经完成了 SoduWork 的基础部署,接下来就可以进入实际体验了。

四、让 AI 真正开始干活
最近做数据清洗时,手头有不少 CSV 文件需要先摸清整体情况。我随手把其中一个交给 SoduWork,让它统计每一列的空值数量。
1. 准备测试文件夹
首先,在电脑上创建一个文件夹,例如:
latex
~/soduwork-test
然后在里面放入csv文件。
2. 设置聊天环境
打开 SoduWork 客户端,在首页可以看到消息输入框。

正式发送任务之前,先检查消息框下方的几个配置项。
Local / Cloud(本地 / 云端)
这里选择 Local。让 AI 在当前这台电脑上执行任务,而不是使用云端运行环境。

Work location(工作位置)
工作位置选择刚刚创建的 soduwork-test 文件夹。
选择之后,Agent 就可以在这个文件夹中读取和写入文件。
如果选择默认工作区,SoduWork 会为当前聊天单独创建一个文件夹;如果选择现有文件夹,Agent 就会直接在你指定的目录中工作。

Access(访问权限)
访问权限可以根据实际需要选择:
- Default access:默认权限,普通操作自动执行,涉及敏感操作时会先询问。
- Read only:只读权限,只能读取文件。
- Full access:完全访问权限,还可以写入文件、运行命令和使用网络。
建议先使用 Default access,遇到需要授权的操作时,根据提示确认。

Model(模型)
选择前面已经配置好的模型即可。

Runtime(运行时)
这里选择 Pi。

这些配置完成后,聊天环境就准备好了。
3. 创建并运行第一个任务
接下来直接在消息输入框中发送下面这段提示词,让 AI 在当前文件夹中编写一个 Python 脚本,读取 data.csv,统计每一列的空值数量,并将结果以 Markdown 表格的形式输出,最后运行这个脚本。
latex
Write a Python script in this folder that reads data.csv, counts empty values in each column, and prints the result as a Markdown table. Then run it.

发送之后,就可以看看 Agent 如何完成任务了。
它需要读取 CSV 文件、编写 Python 代码,然后执行脚本并返回统计结果。

如果一切正常,页面上就会显示每一列对应的空值数量。
SoduWork 的方便之处在于,只需要描述想完成什么,Agent 就能在指定的工作目录中处理文件并执行任务。
4. 运行第一个插件
除了直接发送任务,SoduWork 还支持通过插件扩展 Agent 的能力。在客户端的消息输入框中,直接输入 /,就会弹出插件列表。

如果插件比较多,可以继续输入名称进行筛选。
这次我们选择 Plugin Developer(插件开发者)。
选中之后,按照对应的插件说明,在消息框中输入任务要求并发送即可。

借助插件,Agent 不只可以做普通的 AI 对话,还能调用具体插件来完成更具体的工作。
插件如何开发和运行,可以结合实际操作继续展开:从准备文件、配置聊天环境,到让 Agent 编写并运行 Python 脚本,再到尝试调用插件。
后续还会继续体验更多任务和 Agent 协作场景,大家期待一下吧。
写在最后
体验下来,我觉得 SoduWork 最牛的是它把原本分散的 AI 工具和团队工作流程放到了一起。
以前我们可能是自己打开 Codex 写代码,再切换到 Claude Code 处理其他事情。现在则多了一种思路------把这些 Agent 放到同一个平台中管理,让它们围绕任务开展工作。
如果你也在折腾各种 AI Agent,可以先把 SoduWork 部署起来,后面再看看它能不能真正融入自己的工作流程。
项目地址:https://github.com/mdiri-ai/SoduWork ,动动大家的小手,先来个star吧