使用Raycast,不想用他家的付费AI服务,我们一般会自己购买其他兼容OpenAI API的AI服务。如何既要又要呢?
Raycast虽然提供了BYOK支持使用密钥使用主流AI服务,但国人一般使用第三方API供应商或国产AI服务。应该如何绕过这个限制呢?
其实Raycast提供了Ollama服务API调用,有了这个API,我们能做的就很多了。那我们就可以通过Ollama协议,转换成你购买的其他OpenAI兼容的API,从而实现使用Raycast AI的目的。
代理设置
刚好这个仓库提供了这个能力:https://github.com/miikkaylisiurunen/raycast-ai-openrouter-proxy
但是作者是使用docker启动,对于mac有点臃肿了,毕竟还先安装Docker。
研究发现,它其实就是一个node服务。我们本地只需要先安装Mac系统node依赖:
brew install node然后我写了一个run.sh放在克隆的工程根目录
#!/bin/bash# Exit immediately if a command exits with a non-zero status.set -e# Check if node_modules directory existsif [ ! -d "node_modules" ]; then echo "Node modules not found. Running npm install..." npm installfi# Export environment variablesexport API_KEY=${API_KEY:-"1234"}export BASE_URL=${BASE_URL:-"http://0.0.0.0:8012/v1"}# The docker-compose exposes port 3000, so we'll use that as the defaultexport PORT=${PORT:-11812}export MODELS_PATH=${MODELS_PATH:-"./models.json"}# Check the first argument to decide the modeif [ "$1" = "prod" ]; then echo "Building for production..." npm run build echo "Starting the application in prod mode..." npm startelse echo "Starting the application in dev mode..." npm run devfi运行./run.sh prod即可。
命令支持环境变量,使用方式为
BASE_URL=https://example.com/v3 API_KEY=1234 bash ./run.sh prod- BASE_URL:你的服务提供方的url
- API_KEY:你的服务提供方的api密钥
- PORT:这个代理服务启动后,在本地打开的端口,默认11812
- MODELS_PATH:你的模型列表,以根目录models.json的形式存在。
⚠️其中需要注意,根目录下的models.json设置:- name为Raycast UI中显示的名称;
- id为你的服务器请求是的模型名称;
- contextLength为上下文长度;
- capabilities为列表,有["vision", "tools"]这些,vision是支持图片,tools是支持工具;
- temperature为温度,一般是0~1或者0~2;
配置好run.sh后即可开始运行。不加prod后缀可以查看详细日志。加prod则仅打印一般日志
Raycast配置
然后就可以在Raycast的AI tab下的Ollama Host中配置我们启动代理地址了: localhost:11812 (其中11812与上面的PORT参数对应)。
点击下右侧Sync Models按钮,没问题就应该可以看到模型列表了
设置好以后,一定要修改AI 模型。否则就像我一样,会使用AI试用额度:
AI设置中:
‼️Raycast AI插件中,我就是忘了设置这个跑了十几次它自己的AI流量:
如何使用
直接在Raycast窗口按Tab即可开始聊天。
评论 (0)