[Pi] pi-switch 中转站太多不方便?基于Rust的TUI形式的Pi模型和提供商管理

OldSun 2026-07-25 18:27 1

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:



  • 我的帖子已经打上 开源推广 标签:

  • 我的开源项目完整开源,无未开源部分:

  • 我的开源项目已链接认可 LINUX DO 社区:

  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:

  • 以上选择我承诺是永久有效的,接受社区和佬友监督:


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






从零开始,基于Rust开发了个类cc-switch的切换提供商的TUI工具,支持几乎所有PC系统TUI。


项目地址:


Github :OldSuns/pi-switch


@oldsuns/pi-switch - npm


项目介绍:


本项目带故障转移和网关功能,它的执行基础就是维护Pi Agent自身的models.json文件。

支持添加/删除提供商和模型,模型上下文参数来源是 Models.dev ,价格来源优先是从new-api的ratio接口,如果没有的话就回退到models.dev。

同时也有会话管理功能,可以查看最近的会话列表,也支持删除session记录。


也有从opencode当前模型目录导入到Pi的功能,便于进行迁移 此处捉一下佬友的帖子: 全面转向pi是对的, 吐槽一波opencode和opencode的垃圾插件- LINUX DO


快速开始


npm安装:npm i -g @oldsuns/pi-switch

然后通过命令:pi-switch 启动TUI界面开始使用。


功能介绍:


主页预览



模型获取功能


在provider页面点击快捷键i即可获取该提供商的可用模型,按空格选择导入的模型列表


新建模型提供商


这个页面支持配置headers和UA。






模型参数设置



Pi会话预览


支持按目录进行分组,并兼容Pi的树状对话分支功能。




Settings页面



模型参数选择页面


最新回复 (13)
  • tenete 07-25 19:34
    1

    虽然我每次都是在pi中让它自己给我增删更改,但是有这个好像更方便啦,star一下!

  • COSMOS 07-25 19:40
    2



    哈哈,我都是写了一个自定义命令来管理模型

  • OldSun 楼主 07-25 19:44
    3

    其实在pi里面让模型改也挺方便的,但是我觉得让模型读取models.json会有泄露apikey的风险,我都不敢让它读这些文件

  • OldSun 楼主 07-25 19:45
    4

    哇塞,作为pi的插件也是个很好的办法!

  • admim 07-25 19:58
    5

    还是稍显简陋了,啥时候支持 macOS 系统嘞?

  • tenete 07-25 20:25
    6

    实测mac无法安装,坐等佬上传mac版本(intel芯片)

  • Audio 07-25 20:35
    7

    这个不得不支持下 之前用了下pi这方面确实不方便

  • OldSun 楼主 07-25 21:21
    8

    因为是rust编译的,我看看能不能用GitHub CI来构建一下macos版本的包

  • OldSun 楼主 07-25 22:11
    9

    佬,我用github CI构建了一下,你看看能不能用

  • OldSun 楼主 07-25 22:12
    10

    佬,我尝试用GitHub CI构建了macos版本,麻烦看看能不能用

  • tenete 07-26 08:29
    11


    可以用了佬 很不错哎 有心啦 ^-^

  • W 07-26 12:28
    12

    其实 key 都可以放进 auth.json 里面,pi 是没有权限读取该文件的


    {
    "NAME(必须与 models.json 中设定的提供商名称相同)": {
    "type": "api_key",
    "key": "sk-xxxx"
    }
    }

    同时设置 models.json 中每个提供商的 "apiKey": "!false", 这样就能防止模型读 models.json 时读到自己的 key 了

    还有 apiKey 这个字段也是支持写环境变量和终端命令的,这样也可以采用其他方法

  • ysmintor 08-11 09:15
    14

    @OldSun

    从 cc-switch 里导入的,拉取模型后,model 中的contextWindow 都是默认128K,没有办法调整。

* 帖子来源Linux.do
返回