01 / OPEN SOURCE / ANDROID CLIENT

ChatWithChat 项目图标

NaBr406 的 Android 多模型客户端

v1.2.0 · GPL-3.0

ChatWithChat

多模型对话、可控的工具调用,以及留在本机的聊天数据。

ChatWithChat 是一个 Android 上的多模型 AI 客户端。它不提供账号与订阅,填入你自己的模型服务密钥即可使用;聊天记录、设置与长期记忆保存在手机本地。联网搜索、文档附件、外部工具与跨会话记忆都是可选项,按需开启。

v1.2.0 新增 MCP 服务器本地技能上下文管理文档附件

使用前提:应用不托管账号、模型或 API 中转。你需要自备模型服务的密钥,或连接本机、局域网中的 Ollama 与 OpenAI 兼容服务。

ChatWithChat 首页,顶部展开的模型列表与思考强度选项
真实界面预览Android 12+
7+可接入的模型服务含自定义 OpenAI 兼容地址
v1.2.0当前版本2026 年 8 月发布 · GPL-3.0
0注册与订阅使用你自己的模型服务密钥
Local数据存放位置聊天、设置与记忆保存在手机上

02 / WHAT IT DOES

一个界面,多个模型与可选的能力。

每一项都可以单独开启或关闭:不开联网搜索就不会联网,不开记忆就不会记录跨会话内容。默认状态下,它是一个只做对话的客户端。

01多模型

在同一个对话里切换模型

顶部即可在 OpenAI、Anthropic、Gemini、Groq、OpenRouter、Ollama 之间切换,也可以填入自己的 OpenAI 兼容地址。支持的模型能选择思考强度,从关闭到最高共六档;用过的模型与档位会被记住。

查看支持的服务
02记忆

记住你的偏好与背景

说明过一次的称呼、习惯或正在做的事,下次对话不必重复。记住了什么可以随时查看、删除与导出。默认关闭。

记忆如何工作
03联网

按需联网搜索并给出来源

遇到时效性问题时可以先搜索再回答,用到的网页列在回答下方。搜索后端可选自建的 SearXNG 或零配置的 AnySearch。

04附件

图片与文档可以一起提问

从相册选图、直接拍照,或选择 PDF、docx 与纯文本文档。文档正文在手机本地抽取后再发送,单个文件与单次合计均不超过 50 MB。

05回答

思考过程与用量都可见

会思考的模型,思考内容折叠在回答上方,可以展开查看。同一个问题能重试出多版回答并来回切换;每轮的 Token 用量与缓存命中就在回答下方。

06长对话

长对话仍然保持连贯

对话变长后,较早的内容折成摘要,最近的内容按原文发送。每次请求携带多少历史由你选择,也可以手动划定参与的回合范围;消息本身不会被删除。

查看五个档位
07工具与技能

内置工具、外部 MCP 服务器与本地技能

内置工具可以读取时间、按需获取定位、写入系统日历与闹钟;v1.2.0 起还能接入远程 MCP 服务器,把你自己的服务变成可调用的工具。每次执行之前,都会先说明这次要做什么。

查看工具与授权方式

03 / WHAT'S NEW IN v1.2.0

v1.2.0 新增的功能。

相比 v1.1.0,这一版集中在三处:接入你自己的服务、读取更多类型的内容,以及控制长对话的请求成本。以下功能均已包含在 v1.2.0 安装包中。

  1. 新增01

    MCP 服务器

    填入远程 MCP 服务器地址,即可把它的工具接入对话,并按工具逐个启用。第三方工具一律按「可写入」对待:默认关闭,启用后每次调用都需要确认,服务器自称「只读」也不会跳过这一步。

  2. 新增02

    本地技能

    导入含 SKILL.md 的 ZIP 包,把写好的提示词挂载到某个会话,或仅用于本次请求。以纯文本方式运行:不执行脚本、不连接外部服务,导入前会先展示包内容。

  3. 新增03

    上下文管理

    按模型服务分别设置每次请求最多携带多少历史,从「节流」到「原文优先」共五档。较早的内容折成摘要,最近的按原文发送——这只影响每次发出的内容,聊天记录本身不受影响。

  4. 新增04

    文档附件

    除图片之外,现在可以选择 PDF、docx 与纯文本文档。正文在手机本地抽取后随问题发送,过长会截断并提前说明;扫描版或加密的 PDF 会明确提示无法读取。

  5. 新增05

    AnySearch 搜索后端

    不便自行部署 SearXNG 时,可改用厂商托管的 AnySearch,零配置即可联网搜索;代价是查询词会发给第三方。两种后端可随时切换,也可以都不启用。

  6. 改进06

    工具调用逐次确认

    写入日历、设置闹钟或调用外部工具之前,会先显示本次的具体操作,可以拒绝,也可以选择「本次会话都允许」——关闭该工具或重启应用后自动失效。

  7. 改进07

    Token 用量与缓存命中

    每轮回答下方可展开本次的输入、输出与合计 Token,并按平台累计;命中提示缓存的部分单独标出,便于判断成本构成。

04 / MEMORY

记住的每一条,都可以查看与导出。

记忆不是看不见的黑盒。它把记住的事写成一份普通的 Markdown 笔记存在手机上,可以随时打开、导出、删除单条,或把此前备份的记忆导回来。整理动作在对话结束后攒够若干轮才执行一次,不会每说一句就重写一遍。

记忆默认关闭。关闭后,应用不会再整理或调用任何跨会话内容。

可读可导出可删除可恢复默认关闭
  1. 01
    只携带相关的几条

    提问时按当前问题挑出相关记忆一起发送,而不是把整份笔记塞进请求。

  2. 02
    攒够几轮再整理

    对话结束后攒够批次或等到空闲,才把新事实归拢进笔记,避免频繁重写与重复条目。

  3. 03
    改动可控、可回退

    写入是原子的:整理中途被打断也不会留下半份笔记,被淘汰的条目仍可恢复。

  4. 04
    检索在本机完成

    关键词与语义检索都在手机上进行;记忆页同时展示当前生效的内容与历次维护记录。

记忆按类别分组,另有独立的日志页记录历次维护。

长期记忆

关于你的稳定信息

称呼、习惯、正在做的事这类不常变动的信息会写进那份 Markdown 笔记,长期有效,适合不希望每次重新说明背景的场景。

存放位置
手机上的 Markdown 笔记
更新时机
对话结束后攒批整理
你可以做
查看 / 导出 / 删除 / 恢复

参考聊天历史

与当前问题相关的旧对话

提到「上次讨论的那个方案」时,它会从其他会话里找出相关的几段一起参考,而不是把整段历史全部带回。旧对话本身不会被改写。

内容来源
你已有的历史会话
检索方式
关键词 + 语义,均在本机
返回内容
与当前问题相关的片段

两者由同一个「记忆」开关控制。关闭后,两边的整理与检索都会停止。

05 / LONG CONVERSATIONS

长对话的请求成本,由你决定。

每问一句,之前的对话都要重新发送给模型一次——对话越长,单次请求就越大、越慢、越贵。v1.2.0 起可以自行选择这笔开销:较早的内容折成摘要,最近的按原文携带。所有档位都不会删除消息,只影响每次实际发送的内容。

档位携带原文适用情况
自动压缩 · 节流
约 8K token

折叠最勤,单次请求最便宜,长对话的连贯性相应弱一些。

自动压缩 · 均衡 默认
约 16K token

成本与连贯性的折中,日常对话通常用这一档即可。

自动压缩 · 宽裕
约 48K token

记得更牢、摘要更详细,单次成本约为均衡档的三倍。

自动压缩 · 跟随窗口
窗口的三成

取消上限。在百万级窗口的模型上可能达到均衡档的十几倍费用,选择前请确认价格。

原文优先
容量允许时全部

不压缩,直到装不下为止;也只有这一档可以在聊天内手动选择参与的回合范围。

档位按模型服务分别设置,互不影响——便宜的模型可以给宽裕档,贵的模型给节流档。窗口本来就小的模型上,各档表现一致。

06 / TOOLS & MCP

工具逐个开启,执行前逐次确认。

工具不是默认全开。每个工具单独开关,涉及系统权限的还需额外授权;执行之前会说明本次的具体操作,你可以拒绝,也可以选择「本次会话都允许」。

内置工具

设备与网页相关的操作

搜索网页、读取网页正文、获取当前时间、按需取一次定位、写入系统日历与闹钟,以及在回复中挑选并发送表情。

网页搜索读取网页日期与时间设备位置添加日程设置闹钟搜索表情发送表情

MCP 服务器 · v1.2.0

接入你自己的服务

填入远程 MCP 服务器地址(支持 Streamable HTTP 与旧版 SSE,可带 Bearer token),同步出工具列表后逐个启用。默认全部关闭,启用后每次调用都需确认。

信任级别
一律按可写入处理
确认频率
每次调用
内网地址
需手动允许

本地技能 · v1.2.0

复用写好的提示词

导入含 SKILL.md 的 ZIP 包,按会话挂载或仅用于本次请求。以纯文本方式运行:不执行脚本、不连接外部服务,导入前先展示包内容。

运行方式
纯文本,不执行脚本
挂载范围
本会话 / 仅此请求
删除影响
历史请求原样保留

联网搜索单独开关,后端二选一:自建 SearXNG(查询词不出自己的机器,但需先部署)或 AnySearch(零配置,查询词发给第三方)。两者都不启用时,模型不会主动联网。

07 / MODELS

换模型不必换应用。

添加一个模型服务并填入密钥后,应用会同步它的模型列表,你从中挑选启用的模型并指定默认项。各家接口的差异由应用内部抹平,界面始终是同一个。

OpenAIAnthropicGeminiGroqOpenRouterOllamaCustom endpoint

模型服务由你自行配置。上列为应用支持接入的类型,不代表本项目提供额度或代理。

不同服务对思考强度、图片输入与上下文长度的支持并不一致,最终以所用端点的实际能力为准。

回答轮次可跳转,本轮的 Token 用量与缓存命中率就在回答下方。
添加平台时选择 API 类型,自定义端点也在同一处。

08 / SCREENS

界面与实际操作。

均为应用内的真实截图,点击可放大;窄屏支持左右滑动浏览。

09 / WHERE YOUR DATA GOES

数据保存在哪里,什么时候会联网。

应用没有服务器,也没有账号系统,不存在经过本项目的数据。聊天、设置与记忆保存在手机的应用私有目录中,卸载即随之删除。只有在你触发下列操作时,相关内容才会发往你自己配置的地址。

系统Android 12 及以上
界面跟随系统深浅色与动态取色
语言简体中文 / English 等 18 种
存储应用私有目录,会话与记忆可导出
许可GNU GPL v3.0 · 源码公开
你的手机聊天记录 · 设置 · 记忆
ChatWithChat本地存储,无账号、无云端同步
仅这四类操作会联网且目标均为你填写的地址
模型请求
你的密钥
联网搜索
SearXNG / AnySearch
MCP 工具
你添加的服务器
记忆整理
你选择的模型

10 / COMPARISON

与常见方案的区别。

只比较形态与使用方式:由谁托管、模型从哪来、数据存在何处、是否需要自建服务。不比较模型质量、价格与响应速度。

关注点ChatWithChatChatGPTPoeOpen WebUI
产品形态安装在手机上的客户端官方云端助手云端模型聚合平台自行部署的网页界面
账号与订阅无需注册,使用自己的密钥需要账号,通常按月订阅需要账号与订阅需要一台可运行的服务器
模型来源多家服务 + 自定义兼容端点以官方模型为主平台聚合的多个 bot取决于部署时的配置
跨会话记忆可开关,内容存本机且可导出产品内置的云端记忆取决于所选 bot可配置,依赖扩展
工具与联网逐个开关,可接 MCP,调用前确认内置搜索与工具由 bot 决定插件生态
数据位置你的手机本地厂商云端账号厂商云端账号你自己的服务器
适合的使用者已有模型密钥、希望在手机上直接使用希望开箱即用希望一次试用多个模型愿意维护服务器的团队

对比口径为各产品的公开定位与默认使用方式(2026 年 8 月)。功能、套餐与部署方式会随版本变化,具体以对方官方说明为准。

11 / GET STARTED

安装与上手。

当前版本为 v1.2.0,可从自建镜像或 GitHub Release 下载。项目尚未上架 Google Play 或 F-Droid,安装前请确认来源与权限。

  1. 01
    安装应用

    下载 APK,并允许浏览器或文件管理器安装未知来源应用。

  2. 02
    添加模型服务

    在设置中选择服务类型,填入你自己的密钥或本机 Ollama 地址,然后挑选要启用的模型。

  3. 03
    按需开启其他功能

    需要联网搜索、工具、记忆或 MCP 时再逐项开启;不开启时,它只作为对话客户端使用。