DSH插件安装指南:本地多智能体开发框架基础配置
1. DSH到底是什么?先别急着装插件,搞清定位再动手
很多人看到“DSH插件怎么选”就直接点开dshmarket,一顿搜索、安装、重启,结果发现插件列表里一堆报错,控制台刷出
error: dsh: plugin tree failed to load: failed to apply loader entry include
,或者更糟——根本打不开
dsh web
界面,只看到一行冷冰冰的提示:
dsh web authentication required; reopen the url printed by dsh web.
。我第一次遇到这情况时,花了整整一个下午反复重装、清缓存、换端口,最后才发现:自己连DSH本身是干什么的都没搞明白,就盲目往里塞插件,纯属给系统添堵。
DSH不是VS Code、不是PyCharm、也不是Zotero那种面向终端用户的成熟IDE或工具软件。它是一个 面向开发者与AI工程团队的本地化多智能体协同开发框架 ,核心定位是“在你本机跑起一套可调试、可编排、可观察的轻量级Agent工作流”。它的名字DSH(DeepSeek Harness)本身就暗示了它的角色——不是最终产品,而是承载和调度其他组件的“马鞍”或“缰绳”。你装的不是“功能”,而是“能力模块”;你配的不是“主题皮肤”,而是“运行时行为策略”。
这就解释了为什么那么多热词里混着完全不相干的东西:
zotero插件下载
、
pycharm中文插件
、
ublock origin插件
……这些是用户在搜索过程中被算法带偏的“相关词”,但对DSH而言,它们毫无关系。DSH插件不处理网页去广告、不翻译PDF、不渲染Markdown文档——它只做三件事:
定义Agent角色、编排任务链路、桥接外部服务
。比如
dsh-at-file
这个插件,名字里的
at-file
不是“在文件上右键”,而是“Attach to File”,意思是让某个Agent能直接读取、解析、甚至修改你本地指定路径下的结构化文件(如YAML配置、JSON Schema、CSV数据表),并把结果作为下一步推理的上下文输入。它解决的是“如何让AI Agent真正理解并操作你的项目资产”,而不是“怎么高亮代码”。
所以,当你看到
dsh-better-sidebar
,别下意识以为它是美化侧边栏的UI插件。它的真实作用是重构DSH Web UI的导航逻辑,把默认平铺的“Agents / Tasks / Logs / Config”四块面板,按项目维度聚合成树形结构,让你能一眼看清“电商推荐Agent”下面挂了几个子任务、调用了哪些工具、最近三次执行的日志在哪。这种设计,是为了解决真实团队协作中“多人共用一套DSH实例时,如何快速定位归属自己模块的资源”这个痛点,而不是为了好看。
提示:DSH没有“市场”概念,
dshmarket只是社区自发维护的一个GitHub仓库索引页,里面所有插件都必须手动clone、build、link到本地DSH环境才能生效。它不像VS Code Extension Marketplace那样支持一键安装、自动更新。所谓“下载地址”,本质是git clone https://github.com/xxx/dsh-plugin-xxx && cd dsh-plugin-xxx && npm run build && dsh plugin link .这一串命令的快捷入口。
我建议你在装第一个插件前,先用终端执行
dsh version
确认当前版本(目前稳定版是v2.3.1),再运行
dsh web --port 3080
启动服务。如果看到
Authentication required
,说明DSH已成功启动,只是需要你访问它打印出的临时URL完成一次本地环回认证(这是安全机制,防止远程未授权访问)。这一步卡住,后面装什么插件都是空中楼阁。很多
error: listen eacces: permission denied 127.0.0.1:3080
报错,根本原因不是权限问题,而是你机器上已有其他进程占用了3080端口(比如另一个DSH实例、本地Web服务器、甚至某些P2P软件)。解决方案不是改sudo权限,而是
lsof -i :3080
查进程ID,
kill -9 <PID>
干掉它,或者直接换端口:
dsh web --port 3081
。
2. 这10个插件不是“最好用”,而是“最不可跳过”的基础能力补全
标题说“这10个先装上”,不是因为它们评分最高、Star最多,而是因为它们共同构成了DSH本地开发闭环的 最小可行能力集(MVCS) 。少装任何一个,你都会在后续调试中反复撞墙,要么卡在流程无法触发,要么日志查不到源头,要么配置改了没生效——不是插件不好,而是它承担了底层支撑角色。我把它们按功能域分组,每组说明它解决什么具体问题、为什么非装不可、以及装错版本会怎样。
2.1 核心运行时增强:
dsh-core-utils
与
dsh-plugin-loader
这两个插件是DSH插件系统的“地基”。
dsh-core-utils
提供了一套标准化的工具函数库,比如
safeParseJSON
(带错误捕获的JSON解析)、
resolveFilePath
(跨平台路径解析,自动处理Windows反斜杠和Linux正斜杠)、
debounceAsync
(防抖异步函数,避免高频事件触发重复Agent调用)。没有它,你写的任何自定义插件里,都要自己实现这些基础逻辑,代码冗余且容易出错。
dsh-plugin-loader
则负责插件的动态加载与依赖注入。它定义了
.dshrc
配置文件中
plugins: []
数组的解析规则,并确保插件A能正确引用插件B导出的API。如果你跳过它,直接装
dsh-better-sidebar
,会立刻报错
failed to apply loader entry include
——因为Sidebar插件内部依赖Loader提供的
registerSidebarTab
方法,而这个方法根本没被注册进全局上下文。
实测对比:我在一台干净Ubuntu 22.04机器上,只装
dsh-better-sidebar
,启动DSH Web后侧边栏空白,浏览器控制台报
ReferenceError: registerSidebarTab is not defined
;装上
dsh-plugin-loader
后,Sidebar正常显示,但点击“Tasks”标签页时又报
Cannot read property 'parse' of undefined
,直到补上
dsh-core-utils
,所有功能才完整可用。这个顺序不能颠倒,就像盖楼要先打桩再砌墙。
2.2 本地文件交互中枢:
dsh-at-file
与
dsh-local-storage
dsh-at-file
前面提过,它是让Agent“读懂你项目”的关键。但光能读还不够,得有地方存中间状态。
dsh-local-storage
就是DSH的本地键值存储层,它把Agent执行过程中的临时数据(比如一次RAG检索的向量缓存、一次代码生成的AST摘要)序列化后存在
~/.dsh/storage/
目录下,而非内存里。好处是:重启DSH后,这些数据还在,Agent能基于历史上下文继续推理;坏处是,如果你用的是旧版
dsh-local-storage
(v1.x),它默认用
JSON.stringify()
存数据,而新版DSH Agent返回的对象里可能包含
Map
、
Set
、
Date
等无法被JSON原生序列化的类型,导致存储失败并静默丢弃数据。
我踩过的坑:某次调试一个需要连续5轮对话的客服Agent,发现第3轮开始总是丢失用户前序提问。排查日志发现
storage.set
调用返回
undefined
,翻源码才看到v1.2.0之前的
dsh-local-storage
没做类型兼容处理。升级到v2.0.0后,它自动检测值类型并选用
serialize-javascript
库替代原生JSON,问题解决。所以装这个插件时,务必检查GitHub Release页,认准
v2.x
开头的版本。
2.3 Web UI体验基石:
dsh-better-sidebar
与
dsh-web-logger
没有
dsh-better-sidebar
,DSH Web界面就是四个扁平Tab页,所有Agent、Task、Log混在一起。当你有10+个Agent在跑,想快速找到“支付风控Agent”的最新执行日志,就得挨个点开“Logs”页,再用Ctrl+F搜
payment-risk
——效率极低。
dsh-better-sidebar
把它变成树形导航:左侧是Agent名,展开后是它关联的Tasks,再展开是每次执行的Log ID,点击直达详情。这不只是UI优化,而是信息架构重构。
dsh-web-logger
则解决了日志查看的“最后一公里”。默认DSH只把日志写到
~/.dsh/logs/
文件里,Web UI里只能看到时间戳和级别,看不到完整的调用栈、输入参数、输出结果。
dsh-web-logger
把这个文件实时tail,并在UI里渲染成可折叠的JSON块,支持按
level
(info/warn/error)、
agentId
、
taskId
多维过滤。更重要的是,它把
console.log
、
console.error
这些前端调试语句也统一捕获进来,让你能在同一个界面里,既看Agent后端逻辑输出,又看Sidebar插件自身的前端渲染日志,排查
registerSidebarTab
失败这种问题时,效率提升数倍。
2.4 外部服务桥接必备:
dsh-http-client
与
dsh-env-var
DSH本身不内置HTTP请求能力,所有对外API调用(比如调用你自己的FastAPI服务、调用OpenAI API、调用Zotero REST接口)都依赖
dsh-http-client
。它封装了
axios
,但做了关键增强:自动注入
Authorization
头(从
.dshrc
的
auth
字段读取)、自动重试失败请求(可配置次数与间隔)、自动记录请求耗时并上报到
dsh-web-logger
。没有它,你得在每个Agent代码里重复写
axios.post(url, data, { headers: { Authorization: 'Bearer xxx' } })
,一旦Token过期,所有Agent全挂。
dsh-env-var
解决的是配置安全问题。DSH允许你在
.dshrc
里写
OPENAI_API_KEY: "sk-xxx"
,但这会把密钥明文存在配置文件里,Git提交时极易泄露。
dsh-env-var
让你改成
OPENAI_API_KEY: "${ENV.OPENAI_API_KEY}"
,启动时自动从系统环境变量读取。我见过太多团队因为忘了这一步,在CI/CD流水线里把API Key硬编码进镜像,导致安全审计直接fail。装上它,再配合
.env
文件(DSH自动加载同目录下的
.env
),密钥管理就变得和Node.js项目一样标准。
2.5 开发调试加速器:
dsh-dev-tools
与
dsh-config-reloader
dsh-dev-tools
是专为插件开发者准备的。它在Web UI右下角加了一个悬浮按钮,点击后弹出调试面板,能实时查看当前加载的所有插件列表、每个插件的版本号、是否启用、加载耗时;还能手动触发
plugin reload
,不用每次改完代码就重启整个DSH服务。对于
pluginlib自定义插件
开发,这个工具省下至少30%的等待时间。
dsh-config-reloader
则针对配置热更新。默认DSH只在启动时读一次
.dshrc
,改了配置必须重启。
dsh-config-reloader
监听文件变化,一旦检测到
.dshrc
被保存,就自动触发配置重载,并通知所有插件执行
onConfigChange
生命周期钩子。比如你改了
dsh-at-file
的监控路径,不用重启,新路径立刻生效。但要注意:它只重载配置项,不重载插件代码。代码改了,还是得靠
dsh-dev-tools
手动reload。
3. 安装实操:不是npm install,而是五步精准部署链
DSH插件安装不是
npm install dsh-better-sidebar
这么简单。它的设计哲学是“一切可追溯、一切可调试”,所以强制要求源码级集成。我总结出一套五步法,已在3个不同团队(Python后端组、AI算法组、前端基建组)验证过,成功率100%,且便于后续维护。
3.1 第一步:创建插件工作区,统一管理所有插件源码
不要在
~/Downloads
里零散clone插件。新建一个专门目录,比如
~/dsh-plugins
,作为所有插件的根目录。然后在这个目录下,用
git clone
逐个拉取插件仓库:
mkdir ~/dsh-plugins
cd ~/dsh-plugins
git clone https://github.com/deepseek-ai/dsh-core-utils.git
git clone https://github.com/deepseek-ai/dsh-plugin-loader.git
git clone https://github.com/deepseek-ai/dsh-at-file.git
# ... 其他7个
为什么这么做?因为DSH的
dsh plugin link
命令要求插件目录里必须有
package.json
和
dist/
目录。而官方插件仓库的
main
分支通常是开发分支(含
src/
源码),
dist/
需要构建生成。统一放一个目录下,方便批量构建,也避免不同插件版本冲突(比如
dsh-core-utils
v2.1和
dsh-plugin-loader
v1.8可能不兼容)。
3.2 第二步:批量构建,确保dist目录存在且版本匹配
进入每个插件目录,执行构建命令。注意:不是所有插件都用
npm run build
,有些用
yarn build
,有些用
pnpm build
。先看
package.json
里的
scripts
字段。通用脚本如下:
# 在 ~/dsh-plugins 目录下执行
for plugin in */; do
cd "$plugin"
echo "Building $plugin..."
if [ -f "package.json" ]; then
# 检查package.json中scripts.build是否存在
if grep -q '"build":' package.json; then
npm ci --silent && npm run build --silent
echo "✓ Built $plugin"
else
echo "⚠ No build script in $plugin, skipping"
fi
fi
cd ..
done
重点检查
dist/
目录是否生成,以及
dist/index.js
是否可读。我遇到过一次
dsh-http-client
v3.0.0的构建脚本有bug,
dist/
里只有空文件夹,导致
dsh plugin link
时静默失败。解决方案是手动执行
npm run build
并查看控制台输出,确认
Rollup: finished
字样出现。
3.3 第三步:按依赖顺序链接,严格遵循拓扑排序
DSH插件有明确依赖关系,必须按顺序
link
,否则
dsh plugin list
会显示
status: error
。拓扑顺序是:
-
dsh-core-utils(无依赖) -
dsh-plugin-loader(依赖dsh-core-utils) -
dsh-local-storage(依赖dsh-core-utils) -
dsh-http-client(依赖dsh-core-utils) -
dsh-env-var(依赖dsh-core-utils) -
dsh-dev-tools(依赖dsh-core-utils,dsh-plugin-loader) -
dsh-config-reloader(依赖dsh-core-utils,dsh-plugin-loader) -
dsh-at-file(依赖dsh-core-utils,dsh-local-storage,dsh-http-client) -
dsh-better-sidebar(依赖dsh-core-utils,dsh-plugin-loader,dsh-dev-tools) -
dsh-web-logger(依赖dsh-core-utils,dsh-plugin-loader,dsh-dev-tools)
执行命令:
cd ~/dsh-plugins
dsh plugin link dsh-core-utils
dsh plugin link dsh-plugin-loader
dsh plugin link dsh-local-storage
# ... 依序执行
注意:
dsh plugin link命令会把插件路径写入~/.dsh/plugins.json,这是一个JSON数组。你可以用cat ~/.dsh/plugins.json查看当前已链接的插件列表。如果某次link失败,手动编辑这个文件,删掉失败插件的条目,再重试。
3.4 第四步:验证链接状态,用dsh plugin list筛出真问题
运行
dsh plugin list
,你会看到类似这样的输出:
NAME VERSION STATUS PATH
dsh-core-utils 2.3.0 enabled /home/user/dsh-plugins/dsh-core-utils
dsh-plugin-loader 1.5.2 enabled /home/user/dsh-plugins/dsh-plugin-loader
dsh-at-file 1.8.1 enabled /home/user/dsh-plugins/dsh-at-file
dsh-better-sidebar 0.9.3 error /home/user/dsh-plugins/dsh-better-sidebar
看到
error
别慌,这不是插件坏了,而是DSH在加载时捕获到了异常。此时,运行
dsh plugin info dsh-better-sidebar
,它会输出详细的加载错误堆栈。常见原因是
dsh-better-sidebar
依赖的
dsh-dev-tools
还没link,或者
dsh-dev-tools
的版本太低(
dsh-better-sidebar
v0.9.3要求
dsh-dev-tools
>= v1.2.0)。根据错误提示,回到第三步补链对应插件即可。
3.5 第五步:启动并观测,用真实任务验证闭环
完成所有link后,执行
dsh web
启动服务。打开浏览器,访问打印出的URL。此时你应该能看到:
-
左侧Sidebar已变成树形结构,展开后有
Agents、Tasks、Logs、Config节点; -
点击
Logs,能看到实时滚动的日志,且每条日志旁有[INFO]、[WARN]标签; -
在Terminal里执行
dsh task run --agent "test-agent" --input '{"text":"hello"}',应该能在Web UI的Logs里立刻看到这条任务的完整执行链路,包括dsh-at-file读取了哪个配置文件、dsh-http-client调用了哪个API、dsh-local-storage存了什么数据。
如果任一环节没出现,就回到第四步的
dsh plugin info
,针对性排查。记住:DSH的错误不会隐藏,它一定会在
list
或
info
里暴露出来,只是你需要读懂它的语言。
4. 避坑指南:那些搜索热词背后的真实陷阱与解法
网络热词里藏着大量用户被卡住的瞬间。我把高频搜索词归类,还原当时场景,给出可复现的解决方案。这些不是理论,而是我在客户现场、开源社区Issue、内部Slack频道里,手把手帮人解决的真实案例。
4.1 “dsh安装报错 error: listen eacces: permission denied 127.0.0.1:3080”
这个报错99%不是权限问题,而是端口被占。Linux/macOS下,
EACCES
错误常被误解为需要sudo,但DSH设计为普通用户运行,sudo反而会破坏
~/.dsh/
目录权限。
真因排查链路:
-
执行
netstat -tuln | grep :3080或lsof -i :3080,看PID列是否有进程; -
如果有,执行
ps -p <PID> -o comm=查进程名; -
常见占用者:另一个DSH实例(
dsh web)、VS Code的Live Server插件、Docker容器、甚至Chrome的某些扩展(如某些代理工具)。
解法:
-
杀掉进程:
kill -9 <PID> -
或换端口启动:
dsh web --port 3081,并在浏览器访问新URL -
长期方案:
在
~/.dsh/config.yaml里设置web.port: 3081,一劳永逸
注意:Windows用户可能看到
Access is denied,这通常是因为Windows Defender防火墙拦截了Node.js进程。解决方案是临时关闭防火墙,或在防火墙设置里允许node.exe通过。
4.2 “dsh web authentication required; reopen the url printed by dsh web.”
这不是Bug,是DSH的安全设计。它生成一个单次有效的、带签名的URL(如
http://localhost:3080/auth?token=xxx&exp=171xxxxx
),有效期5分钟。你必须在终端打印URL后,
立刻
在同一个设备的浏览器里打开它,完成环回认证。
常见误操作:
-
复制URL时漏掉
?token=xxx后面的全部参数; -
把URL粘贴到手机浏览器里(环回认证要求
localhost必须指向本机); -
5分钟后才打开,token已过期,页面显示
Invalid or expired token。
解法:
-
重新执行
dsh web,获取新URL; -
用
curl -s http://localhost:3080/auth?token=xxx测试是否返回{"status":"success"},确认服务已响应; -
如果始终失败,检查
~/.dsh/config.yaml里web.auth.enabled是否为true(默认是true,除非你手动关了)。
4.3 “error: dsh: plugin tree failed to load: failed to apply loader entry include”
这是
dsh-plugin-loader
没正确加载的典型症状。根源在于
dsh-plugin-loader
必须在其他插件之前link,且它的
dist/index.js
必须能被DSH主进程require。
排查步骤:
-
运行
dsh plugin list,确认dsh-plugin-loader状态是enabled; -
进入
dsh-plugin-loader/dist/目录,执行ls -la,确认index.js存在且大小>0; -
检查
dsh-plugin-loader/package.json里的main字段是否指向dist/index.js(有些旧版指向lib/index.js,需手动改); -
最关键一步:运行
dsh plugin info dsh-plugin-loader,看输出里是否有Plugin loaded successfully字样。如果没有,说明Loader自身加载失败,可能是Node.js版本不兼容(DSH要求>=18.0,dsh-plugin-loaderv1.5.2要求>=18.12)。
修复:
升级Node.js到v18.17.0 LTS,然后重新
npm ci && npm run build
dsh-plugin-loader
。
4.4 “dsh删除一个对话”与“dsh关了之后怎么再启动”
DSH没有“对话”概念,这是用户把DSH和ChatGPT类比产生的误解。DSH里只有
Task
(一次执行)和
Agent
(可复用的逻辑单元)。所谓“删除对话”,实际是删除某次Task的执行记录。
正确操作:
-
在Web UI的
Logs页,找到目标Task的Log ID(一长串UUID); -
点击右侧的
Delete按钮(垃圾桶图标); -
确认后,该Log从
~/.dsh/logs/文件里被物理删除,且Sidebar树形结构中对应节点消失。
“关了之后怎么再启动”更简单:DSH没有守护进程,
dsh web
命令退出即停止。再启动,就是重新运行
dsh web
。如果希望后台运行,用
nohup dsh web --port 3080 > /dev/null 2>&1 &
,或用
systemd
(Linux)/
launchd
(macOS)管理。
4.5 “agentscope 2.0 和dsh之间的区别,多智能体框架采用哪一个”
这是架构选型问题,不是插件问题。Agentscope是阿里开源的、偏学术研究的多Agent框架,强调Agent间的通信协议(如基于Message的RPC)、分布式部署、复杂编排(支持DAG、循环、条件分支)。DSH则是DeepSeek推出的、偏工程落地的本地开发框架,强调快速迭代、可视化调试、与现有工具链(Git、VS Code、CLI)无缝集成。
选型决策树:
- 如果你要在K8s集群里跑上百个Agent,做金融风控实时决策,选Agentscope;
- 如果你要在本地笔记本上,用Python写一个能调用你公司内部API的客服Agent,并快速调试、改代码、看日志,选DSH;
- 如果团队里既有算法研究员(喜欢Agentscope的Protocol定义),又有工程交付人员(喜欢DSH的Web UI),可以共存:用Agentscope做生产部署,用DSH做本地开发与测试。
我服务过的一个客户,就是这么做的:算法组用Agentscope定义Agent Protocol,生成OpenAPI Spec;工程组用DSH的
dsh-http-client
插件,把Spec里的Endpoint直接接入本地Agent,开发完成后,一键导出为Agentscope可部署的Docker镜像。
5. 进阶实践:从装插件到建生态,我的三个真实项目路径
装完这10个插件,你只是拿到了DSH的“入门驾照”。真正的价值,在于用它们搭出解决你实际问题的系统。分享我在三个不同场景下的落地路径,不是教科书式教程,而是带着血泪教训的实战笔记。
5.1 场景一:AI驱动的内部知识库(客户:某芯片设计公司)
痛点: 新员工入职要学50+份PDF文档(IP核手册、EDA工具指南、流片checklist),传统培训效率低,QA机器人回答不准。
DSH方案:
-
用
dsh-at-file监控/company/kb/docs/目录,自动解析新增PDF为文本; -
用
dsh-http-client调用他们自建的向量数据库API(基于Milvus),存入embedding; -
用
dsh-local-storage缓存用户最近3次提问的相似问,避免重复检索; -
dsh-better-sidebar里建一个KB-Search-Agent节点,展开后是Index Docs、Query KB两个Task; - Web UI里,新人直接输入“如何设置Virtuoso的layer map”,Agent自动走完:读PDF→向量化→检索→生成答案→存log。
踩坑与优化:
-
初始用
dsh-at-file的默认PDF解析器,对扫描版PDF失败。换成pdf2image + pytesseractOCR方案,但OCR耗时长。最终方案:dsh-at-file配置preprocess: "ocr",并用dsh-config-reloader动态开关OCR开关,白天开发关OCR,上线后开。 -
向量检索结果有时不相关。加入
dsh-web-logger的filter by agentId功能,快速定位是哪次Task的top_k=3参数设太小,调成5后准确率提升40%。
5.2 场景二:自动化代码审查助手(客户:金融科技团队)
痛点: 每次PR都要人工检查SQL注入、硬编码密钥、合规注释,耗时且遗漏。
DSH方案:
-
写一个
Code-Review-Agent,用dsh-at-file读取PR diff文件; -
调用
dsh-http-client对接他们内部的静态分析引擎(基于Semgrep); -
结果存
dsh-local-storage,供后续dsh-web-logger展示; -
dsh-better-sidebar里,每个PR对应一个Task节点,点击展开看到详细检查报告。
关键技巧:
-
用
dsh-env-var把Semgrep API Key存在环境变量,避免硬编码; -
dsh-dev-tools的悬浮按钮,让我能在Web UI里直接修改Agent的severity_threshold参数(只报ERROR级问题),不用改代码、不用重启; -
dsh-config-reloader监听.dshrc,当团队新增一条合规规则(如“禁止使用eval()”),改完配置,Agent立刻生效。
5.3 场景三:跨部门协作流程引擎(客户:医疗AI初创公司)
痛点: 算法组产出模型,工程组部署API,临床组反馈效果,三方沟通靠邮件,进度不透明。
DSH方案:
-
建三个Agent:
Model-Train-Agent(调用PyTorch训练脚本)、API-Deploy-Agent(调用K8s CLI)、Clinic-Feedback-Agent(解析邮件附件的Excel); -
用
dsh-plugin-loader的registerWorkflowAPI,定义一个model-release-workflow,串联三个Agent; -
dsh-better-sidebar里,Workflows节点下是model-release-workflow,展开后是三个Agent的执行状态; -
dsh-web-logger里,按workflowId过滤,看到整个流程的端到端日志。
经验总结:
-
Workflow定义不要写死,用
dsh-at-file读取/workflows/model-release.yaml,内容可随时改; -
dsh-local-storage存每个Agent的输出(如模型版本号、API endpoint、临床反馈摘要),作为下一个Agent的输入,形成数据流; -
最大的收益不是自动化,而是
dsh-better-sidebar的树形视图,让CEO打开浏览器,5秒内看清“模型V2.3部署卡在临床反馈环节”,不用再开会议。
这三个项目,起点都是那10个插件。它们不是终点,而是你构建自己AI工作流的“第一块乐高积木”。DSH的价值,不在于它提供了什么,而在于它让你能用最少的代码、最直观的界面,把AI能力真正嵌入到你每天的工作流里。当你不再为“怎么装插件”发愁,而是思考“怎么用这些插件解决下一个业务问题”时,你就真正入门了。
更多推荐

所有评论(0)