开源推广协议
#### 本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
* **我的帖子已经打上 #开源推广 标签:** 是
* **我的开源项目完整开源,无未开源部分:** 是
* **我的开源项目已链接认可 LINUX DO 社区:** 是
* **我帖子内的项目介绍,AI生成、润色内容部分已截图发出:** 是
* **以上选择我承诺是永久有效的,接受社区和佬友监督:** 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
本项目为 VimalinxOS 的开源项目之一。
往期回顾:
^-^ 开源推广协议
本项目为 VimalinxOS 的开源项目之一,以下是该系统的其他开源项目:
啥也不说了先看界面,好看吧 qwq
[image]
项目地址:
事情的起因还是八月的一天,我盯着剪切板里面的亿堆API和key突然开始了沉思……
也就是说,我要把我的这些搜索API、调研API、视频提取API、数据获取API……这么一大堆东西,在我的所有Agent里面单独都配一遍?! …
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
我的帖子已经打上 开源推广 标签: 是
我的开源项目完整开源,无未开源部分: 是
我的开源项目已链接认可 LINUX DO 社区: 是
我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
[A…
年年跑Agent的佬友们都知道,真正的瓶颈从来不是什么显卡,而是内存和CPU ^-^
而今年的电脑行情……


买不起新的,那旧的呢?当然是放AgentsPool了 ^-^
AgentsPool!
让你的Agent不再受单个电脑内存限制之苦!
好了,广告结束,正文开始
我的幻16的 Arch 里面常年跑着不少于 20个的Agent,平时大家都安安静静的写代码还好,可是一旦谁家apk一编译,谁家数据库一测试,谁家突然生了一大堆崽agent,我这摇摇欲坠的32g内存便不堪重负,分分钟OOM,我瘫坐在椅子上,仿佛看到了内存爆炸 ^-^
与此同时,另一边,我还有一个32g内存的老笔记本,8g内存的另一个老笔记本,(两个都是ubuntu),还有一个树莓派4b,这几个加起来内存34G啊……全都在一旁嘎嘎吃灰。
相信看到这里,各位佬友和我的想法是一样的,这不行啊,这得用上啊
于是我就嗖嗖的给他们全都开机设置不让休眠,再让我的ai把他们全都配好ssh连上开用。
ssh是真的好用啊,不愧是上古神器,嘿嘿嘿
然而我没开心多久,我的几个Agent就开始叫了,我一看,那台最大的32g的机器似了?!
在我的一顿深究下,终于发现了根源,心机之蛙一直摸你肚子! 
造成32g大卫戴死亡的原因,是多个Agent差不多同时接入的时候发现这个机器很空闲,于是都想着走这个路,结果就是同时处理了好多好多的请求和重任务,最终不堪重负而倒下了 ^-^ ^-^ ^-^
- 不!我的机机! ^-^ ^-^ ^-^
- 如果,如果有个程序能够自动分配机器的资源,各个进程之间能够协调那就好了……
我听见了机魂的亡语,深受打动,于是 就有了:
AgentsPool !

省流:AgentsPool的原理简要来说就是,Agent 在主机上操作控制面进行登记和分配资源, Worker 在选定机器上报告机器资源和执行任务。
第一步:每台机器运行一个 Worker,定期向控制面上报本机器的:
- 在线状态,确保能不能连接上,以及是否长期在线
- 架构信息,确保任务与架构是否适配
- 内存容量,避免撑死大卫戴
- 磁盘空间,看看数据能否存住。
- Agent 通过查询这些信息,来决定任务调度的目标。
第二步:Agent 向控制面请求特定机器上的 CPU、内存、磁盘 额度。
- 控制面负责检查容量是否充足能否满足需求, 通过后创建 资源租约(记录预留资源),最后返回对应的 访问凭据
- 后续其他 Agent 申请时,控制面就会提前扣除已预留资源,避免拥堵。
第三步: Worker 领取操作,交由本机的 sandboxd 执行。
- 沙盒的隔离环境主要依靠几个Linux底层技术协同实现:
- systemd,代号“管家” ^-^,负责启动、监控和终止任务进程;
- cgroup,代号“资源管理员” ^-^,严格限制任务能使用的CPU和内存上限,防止资源争抢;
- bubblewrap,代号“门禁系统” ^-^,控制进程能看见哪些目录以及能否访问网络;
- 独立的ext4磁盘镜像,代号“专属虚拟硬盘” ^-^,既隔离了文件系统,又严格限制了持久化存储的容量。

- 每次执行都会创建 新的隔离环境,依然会挂载在同一个沙盒的持久目录。让文件可以跨执行复用。
第四步:记录操作,查询结果
- 每个执行请求分配唯一的 操作 ID,避免认错人
- 控制面记录状态,排队中或是正在执行的状态,便于时刻监控
- 输出写入 持久日志,Agent 可边执行边读取,即时获取反馈
- 文件通过 上传/下载接口 传递,专口专线,加了传输优化,超越SSH,速度嘎嘎的 ^-^
通过如上的操作,AgentsPool就能够合理的协同和分配各个电脑里面的算力资源,避免拥堵,最大化的利用好旧设备,让Agent不再省吃俭用 ^-^
后续的开发计划:
- VPS不太方便弄进来,倒是有个本地管理所有家VPS订阅的面板准备开源。
- 毕竟相比本地的这些老本子,VPS的功能貌似更单一且重要,得做好鉴权和指令啥的有点危险
- 打算支持win的原生控制面和服务面运行,现在只能跑在wsl里面不方便。
- Mac咱没设备干不了,期待有MAC热心佬友的支持 ^-^
- 其他的开发计划就看大家讨论的结果啦,有啥需求许愿就行 ^-^
最后,再推广下我的这两个开源项目,他们都是我想做的 VimalinxOS 的一部分



第一阶段是个打包好的Arch + Hyprland,桌面是在Hyprflux的基础上二开的。
纯粹是看Omarchy不顺眼了,就个大号的自带CodingAgent的DSH(还只能改前端)。。。这还能和AI OS沾上边吗(评价是不如DSH也就是好安装了) ^-^
原装搭配了几个我自己写的AI辅助的程序,
- LocalRouter:给AI用的本地统一管理各种数据和服务的网关。
「开源推广」 LocalRouter:聚合你所有的 API 服务并统一调用的 “万能” 本地中转网关 🥳
- AgentSeat:给AI独立的键鼠输入,让Hyprland的GUI也可以在后台支持ComputerUse的轻量小壳子(已开源发布)(即将发布的版本大概可以让大部分linux的GUI程序都有MAC级别的ComputerUSE的能力?)
「开源推广」「VimalinxOS」AgentSeat:让Agent在Hyprland可以有自己的独立键鼠(终于可以用AI给女朋友回消息了哈哈哈 😆
- AgentsPool:统一协调调度家中所有设备的算力,根据不同设备的性质自动暴露,用来给Agent分配算力的极简协调系统。(本项目
- Shuheng:旧瓶装新酒,利用Tmux为我的所有Agent提供互联的能力,实现的本机多Agent互相协调的系统。(即将开源
- 以上的这些基础设施的项目就是在Shuheng的统一协调下,边用边发现问题,然后由gpt5.6sol(主执行)和kimik3搭伙自动迭代的。
- Ai-workspace-template:一个
靠自动薅羊毛来作为目标迭代的(当然现在绝不只是薅羊毛) 通过文件夹规范来实现Agent自主长时间运行并积累经验和不断升级的工作区文件模板。(即将开源
现在正在热血重写文件管理器,打算把文件的存储和索引参数从现在的树形结构改造为图结构,方便AI修改
还得个两三个周左右能打磨完整发布吧? ^-^