建议:工作区(或任务)可绑定一套预设,新建会话时自动带上 #8797
Replies: 2 comments 1 reply
|
我用一个更简单的比喻,dsh的插件,就跟游戏里面的技能面板一样,当然游戏里面的技能需要升级解锁,而插件是随便安装的。DSH的逻辑是只要安装了的插件就全局生效,这个不能说不好,而是在实际的使用过程中,比如我新建一个会话工作区,这个新的会话工作目录可以全局使用所有插件,但是在实际的使用过程中,有些插件没有工作或者不知道他运行没运行,用指令激活或者要输入具体的插件名称还是别的,对于普通用户有难度,在开发软件还是别的程序的过程中遇到难题本闹就闹心,然后在想问题的时候,还要加入具体的指令某些插件才激活运行,这样更恼火。如果能给每一个新开会话工作区文件夹挂上具体的插件,这个工作文件夹只运行具体的插件,普通用户用自然语言,这里面的插件就会按照自然语言进行工作,哪怕自然语言是错误的,是残缺的,大模型也会跟插件去补全。 |
|
要的不是“插件到底有没有在运行”这种模糊问题,而是: 插件可以全局安装,但应该能在具体工作区的根目录上,绑定一套具体的插件组合。这个工作区只启用这套组合里的插件,其他全局插件不参与。 翻译成更直白的话: 全局安装 = 你电脑上装了很多工具。 工作区插件组合 = 你进某个项目,只从工具柜里拿这几件工具上工位。 其他工具还在柜子里,但不在这个工位上,不干扰你,也不参与 AI 的调用选择。 这就是你真正想要的机制。 现状是什么 装一次,整个配置档都能用。 工作区只是“当前项目目录”,控制的是文件操作范围。 工作区本身不绑定插件,也不决定“这个项目只启用哪几个插件”。 所以你会看到:全局装了一大堆,实际干活时哪些被调用、哪些没被调用,不直观。 你之前说的“插件都在一起挂载着,是否运行不知道”,根本原因就在这里: 你想要的机制 全局安装层 工作区组合层 会话调用层 这样,你作为用户就只需要关心: 这个工作区启用了哪几个插件。 它们有没有被调用。 效果是什么。 全局装了多少、有没有全局生效,不再困扰你。 这能解决什么 可见性:当前工作区启用了什么,一目了然。 减少干扰:AI 不会面对几十个全局插件选择困难。 节省 token:工具列表短了,提示词负担小。 配置持久:工作区根目录带着自己的插件组合,换机器、分享项目时也能复现。 自然语言驱动:用户不用记命令,AI 在工作区组合内自动分派。 技术上大概长什么样 yaml .dsh/workspace.yamlplugins:
读取这份配置。 只加载 / 启用清单里的插件。 其他全局插件保持“已安装但未在此工作区启用”。 每个插件的配置也可以按工作区覆盖。 这就类似: VSCode 的工作区扩展推荐 / 启用。 npm 项目的本地依赖。 IDE 的项目 SDK 和运行配置。 不是新概念,是很成熟的项目级作用域机制。 所以你的诉求是成立的 现有 DSH 只有: 全局插件(整个 profile) 单会话预设(preset) 中间缺的正是: 工作区级插件组 / 项目级插件配置 有了这一层,你之前说的“全局安装的插件是否运行、哪些在运行、怎么解决”就自然解决了: |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
背景
#8634 里 @kkaporn 反馈「普通用户不该需要背命令才能让插件生效」。我们把机制核了一遍:他踩的是层级问题,但顺手挖出一个真缺口,整理成这条建议。
现状:目前只有两层
config.id是会话保存的 preset 标识符)⇒ 常见误解:「我没敲命令,所以插件没生效」——插件本来就是全局的;真正会随会话变的只有预设。
⇒ 但确实存在一个缺口:中间那一层是空的。
缺口
现在没有「工作区 / 任务 → 预设」的绑定。用户想要的是:
现在只能每次手动选预设,或者把所有插件全挂在同一个预设里(越挂越臃肿)。
建议
触发这条建议的用户原话
讨论 #8634 的发起人 @kkaporn 看到本建议后补充道:
即:这不是我们替用户想象的诉求,而是用户自己提出的 —— 他要的不是「全局生效 + 自己判断该装什么」,而是「这个工作目录就带这一套,我说话就行」。
用户随后把需求写细了(原文要点)
同一位用户在跟进里给出了更完整的形态 —— 三层结构,以及两条比"小白友好"更有说服力的收益:
.dsh/workspace.yaml,里面列plugins:),这个工作区只启用这套组合里的插件,其他全局插件不参与;他列出的收益里,这两条我们原本没写进去:
出处
@deepseek-ai/dsh-agent-presetREADME:「可同时声明多个 preset,由会话选择」「config.id是会话保存的 preset 标识符」Changes affect every session in that profile这条来自一线用户的真实卡点,不是设计洁癖。
All reactions