dsh-theone
所有事在一个对话框(主聊天)里聊:每条消息自动分到所属话题,每个话题在后台有独立的会话和上下文;已有的 DSH 旧会话也会自动整理、分类成话题。
安装
dsh plugin --profile web add dsh-theone
沙箱测试结果
| 阶段 | 结果 |
|---|---|
| 1 安装 | ✓ |
| 2 列装 | ✓ |
| 3 挂载 | ✓ |
| 4 启动 | — |
四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。
README
<h1 align="center">TheOne</h1>
<p align="center"><b>DSH 会话多到翻不到?以后只在一个对话框里说,它自己接上。</b><br>每句话自动分到对应的那件事,每件事有自己的会话和项目文件夹,隔几天回来也能接着做。</p>
<p align="center">
<img alt="DSH 0.2.0-rc.2 / 0.2.1-rc.2" src="https://img.shields.io/badge/DSH-0.2.0--rc.2%20%7C%200.2.1--rc.2-a75b1e">
<img alt="免费开源 MIT" src="https://img.shields.io/badge/免费开源-MIT-3c873a">
<img alt="中文 / English" src="https://img.shields.io/badge/界面-中文%20%2F%20English-4a7fb5">
</p>
<p align="center"><a href="http://theone.yulid.org/">项目主页</a> · 简体中文 | <a href="./README.en.md">English</a></p>
<p align="center"><img src="https://raw.githubusercontent.com/YunongDai2005/dsh-theone/main/docs/images/theone-demo-zh.webp" alt="演示:在主聊天里先后说显卡和旅行两件事,左侧各自出现一个话题;回到显卡那件事时,它接着原来的话题回答" width="100%"></p>
<p align="center"><sub>先问显卡,再问旅馆,然后接着问显卡,中间没有任何提示语。左边的两个话题是它自己建的,什么都没点。(示例对话)</sub></p>
<p align="center"><b>安装:</b>DSH 里打开 <b>插件 → 添加插件</b>,填 <code>dsh-theone</code>,点安装。不用另填 API Key。</p>
<p align="center"><b>QQ 交流群:1080980184</b><br>装不上、分错了、想要什么功能,进群说一声,作者在群里。</p>
你的 DSH 侧边栏里是不是躺着几十个会话?想回到上周那件事,得一个个翻;懒得新建,就在一个会话里什么都聊,结果上下文越聊越乱,压缩一次细节就没了。
如果你也说过下面任何一句,TheOne 大概就是为你写的:
- 「之前聊过的那个在哪来着?」:对话太多,旧会话找不到
- 「懒得新建了,就在这儿接着问吧」:结果一个会话越聊越杂
- 「我不是跟你说过了吗?」:AI 忘了之前聊过的内容
TheOne 的做法: 你只在一个主聊天里说话,它在后台替每件事开一个独立的会话,把每句话送到该去的地方。
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/YunongDai2005/dsh-theone/main/docs/images/theone-architecture-zh-dark.svg">
<img alt="TheOne 的结构:主聊天把每条消息交给分配话题,送到对应的后台会话,结果实时回到主聊天;话题目录保存进展、约束和关联" src="https://raw.githubusercontent.com/YunongDai2005/dsh-theone/main/docs/images/theone-architecture-zh-light.svg" width="100%">
</picture>
每件事在自己的会话里推理、调用工具、压缩上下文;你看到的始终是一个普通的对话。
为什么值得一试
· 平时的用法 · 装了 TheOne
开始一件新事 · 新建会话、起名字 · 直接说
回到之前的事 · 在侧边栏里翻 · 直接提,它自己找回来
一个会话聊杂了 · 上下文互相干扰,压缩后丢细节 · 每件事一份独立上下文
两件事要结合 · 来回复制粘贴 · 自动把另一件事的进展带过来
分错了 · 手动挪 · 说一句「分错了」
- 和原生会话一模一样:思考从第一个字起就在原位置,工具卡片、授权、提问、待办、重试、回答中途插话,全都照常。
- 它干活时你可以接着说:回答进行中发的消息,如果是关于正在做的事,就并进这次回答,和普通 DSH 会话一样;如果是别的事,它的话题马上在后台开始处理,回答按你发送的顺序接在主聊天里。最多三个话题同时干活。
- 在该干活的地方干活:新话题如果是你某个项目的事,就在那个项目的文件夹里干活;其他的放在 DSH 给「不属于任何项目的聊天」的文件夹里。不会往你侧边栏的项目里加任何东西。
- 相关的事会互通,无关的事互不打扰:相关话题自动共享进展,哪些话题有关联从你的使用中学;话题的约束(比如「预算数字不能写进论文」)每次原样带上,压缩不会丢。
- 越用越认得你的说法:每个话题有了回复后,后台会写一张简短的话题卡片(这件事是什么、你会怎么叫它、涉及哪些人名地名和文件,以及已经定下来的数值,比如预算、单号),话题往下推进时还会重写,换个说法也能分对。你换的新叫法会补充进去,旧名字不会忘;定下来的数值会记着什么时候定的、之前是多少。分错了说一句「分错了」,它会记住是哪些词把这类消息连到正确话题。几个月没动、或者原会话已归档的话题,不会因为久远就被排除:消息里说清了是哪件事(「去年那个押金」),就找回那个话题;时间只在几个同样可能的话题之间排先后,所以「刚才那个」指最近的。隔了三天以上回到一个话题,它会先说「上次记录是……」,日期、金额、进度都当作上次的记录,不当成今天仍然成立。
- 重启后能接上:DSH 在话题干活时停了,以话题自己的会话为准:已经做完的直接展示给你;做到一半的列出它已经改了什么,你说「继续」时,话题会先检查现状再接着做,不会重复已经做过的改动。每个话题按「目标 / 进度 / 下一步」记着自己做到哪了。
- 动手前核对对象:话题为一条消息第一次改文件、跑命令或发东西之前,如果这条消息也可能属于别的话题,或者要改的东西在另一个项目里,会先在主聊天问你一次;路由有把握、文件夹也对得上就直接做,不打扰你。
- 「分错了」会收拾干净:在 最近的话题分配 里,可能放错的消息旁边有「换到 …」按钮,换过的有「撤销」。分错的那个话题会忘掉那一轮(不进它的历史、卡片和要点),并被提醒一次;那一轮已经做过的改动会列给你,不会在背后悄悄撤销。
- 旧会话可以整理成话题目录:你在「话题工作区」同意后,它才在后台用你选的模型读一遍你选择的已有会话,整理成话题,再分进话题工作区(TheOne 自己的分组,和 DSH 侧边栏里的项目无关),点进去就能接着聊。它只读不改,你原来的会话原样留着。会话多时会用掉一些额度;不想整理,可以在设置里关掉「历史整理」。
- 零额外配置:不用另填 API Key,用的就是你在 DSH 里选好的模型。选中 TheOne 时,模型按钮旁边有一个图层图标,可以查看和切换分配话题、干活各用哪个模型。
30 秒装好
1. 在 DSH 中配置好 API,选一个能正常聊天的模型。
2. 打开 插件 → 添加插件,在「包名或地址」里填 dsh-theone,点击安装。
3. 点击左侧 TheOne · 主聊天,开始说话。
就这三步。兼容 DSH 0.2.0-rc.2、0.2.1-rc.2 与 Node.js 24;界面跟随 DSH 的语言(简体中文 / English)。
<details>
<summary><b>第一次用 DSH?手把手来一遍(约 3 分钟)</b></summary>
不用懂代码,跟着做就行:
1. 先让 DSH 自己能聊天。 在 DSH 的设置里填好模型服务的 API Key(比如 DeepSeek 的),新建一个普通会话发一句「你好」。能收到回复,说明这一步好了。TheOne 用的就是这个模型,不用再填别的 Key。
2. 装 TheOne。 点左侧的 插件,再点 添加插件,在「包名或地址」一栏输入:
dsh-theone
点安装,等它跑完。
3. 开始用。 左侧会多出一个 TheOne · 主聊天。点进去,把你手头的事一件件说出来就行:今天的工作、周末的旅行、要写的论文……不用新建会话,也不用起名字。
4. 以后更新。 有新版本时,TheOne 入口右边会出现一个下载图标,点一下就装好,一般不用重启;话题都在数据库里,不受影响。
5. 不想用了? 在插件页卸载即可。你原来的 DSH 会话都还在,TheOne 只是帮你整理,从来不删它们。
可能遇到的小状况
- 提示版本「太新」、装不上: DSH 默认只安装发布满 24 小时的版本,这是它的安全规则,不是出错。可以等一天再装,也可以改填 GitHub 地址
https://github.com/YunongDai2005/dsh-theone,马上就能装。 - 装完左侧没看到 TheOne: 重启一下 DSH。
- 遇到问题: 在 话题工作区 页面底部点「反馈」,会自动带上版本和诊断信息(不含聊天内容),点「发送」即可,不需要打开 GitHub。也可以进 QQ 群 1080980184 直接问,或者发邮件到 [theone@yulid.org](mailto:theone@yulid.org),有截图更好。
- 会不会很费钱: 每条消息多一次很短的分类调用(不开深度思考);大约六条里有一条(要开新话题、要问你,或者拿不准)会再开着思考判断一次。「好的」「继续」这类连第一次都省了。用 DeepSeek V4.1 Flash 大约每一千条消息半美元:每天发 100 条,一个月分配话题多花大约 2 美元(十几块钱)。干活本身用的还是你选的模型,和平时一样计费。第一次整理旧会话时,会话多的话会用掉一些额度;不需要可以在设置里关掉「历史整理」。
</details>
<details>
<summary><b>命令行安装与其他方式</b></summary>
- npm:
dsh plugin --profile web add dsh-theone --ignore-scripts(桌面端把web换成desktop) - GitHub(总是最新的 main):
dsh plugin --profile web add github:YunongDai2005/dsh-theone --ignore-scripts
从 npm 安装的新版本要发布满 24 小时才装得上;遇到这种情况,更新按钮会说明原因,并可以只为 TheOne 放行、立即安装。
想通过 Nebius Token Factory 用 NVIDIA Nemotron 3 Super 运行独立演示,可查看[配置与启动说明(英文)](docs/nebius-demo.md)。
</details>
非官方社区项目,由社区成员独立维护,与 DeepSeek 不存在隶属或背书关系。
在手机上用(实验功能)
不在电脑前也能和主聊天说话:在 TheOne 设置 里绑定一个聊天软件,之后在手机上发的消息就和在主聊天里打字一样,照常分到话题、在后台干活,回复发回手机。需要你确认的操作和 AI 给的选项也会发过去,回一个数字就行(10 分钟不回按拒绝)。电脑上打开主聊天,看到的是同一段对话。都只认你本人,别人发的消息不会进主聊天。
聊天软件 · 怎么绑定 · 说明
微信 · 设置里点「扫码绑定」,用手机微信扫码 · 用腾讯 iLink 接口(和 OpenClaw 微信插件同一套),这是腾讯的私有协议,请遵守微信的使用规范
Telegram · 在 @BotFather 建一个机器人,把 token 填进设置,再扫码(或发 /start 配对码)完成配对 · token 只存在这台电脑上
iMessage · 只限 Mac:填你发消息用的手机号或 Apple ID · 需要给运行 DSH 的程序「完全磁盘访问」权限,第一次回复时允许它控制「信息」
DSH 开着才能收到消息,电脑睡眠或 DSH 退出时收不到。断网、重启后会自动接着收,不丢也不重复。
它分得有多准
口说无凭,我们做了一套公开评测 InterleaveBench:模拟一个人在同一个对话框里同时推进 3–5 件事(旅行、记账、论文、健身……),中英文各半,共 50 段对话、2466 条消息,每条属于哪件事都事先定好。下面是用 TheOne 自己的路由代码和 DeepSeek V4.1 Flash(和 TheOne 路由时一样关闭思考),在其中 40 段开发集上逐条重放的结果(连人都分不清的消息不计分):
做法 · 分对的比例
TheOne 0.3.38,事先给好话题列表 · 98.7%
TheOne 0.3.38,从零开始边聊边建话题(就是你第一次用的样子) · 96.3%
TheOne 0.3.37(每条消息只做一次快速判断),事先给好话题列表 · 92.9%
TheOne 0.3.37,从零开始 · 90.1%
关键词检索(BM25),事先给好话题列表 · 73.3%
什么都不分,全塞进一个会话 · 44.5%
关键词检索,从零开始 · 39.9
…(truncated)
以上内容来自 npm 上的 README,我们只做格式化,不改内容。
版本
npm 上共发布:37,最后更新 2026-10-28