dsh-theone
Talk about everything in one chat (the main chat): each message is routed automatically to the topic it belongs to, each topic runs in its own background session with its own context, and existing DSH chat history is organized into topics.
Install
dsh plugin --profile web add dsh-theone
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✓ |
| 2 list | ✓ |
| 3 mount | ✓ |
| 4 boot | — |
Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
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)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::37,最后更新 2026-10-28