# DSH Desktop 隐私政策 [English](PRIVACY.md) - **版本:** 1.0 - **生效及最近更新日期:** 2026 年 8 月 26 日 DSH Desktop 是一个本地优先的开源桌面应用。本政策说明 DSH Desktop 官方版本及官方在线服务会处理哪些信息、为什么处理、信息会发送给谁,以及您可以如何作出选择。 本政策中的“我们”指在 GitHub 组织 [`anywhere-labs`](https://github.com/anywhere-labs) 下维护和发布 DSH Desktop 官方版本、并运营 `dshdesktop.cn` 官方服务的 **Anywhere Labs 项目维护团队**。项目是独立的社区开源项目,与 DeepSeek 不存在隶属、合作、授权或背书关系。 隐私问题或权利请求请发送至 [t4wefan@qq.com](mailto:t4wefan@qq.com)。请不要在公开 GitHub Issue 中提交安装标识、日志、凭据或其他私密信息。 ## 1. 适用范围 本政策适用于: - 我们通过 [官方 GitHub 仓库](https://github.com/anywhere-labs/dsh-desktop)及官方发布渠道提供的 DSH Desktop; - `https://www.dshdesktop.cn/` 下的官方网页、版本检查和下载跳转服务; - 您主动发送给项目维护团队的隐私请求、支持邮件或问题报告。 第三方 Fork、自行修改的构建、第三方分发渠道、模型服务商、插件、插件市场来源及软件包服务各自的处理行为不由本政策控制。如果第三方构建仍访问硬编码的 `dshdesktop.cn` 官方端点,本政策仍适用于该官方端点实际收到的信息,但不适用于第三方构建或分发者的其他处理行为。 ## 2. 摘要 - DSH Desktop 的 Profile、设置、工作区、会话、日志和崩溃文件默认保存在本机。 - 官方更新服务不需要 DSH Desktop 账户;版本检查代码也不会主动发送或附加提示词、回复、文件内容、工作区路径、Profile 名称、会话内容、API Key、MAC 地址或硬件序列号。 - 打包后的 macOS 和 Windows 版本默认会检查更新,并发送一个本地随机生成、持续保存的安装 UUID。该 UUID 是伪匿名标识,可能依法构成个人信息;它不是硬件 ID,也不保证一台机器只有一个值。 - 安装包下载不附带上述安装 UUID,但官网、下载承载方和网络基础设施仍会看到通常的网络元数据。 - 诊断包只在您主动导出时在本地创建,不会由 DSH Desktop 自动上传。 - 您选择的模型服务、插件、插件市场来源和软件包服务会按照各自规则处理信息;它们不因出现在 DSH Desktop 中而受本政策约束。 ## 3. 官方版本检查 ### 3.1 何时请求 打包后的 macOS 和 Windows 应用默认在启动约 60 秒后请求: ```text GET https://www.dshdesktop.cn/api/desktop/version ``` 此后,每次检查完成约 6 小时后会再次检查。您也可以手动选择“检查更新”。开发运行、未打包启动和 Linux 当前不会执行这套打包版自动更新流程。 ### 3.2 请求包含什么 客户端明确添加: - `Accept: application/json`; - `X-DSH-Desktop-Installation-Id: <随机 UUID v4>`。 - `X-DSH-Desktop-Version: <规范的当前稳定版本>`。 该 GET 请求没有由应用添加的 query 参数或请求 body。与所有互联网请求一样,官方服务及其基础设施还会接收 IP 地址、请求时间、TLS/连接信息以及网络栈自动产生的标准请求元数据;这些元数据可能包括 User-Agent、Cookie、压缩支持、操作系统或运行时版本信息。当前代码没有显式要求 Electron 网络 session 忽略已有凭据,因此我们不会承诺版本请求一定不带 session 数据,也不会把“客户端只显式设置两个 header”描述成“网络上只会传出两个字段”。 版本检查代码不会主动把提示词、回复、文件内容、工作区路径、Profile 名称、会话内容、模型凭据、MAC 地址或硬件序列号附加到该请求。 ### 3.3 安装 UUID 如何生成和变化 安装 UUID: - Desktop 启动时,如果 Electron 用户数据目录中没有有效的持久值,则通过加密安全的随机 UUID v4 生成; - 保存在用户数据目录的 `identity/installation-id` 文件中; - 缺失、内容损坏或整个用户数据目录被删除时会重新生成;正常启动不会轮换; - 不从用户名、设备名、MAC 地址、磁盘序列号或其他硬件信息推导,也不编码这些信息; - 只对应一个 Desktop 用户数据目录,不是“机器唯一 ID”。同一电脑的不同系统用户、不同用户数据目录或不同副本可以有不同 UUID;复制用户数据也可能复制该 UUID; - 通常持续到该文件或应用用户数据被删除、损坏并重建。 默认位置为: - macOS:`~/Library/Application Support/DSH Desktop/identity/installation-id`; - Windows:`%APPDATA%\DSH Desktop\identity\installation-id`。 删除该文件只会在下次启动时生成新 UUID,**不会停止后续版本检查或阻止新 UUID 被发送**。 ### 3.4 用途 版本检查数据仅可用于: - 返回最新稳定版本并支持更新提示; - 将同一 Desktop 用户数据目录的重复请求识别为同一安装,以生成去重、汇总的更新服务使用趋势; - 维护服务可靠性、排查异常请求并防止滥用; - 满足适用法律义务。 我们不会把该安装 UUID 用于广告画像、跨服务追踪,也不会出售该 UUID。版本检查不要求登录,客户端也不会在该请求中发送姓名、邮箱或 DSH Desktop 账户 ID。 ## 4. 安装包下载、网站与项目沟通 | 场景 | 触发方式 | 可能处理的信息 | 目的及接收方 | | --- | --- | --- | --- | | 安装包下载 | 您点击下载,或在发现新版本后确认下载 | IP 地址、时间、标准网络元数据,以及 `/mac` 或 `/windows` 路径所表示的平台 | `dshdesktop.cn`、其托管服务和最终下载承载方用于交付文件、安全防护和下载服务统计。下载请求不会由 Desktop 添加安装 UUID。 | | 访问官网 | 您在浏览器中打开官网 | IP 地址、时间、浏览器/设备网络元数据,以及您请求的页面 | 官网托管和网络基础设施用于提供页面、安全防护和故障排查。 | | GitHub Issue、讨论或贡献 | 您主动提交 | 您公开提交的账号信息、文字、附件、代码及元数据 | GitHub 和项目维护团队用于处理问题、贡献及社区沟通。公开提交会公开可见。 | | 邮件与支持资料 | 您主动发送 | 邮箱地址、邮件内容、附件,以及您选择提供的诊断或环境信息 | [QQ 邮箱](https://mail.qq.com/)、您的发件服务商和项目维护团队用于传递和回复邮件、排查问题及保存必要的沟通记录。 | 截至本政策生效日,官网和官方 API 由 [Vercel](https://vercel.com/) 承载,因此 Vercel 会直接处理到达 API 的安装 UUID、IP 地址和请求 header。稳定版本状态使用 [Upstash](https://upstash.com/) 服务;仓库只证明后端读取版本状态,本政策不声称 Desktop 安装 UUID 会被转发给 Upstash。官方安装包下载目前会跳转至 [ModelScope](https://modelscope.cn/) 承载的文件。下载重定向目标可能设置自己的 Cookie 或其他会话标识,并按其政策处理下载请求。服务商或下载承载方变更时,我们会更新本节。 ## 5. 默认保存在本机的信息 以下信息默认由 DSH Desktop 或其组合的本地 DSH 运行时保存在您的设备上,而不是自动上传到 Anywhere Labs: | 本地信息 | 用途和保留方式 | | --- | --- | | Profile、Desktop 设置、窗口设置、插件配置和市场来源选择 | 提供您配置的本地体验;持续到您在应用中删除、手动删除相应数据或重置应用数据。 | | 会话、提示词、回复、工具记录和工作区信息 | 用于本地 DSH 功能。默认会话记录位于 `$DSH_HOME/sessions`;当前持久化后端没有删除 API,会持续累积到您从外部删除。调用模型或工具时,相应内容可能发送给您选择的服务,见第 6 节。 | | 附件和图片缓存 | 默认位于 `$DSH_HOME/attachments/v1`。当前没有基于引用的垃圾回收,会持续保留到您手动删除。 | | 模型和服务凭据 | 可来自继承的环境、项目 `.env`、`$DSH_HOME/.env` 或 `$DSH_HOME/.credentials.yaml`。受管 YAML 在支持 POSIX 权限的平台使用 `0600` 文件和 `0700` 目录,但不会加密;以同一操作系统用户运行的工具或模型可以刻意读取它。 | | Desktop 日志 | 位于 Electron 用户数据目录。单文件达到 10 MiB 后轮转;应用启动时清理超过 7 天的日志,并将日志目录限制在 200 MiB 以内。日志仍可能包含路径、工作区 ID、会话 ID、命令或插件消息。 | | 本地崩溃文件 | Electron Crashpad 只在本地收集,配置为不向崩溃服务器上传。文件可能包含进程内存片段。 | | 诊断 ZIP | 只有您主动导出时创建;可能包含日志、系统和版本信息、路径、工作区/会话 ID、有限的生命周期/插件 ID,以及最多 50 MiB 证据预算内的崩溃文件。应用只保留最新 3 份由其管理的 ZIP;您复制到其他位置的文件不受该限制。 | | 系统通知 | 回合和任务通知使用不含会话名、用户文本、任务内容或错误详情的泛化完成/失败文案;更新通知包含可用版本号。通知由本机操作系统处理,不经过 DSH Desktop 远程推送服务;操作系统的通知历史或跨设备同步取决于您的系统账户设置。 | | 安装 UUID | 按第 3 节保存;在版本检查时会发送给官方更新端点。 | 凭据脱敏只能降低风险,不能保证日志或诊断包不含敏感信息。分享诊断包前,请先检查内容并删除不希望接收方看到的信息。 卸载应用不一定会删除 Electron 用户数据、DSH Home、Profile、已下载的安装包或您另行复制的诊断文件。删除前请先备份需要保留的数据。 ## 6. 您选择的第三方服务 DSH Desktop 是可组合的插件平台。下列传输由您选择的服务、来源、插件或操作触发,接收方按自己的隐私政策处理信息。 ### 6.1 模型和工具服务 当您配置并调用模型供应商、MCP 服务、外部工具或其他 API 时,接收方可能收到 API Key、提示词、对话上下文、附件或文件内容、工具输入输出、会话标识、网络元数据,以及该服务协议所需的其他信息。具体范围取决于您的配置和请求。不要向不受信任的供应商发送敏感数据。 上游 DSH 还维护一个与 Desktop 安装 UUID 不同的 `.anonymous-user-id`。当您调用当前默认的 DeepSeek 模型适配器时,它会把该标识放在 `x-deepseek-harness-user-id` header 中,并把可选的会话 ID、API Key 以及完整模型请求发送到您配置的 DeepSeek 或兼容 `baseURL`。请勿将它与 `X-DSH-Desktop-Installation-Id` 混为一谈。 默认组合还提供 DeepSeek `web_search`。当您主动使用该工具时,它会向配置的 DeepSeek Messages 端点发送 API Key、原始搜索词(嵌入固定提示中)、模型、token/使用次数限制和标准请求元数据;网页 `fetch` 工具默认关闭。 ### 6.2 Community Market 与软件包服务 Community Market 默认不需要选中远程来源。选择并使用来源后,Host 会向该来源发起请求。当前内置的可选来源包括: - DSH 1024Store:`deepseek1024.com`; - dshfind:`api.dshfind.com`; - 您自行配置并确认的标准目录来源。 这些来源会看到 IP 地址、时间、固定的 Market User-Agent 和请求的目录资源。依据所选来源支持的能力,请求还可能包含搜索关键词、分类、排序、语言、分页或游标。插件图片可能由 Desktop Host 代为从目录来源、GitHub 或其允许的图片主机获取,因此接收方可能推断您正在浏览的插件或发布者。 当您预览或确认安装插件时,Desktop 还可能访问 `registry.npmjs.org`、`raw.githubusercontent.com`、GitHub 或您配置的 registry,以获取软件包名称、版本、manifest、仓库/commit 证据及依赖。启动时如需补全 Profile 依赖,内置包管理器也可能访问 npm、GitHub、依赖提供方或 Electron 下载服务。安装后的插件及其依赖以您的本地权限运行,可能自行读取本地数据或联网;目录收录和“可安装”状态都不代表隐私或安全审核。 ### 6.3 dsh-market 如果您在 Setup 或设置中选择 `dsh-market`,打开市场、检查更新或查看插件内容时,它可能访问 `awesome-dsh-plugin.com`、npm Registry、GitHub API、`raw.githubusercontent.com`、GitHub 头像服务和 `images.weserv.nl`。这些接收方会看到 IP 地址、时间、请求资源和相关的插件、软件包或仓库标识;图片代理还会收到原始图片 URL。安装或更新仍由您确认,并可能继续访问插件依赖声明的地址。这些请求不会附带 Desktop 的 `X-DSH-Desktop-Installation-Id`。 `dsh-market` 还提供由您手动触发,或在您明确启用可选自动备份后触发的 Profile 备份: - 本地导出只在本机生成文件; - WebDAV 上传始终发送完整备份。自动备份默认关闭;启用后,满足其 24 小时间隔条件时会自动上传。URL、用户名、自动备份设置和上次成功时间保存在浏览器 localStorage;密码从输入后保存在当前 renderer 内存,直到组件卸载或页面刷新,并只为每次请求临时发送给本地 Host;`dsh-market` 不把密码写入 localStorage 或磁盘; - GitHub Gist 备份会把 GitHub token 用于 `api.github.com` 验证、创建、更新或读取 secret Gist。Secret Gist 不会公开列出,但任何获得链接的人都可以读取。手工 token 只保存在当前会话内存中,也可使用 `DSH_GITHUB_TOKEN` 或本机已登录的 `gh`;Gist ID 和 WebDAV 地址/用户名可能保存在浏览器本地存储中; - 完整备份包含 `package.json` 和 Profile 配置文件,不包含 `node_modules`、lockfile 或 Market 缓存,但可能原样包含 `config.toml`、`.env`、API Key、token 或其他秘密。本地和 WebDAV 导出始终使用完整备份;只有 Gist 导出可以只选插件,并由您决定是否包含配置。 只应向您信任的 WebDAV 或 GitHub 账户上传备份;相应服务按其政策处理备份、凭据和网络元数据。 ### 6.4 可选的上游遥测 当前上游 DSH session telemetry 在 Desktop 默认组合中为 `DISABLED`。如果您或部署者显式设置 `DSH_TELEMETRY_MODE` 为 `FULL` 或 `FEEDBACK_ONLY`,原始会话遥测可能与上游匿名用户 ID 一起发送到 `https://harness-telemetry.deepseeksvc.com/v1/logs` 或您配置的 `DSH_TELEMETRY_OTLP_URL`。该处理由上游配置和接收方政策决定,不属于 Anywhere Labs 官方更新服务。 ### 6.5 外部链接 应用或文档中的外部 HTTP、HTTPS 和邮件链接会交给系统浏览器或邮件客户端。打开链接后,相应网站或服务的政策适用。 ## 7. 浏览器和局域网访问 允许在浏览器中打开 DSH 本身不会向 Anywhere Labs 上传会话;它让普通浏览器访问本机 Host,并且只能在兼容模式中使用。回环访问默认限制在 `127.0.0.1`。 如果您明确开启局域网访问,Host 会监听局域网接口。Host 的信任标记不是用户鉴权。设置、凭据和本机原生对话框等配置面仍被限制在回环访问,但局域网客户端可以创建会话,并可能通过默认的命令和文件系统工具操作您的电脑。局域网 HTTP 还可能因浏览器安全限制而无法使用部分安全模块。只应在完全信任的网络中临时开启,并在不需要时关闭。 这类局域网流量通常不经过 Anywhere Labs,但连接到您电脑的局域网用户会成为该数据的接收方。 ## 8. 共享、受托处理和跨境 处理所依据的法律基础取决于您的司法辖区和具体场景:您主动请求的下载、支持和第三方连接用于履行您的请求;在承认该基础的地区,版本检查和必要网络日志基于我们提供安全、可靠更新并保护官方服务的合法利益;法律义务基于相应法规;法律要求同意的非必要处理只能基于有效同意。不承认“合法利益”作为相应依据的地区不能仅因本政策而获得该法律基础。第 11 节说明当前稳定安装 UUID 的同意限制和您的反对权。 我们只会在以下范围披露或允许处理信息: - 为提供官网、更新、下载、邮件和代码托管而使用的基础设施服务商; - 您主动选择的模型、工具、插件、目录、registry、下载或外部链接服务; - 为遵守适用法律、法院命令,或保护用户、项目和公众安全所合理必要的接收方; - 项目重组或服务迁移中承接相同目的和本政策义务的后续运营者,并在法律要求时另行通知。 我们不出售个人信息,也不向第三方提供安装 UUID 用于其广告画像。 Vercel、Upstash、GitHub、npm、ModelScope、模型供应商及社区来源可能在不同国家或地区处理数据。具体位置取决于当时的服务路由、接收方和您的选择。需要跨境告知、单独同意、标准合同或其他保障时,我们及相应接收方应按适用法律完成这些要求。 ## 9. 保留期限 我们按以下规则确定期限: - 本地安装 UUID、日志和诊断包按第 3 节和第 5 节所述规则保留; - 官方服务的原始请求日志和其中可能包含的 UUID、IP 地址及网络元数据,只在交付更新、维护安全、防止滥用、排查故障和生成去标识化汇总统计所合理需要的最短期间内保留;不再需要后删除或不可逆地去标识化,法律要求保留更久的除外; - 支持邮件和问题记录保留到处理完成、争议或安全跟进不再合理需要时;公开 GitHub 内容由您和 GitHub 的控制及保留规则决定; - 第三方接收方按其政策和您与其之间的安排保留信息。 官方服务的基础设施和日志配置可能调整,因此本政策采用上述目的与删除条件确定期限,而不虚构一个未经服务端配置证实的固定天数。您可以通过隐私联系邮箱询问当前处理和期限。 ## 10. 安全 官方互联网端点使用 HTTPS。Desktop 为本地安装 UUID 创建私有目录和文件权限,并限制导航、远程图片和目录请求。Crashpad 不自动上传,诊断导出前会提示风险。 这些措施不能保证绝对安全。第三方插件、本地高权限进程、被复制的用户数据、公开分享的诊断文件,以及无鉴权的局域网访问都可能绕过 Desktop 的预期边界。局域网 HTTP 也不是端到端加密通道。 ## 11. 您的选择和权利 根据适用法律,您可能有权请求查阅、复制、更正、删除或限制处理个人信息,撤回同意,反对特定处理,获取可携带副本,以及向主管机构投诉。请通过 [t4wefan@qq.com](mailto:t4wefan@qq.com) 联系我们。为定位版本服务中的记录,我们可能请您私下提供本机安装 UUID;请勿公开发布该值。 我们无法从远程替您删除本机文件。您可以在应用关闭后删除相应本地数据;删除安装 UUID 会在下次启动时生成新值。已经不可逆汇总或无法再关联到您的数据,可能无法恢复或单独删除。 本政策是信息告知,不应被解释为在法律要求单独或明确同意的场景下自动取得同意。当前版本默认发送稳定的安装 UUID,且尚未提供只停用该标识的独立用户界面。若适用法律要求发送前取得同意,产品还需要提供相应的事前选择机制;仅安装或继续使用软件不替代法律要求的单独同意。 我们不会仅基于本政策所述数据作出对您产生法律或类似重大影响的自动化决定。 ## 12. 未成年人 DSH Desktop 是面向开发者和能够管理本地计算环境的用户的工具,并非专门面向儿童。未成年人应在监护人指导下使用。若您认为我们在不符合法律要求的情况下处理了未成年人的个人信息,请联系我们;我们会核实并采取适当措施。 ## 13. 政策更新 当数据类型、用途、官方接收方或用户选择发生实质变化时,我们会更新本政策、生效日期和仓库历史。法律要求再次告知或取得同意的重大变化,会在相关处理开始前完成相应步骤。 本政策的中英文版本具有同等效力。若两个版本出现表述差异,请结合两者理解并通过隐私联系邮箱告知我们修正。