DeskMate

隐私说明

DeskMate 在你的 Mac 上存什么、向你选的服务发什么,以及它连接的每一个网络地址。

DeskMate 的设计是:能看到你数据的只有你自己的 Mac 和你选的模型服务。它没有自己的服务器,没有账号,没有遥测,也没有崩溃上报。这一页是对着代码写的;如果发现和实际不符,请提 issue。

留在你 Mac 上的

全部在 ~/Library/Application Support/DeskMate 里。

  • 设置和 API Key,在 settings.json 里。Key 以明文存在只有你的用户能读的文件里,没有放进钥匙串。保存之后不会再传回控制台界面。
  • 角色:人设、声线选择和形象。
  • 记忆:每个角色一个 SQLite 数据库,一个角色的记忆只属于它。在记忆页删除一条记忆是真删,原文、检索索引和向量一起删掉。
  • 事件日志(logs/events.jsonl):为调试留下的一份发生过什么的记录,里面有对话原文,和触发角色评论的窗口标题。它不会自动清理,删除记忆也不会从日志里删掉。正式版里只有“设置 › 诊断包”会读它,而且只挑出错误和耗时的行,不带对话(见下文)。退出 DeskMate 后可以直接删掉这个文件。
  • 下载的模型,在 models/ 里。
  • 你的声音。 麦克风由本机的语音识别处理,音频不会发到任何地方;发给大模型的只有转出来的文字,作为对话的一部分。
  • 截图只在内存里停留到被描述完为止,从不写入磁盘。

发给你所选模型服务的

添加哪些服务、每项工作用哪个,由你决定。DeskMate 只向这些服务发数据,而且只发每次调用所需的最少内容。

工作发送的内容发给
聊天角色的人设、你们最近的对话、这一轮召回的记忆、角色的情绪;如果开了读屏幕,还有你当前所用应用的名称和窗口标题你的对话模型
看一眼前台窗口的一张截图,长边最多缩到 1280 像素。只在角色开口之前决定看一眼,或你让它看时才截;要求读屏幕已打开,且模型能看图。黑名单里的窗口(见下)从不截取你的视觉模型;没选就用能看图的对话模型
任务任务内容、工具返回的结果;电脑操作时还有你授权过的应用界面的文字大纲(密码框的内容会隐去)你的思考模型;没选就用对话模型
做梦空闲时,角色把聊完的对话整理成事实、更新对你的看法,这会发出这些对话以及相关的已知事实你的做梦模型;没选就用对话模型
说话角色马上要说的句子,一句一句地发,加上声线 ID你的声线服务
接入服务时保存服务时的几个测试请求:先拉模型列表,再发一个短提示、一张测试图和一次测试工具调用,用来检查模型的能力你正在添加的服务

有两点值得知道:

  • 发给 OpenAI 的请求带 store: false,要求 OpenAI 不留存。其他服务按各自的政策处理,请自己读一下。
  • 你添加的 MCP server 要你自己判断信不信得过。本地(stdio)server 以你的用户权限在 Mac 上运行;远程(HTTP)server 会收到每次工具调用的参数。没添加的 server 什么也收不到。

读屏幕能看到什么,看不到什么

读屏幕在你打开之前是关的(媒体 › 读取屏幕)。打开后它读的是前台应用的名称和窗口标题,不会持续看你的屏幕。只有角色要开口之前或你让它看时,才会看真正的窗口。内置的黑名单(不能关)会让 DeskMate 不读、不截密码管理器、钥匙串访问,以及标题像是网银、支付、密码、隐私设置的窗口。DeskMate 自己的窗口也不算。

观察本身不是记忆:只有让角色开了口的那一条,连同它说的话一起记下来。

电脑操作

应用在你逐个批准之前一概不能碰,而且每个应用分一个级别:只读、可操作或信任。DeskMate 自己、系统设置、终端、脚本编辑器和密码管理器永远不能批准。删除、发送、付款这类无法撤回的操作,要你先点批准卡片;说话不算。角色自己发起的任务只能读。

DeskMate 用到的每一个网络地址

地址什么时候做什么
你添加的每个模型或声线服务的 Base URL,比如 api.anthropic.com、api.openai.com、generativelanguage.googleapis.com、api.deepseek.com、dashscope.aliyuncs.com、api.elevenlabs.io、api.fish.audio、openspeech.bytedance.com、api.minimaxi.com、openrouter.ai,或你自己的端点你用到那个服务时聊天、看图、任务、做梦和声线,见上表
localhost:11434引导时,以及使用 Ollama 时在你的 Mac 上找 Ollama 并与它通信,数据不出这台电脑
huggingface.co、hf-mirror.com、www.modelscope.cn(以及它们重定向到的下载主机)缺本地模型时下载语音识别和记忆检索模型,不发送任何关于你的信息
api.github.com启动时和之后每天一次,除非你在设置 › 更新里关掉询问最新的 Release,只带一个 User-Agent
你添加的 MCP server 的网址用到它的工具时调用这些工具

Ollama 的下载页、Live2D 官网和 GitHub Releases 的链接,只有你点了才在浏览器里打开。请求都经 macOS 的网络栈发出,所以走你的系统代理。

DeskMate 不做的事

  • 不做统计分析、使用情况上报和崩溃上报。语音识别和记忆检索所用运行时的遥测也已关闭。
  • 没有 DeskMate 的账号或登录,也没有它自己的服务器。
  • 不自动更新:有新版时 DeskMate 会告诉你,由你自己替换应用。
  • 不分享记忆:角色包(.deskmate)里有人设、声线描述和形象,但从不带记忆、API Key 或服务 ID。

分享角色

导入角色包总是新建一个角色,而且会先把人设给你看。人设会成为角色的指令,所以来自陌生人的角色包可能想引导角色,比如劝你批准某件事。导入前请先读一遍。

高危操作仍然需要你在批准卡片上点一下。

报告问题

“设置 › 诊断包 › 导出诊断包”会把提 bug 需要的信息收进一个 zip。什么都不会发送:你会先看到文件清单,自己选保存位置,想附上时再自己附上。里面有应用版本、Mac 的芯片、内存和 macOS 版本、权限状态、各部分是否正常、你接入的模型服务的种类、本地模型状态、core 的崩溃记录,以及日志里最近的错误和耗时行。不包含 API Key 等密钥、你和角色说的话、记忆、角色在你屏幕上看到的内容、服务的名称和地址,以及你的用户名。分享之前,可以先打开 zip 自己看一遍。

最后更新于