DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

X Project — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
X

dshx-project

X Project

从会话标头显示并打开会话的实际项目目录,并提供 set_project 工具供模型记录该目录。会话 cwd 不可变,因此映射关系存储在此插件自身的持久化存储中。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:callaumyan-design/dshx-project#8d8624274f5954c9f50260fc84bf584c7ceff005
README兼容性版本

兼容性与来源证明

X Project 以 dshx-project 发布,当前版本为 1.0.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/19

版本

1.0.0stable
2026/10/19

相关插件

正在加载相关插件…

最新版
1.0.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/19
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Experimental Inspector@deepseek-ai/dsh-experimental-inspector用于 Host 调试和 Client Runtime 检查的实验性跨 realm CDP hub

README

dshx-project

在会话标题栏显示本会话真正在做的项目,一键在资源管理器里打开它。

为什么需要它

DSH 自带「Open In...」按钮打开的是会话的 cwd。而 cwd 是会话创建时写死的 immutable 元数据:

// dsh-session/lib/types/types.d.ts
export interface SessionHeader {
    /** Absolute working directory the session was created in (if any). */
    readonly cwd?: string;

我在 0.2.0-rc.2 的运行时里搜过 setCwd|updateHeader|patchHeader|updateMeta——零结果, 没有任何修改 API。如果你的会话都建在工作区根目录(常见情况),那个按钮永远只打开根目录。

从日志里反推项目也不可行:实测覆盖率约 3%(267 个日志里只有 9 个提到完整子路径)。

所以本插件不去改那个 immutable 字段,而是自己维护一份 sessionId -> 项目路径 的映射。 它是纯展示性的:插件没加载时会话照常打开,自带按钮照常工作,会话日志不受任何影响。

装了什么

位置内容
标题栏一个「项目」控件,显示项目文件夹名;点开是目录菜单(当前项目 / 工作区目录 / 忘记)
AI 工具set_project(path) —— 模型可以自己把当前项目记下来
路由/dshx-project/{state,set,clear,open},只接受同源请求

映射存在 ~/.dsh/dshx-project/projects.json(原子写:先写 .tmp-<pid> 再 rename)。

用法

  • 手动:点标题栏的「项目」→ 从菜单里选一个目录 → 记下并可直接打开。
  • AI 自动:直接跟模型说「这个会话在做 D:\work\my-app」,它会调 set_project。 也可以让它在发现真实项目根和工作区根不同时自己记录下来。
  • 打开:点控件本体 = 打开当前记录的项目;菜单里选别的目录 = 改记录。

几个设计取舍

  • 路径必须在已知工作区内。 set / open 路由页面可达,不设限就等于让浏览器 能打开机器上任意目录。工作区根来自 ~/.dsh/storages/workspace.json(产品自己的 事实来源),与会话 cwd 取并集。
  • Agent.id 就是 session id。 工具执行时没有 sessionId 参数,是从 exec.agent.id 拿的 (dsh-agent 的 types.d.ts:Session identity)。没有 agent 上下文时明确报错,不猜。
  • 只依赖 React。 下拉菜单是自己实现的,没有 require @deepseek-ai/dsh-client-ui-primitives ——那个包装在 app.asar 的运行时 payload 里、磁盘上读不到,无法在开发时核对它的 props 契约。 自带按钮的 Menu 组件引用方式可查,但我不想依赖一个没法验证的 API。
  • 候选目录走两层。 项目有的在一层下(projects/my-app),有的直接在根下 (my-tool),只走一层会漏掉一半。

测试

开发时用一组 11 项的 host 测试(假 ctx 驱动真实模块)覆盖: 空状态、越界拒绝、缺失目录、相对路径、正常记录、状态回读、按记录打开、无记录打开、 清除、AI 工具的三种情形(有效/越界/无 agent)、方法守卫(405)、以及 render 输出。

安装

# Web profile
dsh plugin --profile web add github:callaumyan-design/dshx-project
# Desktop(用 DSH Desktop 自带的 dsh 命令,先从托盘完全退出 Desktop)
dsh plugin --profile desktop add github:callaumyan-design/dshx-project

安装后重启 DSH。卸载:dsh plugin --profile <profile> remove dshx-project。

License

MIT