CPAplus “轻量”解决新版CPA使用统计、凭证管理、费用管理

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容: 我的帖子已经打上 开源推广 标签: 是 我的开源项目完整开源,无未开源部分: 是 我的开源项目已链接认可 LINUX DO 社区: 是 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是 以上选择我承诺是永久有效的,接受社...
CPAplus “轻量”解决新版CPA使用统计、凭证管理、费用管理
CPAplus “轻量”解决新版CPA使用统计、凭证管理、费用管理
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
  • 我的帖子已经打上 开源推广 标签:
  • 我的开源项目完整开源,无未开源部分:
  • 我的开源项目已链接认可 LINUX DO 社区:
  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:
  • 以上选择我承诺是永久有效的,接受社区和佬友监督:

以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出


其实我也不知道这个算不算开源推广,也只是 vibe coding 了一下(但是又要放 GitHub……)。All credit should go to the original developers of CPA and the other referenced repositories, as well as to those who have generously made their API sources available for free as a public service. (中文表述这个好像有点肉麻……
感谢真好记公益站(虽然已经把我号封了:joy:)和qq佬的公益站(如果能给我RPM5加到8就更加感谢了……

轻量”加双引号是觉得可能 SQLite持久化 也不是那么 light,然后把前端和后端粘在一起,可能也并不是那么优雅。

CPA是一个很棒的工具(是个好产品,但原开发者更愿意将其当作工具,表示尊重与理解),也很认可在站里看到各位佬描述的痛点。也是在巧合之下开始了vibe coding修补,献丑CPAplus ,优先解决几个痛点(当然,这只是一个部分人的痛点

我的个人想法是,一些基本的统计确实必须要有,凭证的管理和查询也要更加方便一点,对公益站 API 的支持和使用也要更加好一点。下面我简单说几点:

【使用统计】SQLite持久化

这个基本上没有什么改动,布局换了一点点,然后支持导入旧版 CPA 的使用数据。我记得新版 CPA 不支持旧版 CPA 数据的导入了(?)

【认证文件】增加表格视图

image

修改了表格式图和显示选项( 里面只有“仅警告”需要解释一下,对应于原 CPA 当中“仅显示有问题的凭证”),表格信息支持按表头排序,默认按“上次调用”时间由近至远排列。
相当于把配额管理的功能移到这个认证文件页面下面,之前总是两头跑,很不方便。
现在可以批量查询额度,刷新凭证(CPA 自带的批量禁用启用)——我感觉并不需要频繁地进行额度查询,一般使用的时候随便看一眼上次的查询结果就可以,所以就把查询结果直接写回原始 JSON 文件。

现在有个半自动化的禁用启用功能。半自动化是指额度到达之后不会自动禁用,只有当点击额度查询这个动作执行完,发现额度到达了 100%,此时会自动禁用(包括批量操作);同样的,启用也是半自动,只有执行额度查询,发现额度低于 100%才会自动启用。

但使用之后,看到这个“总消费”列有一种爽感,可能这就是薅羊毛的快乐吧(不是……

没有去除原CPA的卡片视图,可能有人还是喜欢的。

公益站/第三方API友好

缓薅、慢薅、细水长流地薅~~
(再次感谢各公益站提供的羊毛,缓解了一部分人的 Token 焦虑)

image

这里主要对应于CPA中开启强制使用模型前缀prefix 与 “填充优先”的路由策略
以半自动的方式写了skill让AI来配置,把每个公益站的不同模型通过name和prefix进行分组,比如慷慨的真好记公益站:

image
当然也可以把每一个公益站对应一个单独的prefix,但在调用时遇到不稳定情况总要切换就很麻烦。

这样设置完之后,调用模型只用“prefix/modelID”(比如"glm/glm-5.1)的方式即可,一个公益站出问题可以自动到下一个。

其实更喜欢sub2api的设计,但似乎没支持这方面需求。原CPA的分组管理对自己需求不匹配的地方在于:在“请求事件明细”中不能较好地显示出是哪一个来源出问题了,来源显示只包含了prefix,目前将来源修改为显示“name|prefix”组合,如果调用失败可以尽快看出是哪一个出问题。(鉴于之前薅羊毛,薅哪条渠道哪条就末路,现在蹬公益站都蹬得小心,生怕蹬坏了)

与这一块相关的,顺便修复了个别公益站数据统计为0的情况(不是公益站的问题):

image

注:CPA的自动刷新凭证功能设置了一个开关,在config中设置为auth-auto-refresh-enabled: false关闭。因为有时候网络问题可能会直接暴露给奥特曼,比如网络出现无法访问openai时刷新则会自动暴露地区不支持:

image

模型价格

可以手工录入,也可以直接让AI帮你写入数据库,默认的做法是参考佬友项目 agent-usage的获取方式,价格来自litellm

image

这里可以看到哪些模型的价格缺失需要补:

image

虽然前端后端分离对于开发比较友好,但是使用是要多启动一个服务还是有点麻烦。直接把修改好的前端当作静态资源加到docker里了,启动一个服务即可使用。

其他的可以看看文档说明。
项目地址:

github.com

GitHub - 6enta0/CPAplus: Modified from CLIProxyAPI and Management Center —...

Modified from CLIProxyAPI and Management Center — with usage statistics, auth_index-based source resolution, and SQLite persistence

希望咱都可以早日token free~
Love & Peace !

1 个帖子 - 1 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文