MuLi 是面向个人电脑的常驻助手:聊天、管理文件、搜索资料、记忆偏好、接收任务,以及让多个 agent 分工和复核。主要适配 Arch Linux 和其他 Linux;网页与核心服务支持 macOS / Windows,桌面操作和用户服务的能力按平台显示。
角色形象是十八岁的少女,定位为数字生命与本地助手,不设定恋爱关系。青瓷蓝工作台将对话放在中心,执行轨迹、审批和设置按需展开。
能力
| 领域 | 当前实现 |
|---|---|
| 模型 | OpenAI Chat Completions、Responses、Anthropic 原生协议;流式/非流式、推理参数、工具回放、重试预算 |
| 协作 | 持续主身份、动态 spawn/send/wait/resume/stop 团队、可跨重启的增量结果游标、依赖工作流;历史成员无固定上限,执行有资源预算 |
| 权限 | ask 每个工具调用询问;auto 独立审查 agent,风险操作交给用户;yolo 自动执行 |
| 文件 | 目录、读取、写入、精确编辑、搜索、复制、移动、可恢复回收站 |
| 搜索 | SearXNG / Brave / Tavily 可配服务,有限大小网页读取与来源链接 |
| 记忆 | 分层原文与后台提炼、关键词/embedding/关系图混合检索、reranker、多来源别名与实际召回路径、相关资料与侧写共同注入、原文分页核查、冲突修订、来源级忘记 |
| 电脑 | Linux AT-SPI 应用/窗口定位与节点操作;实验性 macOS AX 前台应用及原生引用;可选有界截图、录屏与统一附件引用 |
| 渠道 | 可选 OneBot/NapCat、Telegram、QQ 官方机器人和微信 iLink;同一主身份、Team 后台报告保留原渠道、失效目的地持久阻塞与本地文件收发 |
| 语音 | 独立默认关闭的网页录音转写草稿、本地中文声学唤醒与声纹桥接、录音参考、OpenAI 兼容 ASR/TTS;不附带本地模型 |
| 主动事件 | chiliarch 原生配对与 SSE 任务;持久提醒、维护结果与新版通知进入主会话,独立更新可按默认或显式记忆绑定通知,可选 Linux 桌面通知,无 AI 轮询 |
| 扩展 | Agent Skills 渐进读取、用户目录 Python 插件与可选 MCP;工具、提示词、模型、路由和生命周期可扩展 |
| 长任务 | 完整标题目录与已保存正文分页续读、后台分层压缩、协议回放、持久收件队列、完整任务说明、明确暂停与补充要求后的重新规划 |
| 管理 | 模型、权限、工具、目录、记忆、工作流、通知、服务状态与日志统一入口;self_logs 读取自身日志,self_events 分页回查保留错误;活动工作流独立分页与逐次停止 |
启动
需要 Python 3.12+ 和 uv。前端无需安装 Node 依赖或构建。默认运行不依赖 Docker、向量数据库或本地模型。
uv tool install muli-agent
MuLi init
发行名称是 muli-agent,命令为 MuLi 或 muli。init 会询问称呼、主模型完整参数、视觉能力、监听地址和密码,然后安装当前用户的后台服务、启用登录启动并请求启动。可用 --no-service 跳过;--defaults 只创建默认配置。服务不可用时保留配置并给出 MuLi serve 前台启动方式。工作台默认 **http://127.0.0.1:8765**,沐璃会逐步协助配置其它能力。独立审查使用无工具上下文;工作、压缩和记忆提炼模型未单独配置时复用主模型。API key 可从环境变量读取。
默认所有内容集中在 ~/MuLi:config.json、data/、plugins/、prompts/、logs/ 和可选只读源码参考 source/。MULI_HOME 设置根目录,MULI_CONFIG / MULI_DATA_DIR 或 CLI --config / --data-dir 可单独覆盖。初始化不覆盖已有配置;旧路径不会被自动搬走。密钥不出现在配置读取 API;配置文件和数据库使用私人文件权限。
MuLi --config /path/config.json --data-dir /path/data serve --port 8766
MuLi doctor
模型连接尚未配置时,界面可用于管理,不会伪装产生模型回答。独立审查未配置或失败时,auto 转为人工审批。
QQ 官方机器人和微信 iLink 使用可选加密依赖:uv tool install 'muli-agent[channels]';同时需要 MCP 时使用 uv tool install 'muli-agent[mcp,channels]'。默认安装不包含本地语音或 GPU 模型;平台接入方式见渠道说明。
没有发令会话的主动通知默认留 WebUI,可在“消息渠道 → 主动通知”一次设置外部默认。第一期仅启动自主更新检查使用该默认;新任务提醒保存原请求来源,旧记录与日志留本地。默认更改只影响新事项,撤销后的待发项 blocked,unknown 不自动重试;见默认通知的配置与边界。
后台服务
MuLi service print
MuLi service install
MuLi service enable
MuLi service start
MuLi service status
journalctl --user -u muli.service -f
也可在工作台的系统设置中安装、启动、停止、重启和启用登录启动。服务属于当前用户,不需要 root;内存、CPU 和进程数有 systemd 上限。配置修改后重启服务才能应用监听端口变化。
Linux 使用 systemd 用户服务;macOS 使用 LaunchAgent;Windows 使用当前用户计划任务及 pythonw.exe,不弹出命令窗口。它们通常随用户登录启动。Linux 退出登录后仍需运行时,可按系统策略启用 user lingering;MuLi 不更改系统登录策略。桌面权限与实际平台验证范围见平台能力。
权限与资源
所有模型发起的工具调用经过同一个权限门,子 agent 继承模式,不得自行提升。工作目录列表是文件工具的访问范围;yolo 也不会取消配置的预算和工具禁用状态。shell 与桌面操作具有当前用户能力,auto 会交给用户确认;路径范围不是操作系统沙箱。
文件操作默认限于用户主目录,可在设置里修改。文件读取/写入、网页下载、命令输出、工作流节点与并行数均有上限。删除使用回收站,跨文件系统回收拒绝隐式复制大目录。重启后未完成任务标为中断,不盲目重复可能已有副作用的操作。
进一步阅读
- 架构与执行边界
- 模型协议与参数
- 多 agent 工作流
- 任务暂停、补充要求与重新规划
- 上下文与长任务
- 个人记忆设计
- MCP 扩展
- Agent Skills
- 用户插件与自身管理
- 压缩后的证据续读
- 查找全部运行记录
- 查看已保存的正文
- PyPI 与发布流程
- 桌面通知
- 系统注意事项与主会话唤醒
- 系统日志事件与通知级别
- chiliarch 接入
- 可选通讯渠道与本地文件收发
- 跨平台服务、截图和录屏
- 应用、窗口与无障碍操作
- 中文唤醒与声纹桥接
- 工作台交互
- 事件订阅与恢复位置
- 会话恢复与当前执行
- 开发验证与资源保护
- 配置、迁移与运维
- 迭代记录
- 版本变更
开发与验证
git clone https://github.com/69gg/MuLi.git
cd MuLi
uv sync --locked
uv run MuLi init --no-source --no-service
uv run MuLi serve
# Linux 本地验证:先核验 cgroup 限制,再执行;复用已安装依赖,默认离线
python scripts/check_local.py run -- .venv/bin/python -m pytest -q
python scripts/check_local.py run -- .venv/bin/ruff check .
python scripts/check_local.py run -- .venv/bin/ruff format --check .
python scripts/check_local.py run -- .venv/bin/mypy
python scripts/check_local.py frontend
python scripts/check_local.py run -- uv build --offline
python scripts/check_local.py run -- .venv/bin/python scripts/check_wheel.py
本地检查入口覆盖子进程,并在执行前核验内核实际限额:单次 1 GiB、所有 worktree 合计 2 GiB、swap 0、共享一个逻辑 CPU 的等效时间预算、128 个任务、每次最长 180 秒。前端文件单并发,Node 堆另限 256 MiB;超时或局部 OOM 回收整组任务。没有 systemd 用户服务或 cgroup v2 时拒绝执行,不降级为无保护运行。使用方式和边界见开发验证。
测试使用临时目录、模拟 HTTP/SSE 与假模型,不使用真实模型额度、不点击真实桌面。托管 CI 在 Linux、macOS、Windows 与 Python 3.12/3.13 上验证核心;操作系统特有测试按能力跳过。开发入口的 Linux 要求不改变产品的跨平台支持。
协议测试通过不代表特定供应商已联调;AT-SPI 能否读取某个应用取决于桌面会话和应用的无障碍支持。参见各模块文档中的已验证边界。
旧版源代码保存在 Git 历史基线 6e22bf3。旧 config.json、历史数据及本地环境不会被启动程序自动覆盖。
Metadata
Release files for muli-agent 2.17.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| muli_agent-2.17.0.tar.gz | 3.1 MB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| muli_agent-2.17.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.7 MB
Release files / muli_agent-2.17.0.tar.gz
| Download URL | muli_agent-2.17.0.tar.gz |
|---|---|
| Size | 3.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
75e04dc2f322d7fe05953b4aae839b3586f5c336eff7403c751fa7259aba5a7d
|
|
BLAKE2b-256 checksum How to use checksums |
71f69a2b5835a7635fcba0567debccacd4a5ce976b0e5398478a9a82da808dc5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logRelease files / muli_agent-2.17.0-py3-none-any.whl
| Download URL | muli_agent-2.17.0-py3-none-any.whl |
|---|---|
| Size | 537.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
34f6ef184e803144f9b8be10ab55ead56aa3ef2e2f0c789c49520e272245aae0
|
|
BLAKE2b-256 checksum How to use checksums |
02c8fe494d2cca7411ef935a32624590ed79d2ae3ef075ee0cbeaba3a2b11f26
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logSecurity for muli-agent 2.17.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for muli_agent-2.17.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.