本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
已附带L站友好链接

项目地址:
你好,我是老王
我做了一个deepseek harness的TUI插件,名叫dsh-mt,m是管理器manager的缩写,而t是终端UI,tui的缩写
这就是dsh-mt的主页啦,和neovim的主页不能说毫不相关,至少也可以说是ctrl c+ctrl+v,我诚实,值得表扬

让我先展示一下,我目前的功能
最基础的对话功能,这里我沿用了claude code的基础操作,可以直接进行对话,使用/来进行命令输入的功能,也包括tab键进行命令补全,使用双击esc来进行历史对话回溯
这是对话:

你可能会问,我直接把claude code接deepseek的api不就行了吗,老王为啥要重复造轮子呢?
主要是为了两个功能,一个功能是会话管理,另一个功能则是vim
我们先来展示会话管理,这也是项目名中manager的由来
我们使用快捷键空格+e,就可以打开我们的左侧边栏
左侧边栏会包含所有的历史会话
我们可以在侧边栏中进行会话管理,包括新建会话,恢复会话,归档会话,删除会话等操作

当我使用enter恢复会话的时候,我们会创建一个新的tab页
我们可以通过快捷键gt来进行tab页的切换,tab页为我们提供的会话管理的便捷操作,这样我就可以一次性监视很多会话

另外我们可以使用空格键+b来打开我们的右侧侧边栏,我们可以在这里查看我们当前的会话的轨迹,包含我们的目标,调用工具,待办任务
然后在下方是我们的任务回调窗口,这里会显示已经完成的会话任务,我们可以使用enter来直接进入我们选中的会话

这就是我为会话管理做的工作,我个人是觉得暂时够用,如果您有什么想法的话,可以提issue或者直接提交pr,或者在本视频评论区留言也可以
那么讲完了第一个会话管理功能,我们来看看下一个功能,那就是vim的支持
众所不周知,老王是一个忠实的vim爱好者,vim爱好者的键盘belike

受益于deepseek harness的超高自由度,我终于可以实现我一直想要做的前端应用
我可以在会话区使用i进入insert模式,与ai进行对话,在这里,我们可以获得和dsh web一样的体验,使用/来输入指令

在insert模式下可以选择的指令与dsh web保持一致,

我可以使用v进入visul模式,使用光标选择文本进行复制

使用:进入command模式,输入我想要执行的命令

你可能会问,我们在inset模式下使用/来输入命令不就够了吗?为什么还要使用:来输入另一套命令?
我们在insert模式下输入的命令更多的是对正在进行的会话进行操作,
而对于我们程序本身,比如切换到下一个tab,关闭当前tab等操作,则是通过command模式命令去实现的
接下来是老王的悄悄话时间:
我一直想要在agent工具中实现接近原生vim的体验,无奈大多数vim插件都没有引入"模式"这一设计精髓,光标的作用也十分有限,受益于dsh的超高可定制化以及ratarui库的成熟
我终于可以实现这一梦寐以求的工具了
哇,那些内测的大佬实在是太卷了,我也想要那么多star啊,不过以dsh-mt的vim含量,恐怕也很难被所有人接受吧
最后是一则求助
这个项目目前是我自己在维护,我主要在linux平台上使用,所以linux平台bug应该会少一些
但是老王并没有win主机(linux嘉豪是这样的),对win平台的适配应该会比linux要差
所以如果你也喜欢vim,喜欢tui,希望你可以和我一起维护这个项目,一起让它变得更好