mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
Every surface that persists or lists sessions resolves one directory under the Harness home, so history is shared across working directories instead of scattered per project.
2.0 KiB
2.0 KiB
dsh-paths
English | 中文
DeepSeek Harness 用户数据的共享文件系统路径辅助工具。
DSH 主目录
resolveDshHome() 解析 DeepSeek Harness 的单根主目录。优先级从高到低为:显式配置的路径、$DSH_HOME、~/.dsh。harness 将所有用户数据保存在同一根目录下。
dshHomeDisplay() 以符号方式表示当前根目录,用于面向用户的路径:默认主目录表示为 ~/.dsh,任何已配置的主目录表示为 $DSH_HOME。它绝不会泄露机器的绝对路径。
DSH_HOME_DIR_NAME 定义默认用户数据目录名:.dsh。
defaultDshHome() 使用 Node 的平台路径规则,将操作系统主目录与 .dsh 拼接,并返回默认 DeepSeek Harness 主目录。
expandHomePath() 使用操作系统主目录展开 ~、~/... 和 Windows 风格的 ~\... 前缀。它会保留非波浪号路径和 ~user/... 原样不变。
会话存储
resolveSessionsRoot() 按与 resolveDshHome() 相同的优先级,解析 Harness 主目录下的共享会话存储根目录。SESSIONS_DIR_NAME 定义其目录名:sessions。每个持久化会话的界面都解析这同一个目录,因此历史记录在各工作目录之间共享,而不是按项目分散;持久化后端仍可在其内部分区。若两个界面解析出不同的根目录,会静默地把同一用户的历史记录拆成互不相交的存储,这正是该位置由此处拥有、而非由各调用方自行拼接的原因。
该包刻意保持规模小且不依赖 harness,以便产品包共享用户数据路径约定,而不必彼此依赖。
已知限制与待完成工作
- 展开范围刻意保持狭窄:只有单独的
~、~/...和~\...使用当前操作系统主目录;~alice/...等指定用户的形式、环境变量和 shell 表达式保持不变。 - 辅助工具不会操作文件系统:调用方仍负责目录创建、存在性检查、权限,以及对结果路径应用信任策略。