packages/dsh-task-board
zhu1090093659/dsh-web侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
通过关键词、拼音、意图或 AI 一键搜索 DSH 设置面板,并直达目标设置页、标签或选项。
给 DSH(Cordis)设置面板加一个搜索框,输入关键词就跳到对应的设置页和设置项。
中文 · English
DSH 的设置项散落在各个分区和插件页里,找一个开关往往要一页页翻过去。这个插件把面板里的每一页、每一行都采进一份索引,再在面板上放一个搜索框,你直接说想找什么就行。
settings.section)与通用设置项(settings.general.item)。Ctrl+F 或 ⌘F,焦点直接落到搜索框上。不需要的话可以在「设置搜索」页关掉,关掉以后按 Ctrl+F 恢复成浏览器自己的查找。https://api.deepseek.com/anthropic。导入的内容里没有 API Key,这一点是有意的。settings.plugins.tab)、插件页里的会话插件 / 全局插件分组标题、旧版的插件卡片座位(settings.plugin.item / web-ui.plugin.item,0.2 已移除)、通用设置行。结果显示成「页面 › 选项」的面包屑。sz)或全拼(shezhi)就能联想到中文设置项。↑/↓ 选择,Enter 跳转,Esc 关闭,命中的字自动高亮。$DSH_HOME/logs/dsh-settings-search/settings-search-YYYY-MM-DD.log,文件名带日期,一天一个)。单个文件写到 100 MB 就同日换编号分片续写(.1、.2…),整个日志目录上限 100 MB,超了删最旧的文件,正在写的那个不删。「设置搜索」页里可以直接查看日志、打开日志文件夹、复制、导出或清空,标题旁的计数是当天文件里的条目数。API Key 不会进日志。本插件是一个标准的 DSH profile bundle。装完会自动写进设置面板,不需要手动改任何 DSH 配置文件。
下面的命令都是给命令行 profile 用的。桌面端用的是 desktop profile,由桌面应用自己管理,命令行改不动它,在桌面端装插件要走应用的插件管理页。
dsh web)和更早的 0.1 版本都可以,插件会按运行中的版本自动选择对应接口。当前已在 0.2.1-rc.2 上逐项核对过(npm run compat),0.2.0 及之前的行为保持不变。dsh plugin --profile web add @objectivex666/dsh-settings-search
dsh plugin --profile web add github:objectivex666/dsh-settings-search
dsh plugin --profile web add /path/to/dsh-settings-search
装完记得重启 DSH(dsh web),打开设置面板就能看见搜索框。要卸载就跑 dsh plugin --profile web remove @objectivex666/dsh-settings-search。
如果你的 profile 不叫
web,把命令里的--profile web换成实际的名字。
Ctrl+F 还给浏览器,插件不再拦截。不想用命令行的话,把本包加进 profile 依赖,声明成 bundle 层就行(dsh plugin add 帮你做的就是这件事)。
# 你的 profile 的 cordis.patch.yml(或通过 --patch 传入)
- insert:
- id: settings-search
name: '@objectivex666/dsh-settings-search'
包内自带 cordis.patch.yml,内容和上面一样,dsh plugin add 会自动应用。
在「设置搜索」页打开「AI 联想搜索」,把「接口类型」选成「Ollama(本机)」,要填的东西不多。
http://127.0.0.1:11434,端口可以自己改。填根地址、/api、/api/chat 或 /v1 都能识别。ollama list 能看到手头有哪些。保存后可以点「测试接口」看看通不通。本地模型第一次加载可能比较慢,Ollama 请求的超时时间定在 120 秒,搜索中途取消会中止这次请求。
请求由浏览器直接发出,所以「本机」说的是浏览器所在的那台机器,不是 DSH 服务器所在的机器。插件不会安装或启动 Ollama,也不会下载模型,服务和模型都要自己准备好。
连不上先看服务地址对不对。浏览器报跨域错误时,把当前 DSH 页面的确切来源(例如 http://127.0.0.1:3080)加进 Ollama 的 OLLAMA_ORIGINS,重启 Ollama 再试,别图省事写通配符来源。Ollama 不在本机时,地址仍然要求 HTTPS。
lib/index.js Host half(日志文件 + `/api/settings-search-log` 路由)
lib/client.js Browser half(搜索框 UI,__ModuleLoader__ 格式)
cordis.patch.yml 组合补丁:插入 settings-search 插件行
scripts/check.mjs 结构自检(npm test)
scripts/ai.test.mjs AI 接口与设置索引回归测试(模拟请求,不运行模型)
scripts/log.test.mjs 宿主日志文件与路由回归测试(临时目录,不写用户目录)
npm test # 结构检查及 Ollama / OpenAI / Anthropic 模拟接口回归测试
npm run compat # 针对本机已安装的 Harness 核对兼容性(服务名、Remote 描述符、slot、主题令牌、路由、DeepSeek 常量)
npm run compat 直接读本机安装包(默认自动查找,也可 --asar <app.asar> 或 DSH_ASAR=<app.asar>),
Harness 升级后先跑一遍就能知道哪些「非公开契约」变了——它检查的正是这个插件依赖、但不属于任何 npm API 的那些接口。
历史说明。v1.1 及更早的版本里,仓库还带一个
dsh-settings-search.js(会话内cordis_define动态插件源)。它和正式包长期分头维护,两边越改越不像,v1.4.1 已经删掉。想参考动态插件的写法可以翻 git 历史,tagv1.4.0里还在。
用着不对劲、想到什么功能,或者只是没搞明白怎么用,都可以开 GitHub Issues 说。也欢迎直接提 Pull Request,动手改代码之前先看一眼 贡献指南,结构、代码约定、测试和发布流程都写在里面。
提 Issue 时把这些写全,定位和复现都会快很多。
每次版本更新要同时更新 GitHub Release 和 git tag,正文双语,写清「新功能」与「修复」。
package.json 的 version 和 lib/client.js 里的 PKG_VERSION 一起改掉(npm test 会校验两者一致),功能列表旁边新加的版本标注也顺手补上,然后按 vX.Y.Z 打 tag 并推送。GitHub Actions 会同时发 npm(npm-publish.yml)并创建双语 GitHub Release(release.yml)。node scripts/release.mjs --version <ver>node scripts/release.mjs --version <ver> --publish(需要装好 gh CLI 并已登录)不带
--publish时,脚本只校验并打印 release 正文,不会创建 tag、推送或发布。