玩转Tokens— 把各平台的大模型聚集起来搞点事情。
支持单聊、群聊、角色扮演、批量测试、AI对战、API密钥管理。
- 支持 OpenAI、Anthropic 及自定义协议
- 一个平台可同时配置多个协议端点,共享模型列表
- API 健康检查
- 自定义系统提示词
- 一个prompt,一键批量测试多个平台
- 同屏对比结果
- 对比延迟、速度、tokens消耗等指标
- 完整记录测试结果
- 一对一与单个模型对话
- 广播模式: 所有模型并行回复同一个问题,方便对比
- 接力模式: 模型轮流链式回复,模拟多人讨论
- 支持暂停/继续/停止控制
- 可设置消息数上限
- 支持 AI 发起
五子棋与中国象棋对战 - 可选择不同平台或角色作为双方参与者
- 实时查看棋盘、对局状态、胜负结果与步数记录
- 创建角色并绑定特定平台和模型
- 自定义头像(图片上传或 emoji)
- 群聊中可选择角色作为参与者,同一模型可扮演不同角色
- 4 层系统提示词组合:平台提示词 → 角色提示词 → 会话提示词 → 接力上下文
确保电脑上已经安装了nodejs,然后:
# 安装依赖
npm install
# 启动开发服务器
npm run dev打开 http://localhost:3000,进入「平台管理」添加你的第一个 API 平台。
TokenPlay 默认按本地单用户工具设计,运行时数据会写入 data/ 目录。开源或发布前请确认只提交 data/examples/*.json,不要提交真实的 data/*.json、聊天记录、测试结果、对战记录、API Key 文件、.env.local、data/.tokenplay-secret 或上传头像。
API Key 会使用 AES-256-GCM 加密落盘,密钥来自 TOKENPLAY_LOCAL_SECRET 或首次运行时自动生成的 data/.tokenplay-secret。这只能降低本地文件被随手搜索到明文 key 的风险,不能替代系统级密钥管理。
不要把本项目直接暴露到公网。当前 API 路由假设访问者是可信本地用户,公网部署前需要自行增加鉴权、授权、CSRF 防护、限流和生产级密钥管理。
更多细节见 SECURITY.md。
- 框架: Next.js 15 (App Router) + React 19
- 语言: TypeScript
- 样式: Tailwind CSS + shadcn/ui
- 数据: 本地 JSON 文件存储(零外部数据库依赖)
- 流式传输: NDJSON over ReadableStream
- API SDK: OpenAI SDK + Anthropic SDK
src/
├── app/ # 页面和 API 路由
├── components/ # React 组件
│ ├── ui/ # 通用 UI 组件
│ ├── platforms/ # 平台相关组件
│ └── layout/ # 布局组件
└── lib/
├── types.ts # 类型定义
├── store/ # 数据读写
└── api-clients/ # 统一 API 客户端
data/ # 运行时数据(JSON 文件)
docs/ # 设计文档
