OrChat,可以在 VPS 上部署,使用 OpenRouter API 的 CLI 聊天客户端
概览
OrChat 是一个面向终端(CLI)的、功能丰富的聊天客户端,用来通过 OpenRouter 访问和交互各种 AI 模型。它支持流式(streaming)响应、终端内 Markdown 渲染、token 统计与计费显示、自动更新检查、多行输入、文件/多模态支持等现代化特性,定位为在终端里获得接近 GUI 的聊天体验。
https://github.com/oop7/OrChat
核心功能
- 通用模型接入:可以动态获取并连接 OpenRouter 上可用的任意模型,支持在 CLI 中选择与切换模型。
- 流式交互与富渲染:实时流式返回答案,并在终端中渲染 Markdown(代码块、表格等)。
- 性能与计费可视化:显示 token 使用统计、响应时长、实时价格/总费用估算(API 精确计数)。
- 智能命令行体验:命令自动补全、历史导航(↑↓)、Ctrl+R 搜索历史、多行编辑(
Esc+Enter
切换)和提示自动建议。 - 文件/多模态支持:终端内智能文件选择器(用
#
调用),支持图片与代码等多种格式的上传/分析。 - Thinking Mode(思考模式):可选展示模型“思考”过程(若模型支持),便于调试/审阅模型推理。
- 导出会话:支持保存会话为 Markdown / HTML / JSON / TXT / PDF 等格式。
安装与快速上手
要求:Python 3.7+,需要一个 OpenRouter API Key(在 OpenRouter.ai 获取)。
安装(推荐 PyPI),不熟悉的可以在 root 下运行:
sudo pip install orchat
# 然后运行:
orchat
从源码:
git clone https://github.com/oop7/OrChat.git
pip install -r requirements.txt
python main.py
# 或运行 setup:
orchat --setup
python main.py --setup
首次配置:运行 orchat --setup
或 python main.py --setup
,输入你的 OPENROUTER\_API\_KEY 并选择模型与偏好设置。也可通过 .env
、config.ini
或环境变量来配置(例如 OPENROUTER_API_KEY=...
)。
常用命令示例(终端内)
/help
:显示所有命令。/new
:开始新会话。/save md
:把会话保存为 Markdown。/model anthropic/claude-3-opus
:切换模型。/temperature 0.2
:调整温度。/thinking-mode
:切换思考模式。analyze #path/to/file.py
:使用智能文件选择器上传并分析文件(在任意消息中用#
调用文件弹窗)。
快捷退出:按 Ctrl+C(一次会提示,“Press Ctrl+C again to exit”),再按一次会在 2 秒内优雅退出。
进阶特性 & 插件
- FZF 集成(可选):如果装了
fzf
与pyfzf
,模型/历史选择支持模糊搜索弹窗体验。若未安装会自动回退到基本选择。 - 自动更新:OrChat 在启动时可检查更新并通过 pip 自动提示/升级。
- 主题:内置若干终端主题(default/dark/light/hacker),可用
/theme
切换。
配置与安全注意
- API Key 存储:建议使用系统环境变量或安全的
.env
,而不是把 key 明文放在共享仓库。OrChat 支持多种配置方式(setup、config.ini、.env、系统环境变量)。 - 费用监控:当使用付费模型时,留意 token/cost 面板与 OpenRouter 账户余额,避免意外消费。
- 文件限制:有内置做大小/类型验证(README 提到 10MB 限制的说明),上传敏感数据时要谨慎。
故障排查(常见问题)
- 402 / 计费错误:通常是 OpenRouter 账户余额不足或 API key 权限问题。检查 OpenRouter 控制台并充值或更换 key。
- 模型不支持思考模式:思考模式仅在模型返回可解析“思考”内容时有用;不同模型兼容性不同。
- 文件路径问题:带空格的路径请用引号;或使用内置文件弹窗选择,能避免路径格式错误。
标签:ai