本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
历时两个月,每天平均蹬了gpt ,2到4亿token,现在我宣布,1flowbase终于可以发第一版了,终于可以端上来和各位佬们唠嗑唠嗑了。
为什么要做这个项目?
因为我对于本agent中间过程实在很好奇,Claude code 里面是怎么拼接提示词?
为什么有时候我打一个hi?token就狂涨?我们在给Hermes 或者openclaw里面发送了一个消息,他到底干了多少事?
如果我们要构建harness工程,那么我认为首先我们要能观察到模型在干嘛,然后针对他机制,进行文件,提示词优化,不同提示词之间,tokens消耗是多还是少,一切都一切,目前都没有一个让我满意项目,所以我决定自己手搓。
前后端分离,前端打包成静态文件,后端用rust,数据库使用pg,原本有redis我也干掉了,因为我目标是轻量的单机部署,我希望哪怕是1c1g的小鸡都能跑的起来,但是实际上我也没跑起来过,如果有佬跑起来,如果可以的话,分享一下他的资源情况,我想要看看他消耗如何。
好吧,言归正传,为什么我这么执着看到ai调用整个过程?
因为我认为看到,感知到才是调教ai 第一步,就像是22年毕业当后端实习生那会儿,系统报错总是喜欢疯狂打印日志debug,println(“日志–”)。
我认为本质上软件工程和调教ai harness工程并没有太多本质区别,或者我认为
写代码就是给机器写规则,写提示词构建harness其实是给ai写规则。
当然也有很多佬,会表示,其实现在模型很强大了,直接说就可以了,完全没必要调教。
是的,对于个人来说是这样,但是对于一个商业化项目来说这里涉及 成本,单位经济。
在互联网时代,我们软件开发好之后,丢到线上,代码能跑,基本上就能坐着收钱,所以吕氏春秋有云"互联网逻辑,就是先免费,再收钱。"那个时候大量免费,广告行业蓬勃发展。
但是在ai时代,大模型算力,API成本,改变了这个逻辑,烧钱成本剧增,并且带来一个单位经济问题,成本,正常来说个人和中小企业其实都是调用大模型产商的API,然后你就会发现,
ai越强大,价格越贵,效果越好,用户用得越爽,你成本越高,如果没有做好单位经济计算成本计算,那么你就发现一个事情,用户越多,亏得越多。
当然对于openai,anthropic 这些有着资本支撑,这些都不是问题,亏的越多,烧的越多,所有都会狂欢,但是对于我们这些没有资本支持普通ai创业者来说,你就发现,如果要开放ai能力,tokens的单位经济就是一个必须要算账。
但是小模型成本低干不了活,高级模型模型能干活,但是贵。
那么他们可不可以组合起来呢?当然可以了,Claude code 很多本地agent都是这样让低参数模型去总结的。
综上所述,1flowbase这个项目解决下列问题:
1,本地agent黑盒
很多时候本地agent工作时候我们是看不到他在干活,这个时候你想要调试,你只能靠猜,然后修改一下你措辞,但是这样临时改其实和harness功能调试来说并不是很友好。
- 如果对于Claude code ,codex,openclaw,Hermes 这些本地agent的历史记录感兴趣,那么1flowbase提供事无巨细的日志,你可以看清楚本地agent拼接哪些提示词发送给你大模型上游。
- 如果你对于为什么发一句hi,就消耗了17ktoken 干到困惑,那么1flowbase统计每一次输入输出,缓存命中记录,每一次工具回调产生token?
- 如果你还想要针对聊天记录来优化你项目的harness功能,他为什么这样发消耗会少,为什么这样发,模型走那些路径他消耗会低,如何减少模型无意义探索路径,我认为这个是项目当前阶段1flowbase最能够给到各位佬的帮助。因为1flowbase提供事无巨细日志,所以请不要随便在外面接1flowbase,不然你了解记录可能会被第三方卖出去。
2,手上有很多大模型账号,但是切换麻烦
我之前一直有这样苦恼,就是大模型账号太多切不过来,比如说雷总多模态,自己开的gpt,以及一些公益站,然后你就会发现所有模型都各有所长,那么能不能我在客户端值配置一个供应商,比如我配置一个模型供应商,然后我把他们全部路由,起来放到一个里面Deepseek ,Claude ,gpt,mimo,grok ,全部塞到一个模型供应商里面,这样我直接下拉选择模型就好了。
3.编排独属与个人习惯大模型
我知道第二点相对于sub2api和CPA已经很成熟了,并且大多数佬只有大概就是转换一下,gpt 5.5里面转换到Claude code里面用,如果你的需求只有这些,那么我推荐你用现有成熟反代CPa,sub2更好。1flowbase更加专注下面,那就是通过工作流编排成为一个虚拟模型,本地agent看似是在请求一个模型API,实际上他是在走一整个工作流,当然这个对于佬来说需要一定门槛,但是我觉得中文社区里面,大概就这里能过这个门槛,并且有探索欲。
虚拟模型会不会减少缓存命中?
如果你只是第一种用法,去构建一整套工作流然后塞进去,那么不属于之前聊天对话是有可能破坏缓存。
为此我们给节点提供history(历史对话上下文)变量,你可以自己改造拼接成为高命中缓存,或者前面套一个节点来优化去掉无意义上下文,达到节省token交互。
并且我们将系统提示词剥离出来,作为一个变量,这样你可以在不继承上下文时候也能够用到对应系统提示词

虚拟模型(Virtual Model)
虚拟模型就是指,你可以通过工作流编排组合你agent大模型供应商,对于本地agent工具如Claude code ,codex,openclaw, Hermes ,aionui,来说他们是无感,他们接入大模型接口就像上游大模型一样。
可以这样编排工作流
串行
手动组合Deepseek V4 多模态
让LLM顺序执行,比如说你在Deepseek v4前面套一个Gemini 作为视图,这样用户甩一个图片过去,让Gemini 看完图之后,总结将文字信息和用户问题发给Deepseek,让Deepseek 像多模型一样干活。
手动控制不同厂家模型同一个任务不同工作节点环节
我们知道,每一个家大模型都是各有所长,并且长上下文有腐烂问题,
那么我们是不是可以,发一个任务,gpt先干完后端和功能,然后再给Gemini 美化前端页面
智能路由:
还是上面例子, 我们可以不可以先让一个LLM分析当前这个任务应该给哪一个节点,然后再分发到对应节点,比如说后端实现给gpt,前端ui美化分发给Gemini。
使用教程
你可以在大模型供应商里面配置你的模型,目前支持国外御三家和Deepseek:

然偶在工作流编排的LLM节点选择你配置模型:

然后直接发布为你openai/anthropic的兼容API 接口


然后你就可以将这个模型放到css中:


当然你可能会好奇,是不是模型id随便写都可以。
当然不是,你如果不配置,怎么知道模型上下文和压缩上限呢?
你需要在开始节点中配置对外提供模型信息:

这样openai协议可以直接拉到模型上下文这些,anthropic 也可以知道上下文情况和协议情况。
然后你就可以直接在Claude code 对话使用

然后你就可以在日志中看到详细信息:

注意:"—下面美化内容"其实我手动组合回答:

并且不仅仅回答,而是所有消息,比如说你可以看到Claude code 是如何拼接系统提示词:

我们可以明显看到,Claude code 真的会向anthropic 服务器发送版本号这些信息。
如果是一个复杂任务,我们有详细回调日志:

可以看清楚每一步消耗

我们还有报表,统计每一个应用token消耗情况


基本上好多都塞进去,因为我绝对界面可以慢慢调,但是数据一定要全,一言就能看到自己想要关注指标和数据。
这就是虚拟模型,可以任意组合分发发布对应为对应大模型接口,让个人和非大模型基座企业也能发布自己专属大模型。
发布大模型不在仅仅是openai,anthropic 这些基座模型权利,个人和企业能上桌吃饭了。
其他功能
这些就是全部了吗?当然不是,因为我们愿景不仅仅如此,我要做的是:

目前还在做功能,低代码,你可以在工作流中将对话或者其他中间产物存入数据库,然后快速创建页面查看。
定时任务:定时将最近聊天记录抽出来,整理归纳,甚至每天早上发一份日报告诉你昨天做了什么?有哪些可以改进,哪些要继续维持?
导出聊天记录(计划中):导出聊天记录为大模型训练,以后算力丰富之后,可以自己哪来训练大模型,当然数据是你的想怎么处置都可以。
我打算,以后将我开源项目和开发ai聊天记录脱敏打包挂出去卖,这样开源star越高,我数据越值钱,隐私?什么隐私?我代码都开源,怎么这数据,
官方卖得?中转站能卖,我怎么卖不得?
数据我有,优势在我!!
我们要构建是一流基础,所以你对于1flowbase 有什么改进建议意见,欢迎留言,私信,issue,当然也可以先点一个star观望一下。
项目地址:
最后:
祝各位佬,儿童节快乐,今天是周一,也许很多佬已经将头发梳成大人模样在上班了,但是衷心希望你,有那么一段时间,可以什么都不想,做自己开心事情就好了,就像儿时的你一样
更新日志
2026-06-03
1.对于项目做了以此大体检和pnpm环境升级至11,修复9个安全漏洞
2.对于if节点和codex节点进行优化
if节点,判断条件支持条件+条件组,and就是要满足全部条件,or就是满足这个判断任意条件

ui这方面我尽力,gpt面对前端真的无力。。。
增加多种值比较,如为空,存在,计算等号,字符串,正则匹配这些。
code节点优化:
主要是增加了一个object和array的JSON Schema,只有满足history变量结构才会允许直接作为上下文继承


4.docker镜像增加arm支持
经过的一个佬友反馈,他电脑用不了,然后发现果然只打了x86镜像,所以这次也增加多CPU架构镜像
