chat-table:把六家大模型装进同一个网页

一个本地运行的轻量工具,在浏览器里切换 Kimi、通义千问、OpenAI、Claude、DeepSeek、Gemini,统一管理会话与 Token 费用。已开源并发布到 PyPI。

每个大模型厂商都有自己的网页、自己的客户端、自己的 API Key——当你要在 Kimi 和 Claude 之间来回对比答案时,光切换页面就够烦的。于是我自己写了 chat-table:一个本地运行的小工具,让六家模型住进同一个网页。


为什么做这个工具

日常用大模型,基本会遇到这几个麻烦:

  • 各家模型分散在不同的网页和客户端,对比回答要来回切换
  • 每个平台一套 API Key,东一个西一个
  • 会话记录不统一,换个模型上下文就断了
  • 想统计一下每个模型花了多少 token 多少钱,基本靠手动记账

chat-table 就是针对这些痛点做的:本地起一个轻量 Web 服务,浏览器打开一个页面,六家 Provider 随便切。

它是什么

一句话:带 Web 界面的多 Provider 大模型路由工具。

支持六家模型:

  • Kimi(月之暗面)
  • Qwen / 通义千问(阿里)
  • OpenAI
  • Anthropic / Claude
  • DeepSeek
  • Gemini(Google)

核心功能

功能说明
🌐 多 Provider 切换一个页面内切换 Kimi / Qwen / OpenAI / Claude / DeepSeek / Gemini
💬 多轮会话发送消息自动携带上下文,对话不断片
⚡ 多任务并发最多同时跑 3 个任务
📊 Token 统计输入 / 输出 tokens、用量费用一目了然
↩️ History 恢复从历史记录恢复某个会话继续聊
💾 持久化会话自动保存,重启不丢
🎨 轻量 Web UI点击选模型、发任务、看用量,无需命令行

30 秒上手

pip install chat-table

# 启动,自动打开浏览器
chat-table --open

浏览器访问 http://localhost:8877 即可。

也可以指定端口和数据目录——每个项目一套独立会话:

chat-table -p 8878 -d ~/projects/my-project/.model_router

API Key 怎么配

两种方式任选:

方式一:环境变量(推荐)

export KIMI_API_KEY="sk-xxx"
export DASHSCOPE_API_KEY="sk-xxx"
export OPENAI_API_KEY="sk-xxx"
# ...
chat-table

方式二:Web UI 里填

打开页面上的 ⚙️ Config 页,直接填入各家的 Key,运行时生效。

数据存在哪

所有会话数据保存在本地 ~/.model_router/state.json,不经过任何第三方服务器。要完全清空:

pip uninstall chat-table
rm -rf ~/.model_router/

一个彩蛋:Agent 一句话安装

chat-table 仓库里带了一份 QClaw 技能文件(skills/chat-table-toolkit/SKILL.md)。如果你在用 QClaw 这类 Agent,把它放到 ~/.qclaw/skills/chat-table-toolkit/,之后只要对 Agent 说一句:

安装 chat-table

Agent 就会自动完成:检测 Python 版本 → 安装(优先 PyPI,失败回退 GitHub)→ 引导填 API Key → 启动服务 → 告诉你访问地址。在全新机器上搭环境,这是最省事的方式。

开源信息

如果你也在为多平台切换头疼,欢迎试一下,顺手的话在 GitHub 给个 star ⭐