概览

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 --setuppython main.py --setup,输入你的 OPENROUTER\_API\_KEY 并选择模型与偏好设置。也可通过 .envconfig.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 集成(可选):如果装了 fzfpyfzf,模型/历史选择支持模糊搜索弹窗体验。若未安装会自动回退到基本选择。
  • 自动更新: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

你的评论