
Product
Socket Threat Intel Now Shows Which Malware Campaigns Were Blocked or Detected
Socket Threat Intel now shows which malware campaigns were blocked or detected in your organization, with links to scans and Firewall events.
dsh-task-runner
Advanced tools
DSH plugin: project/task dual-mode workspaces. Tasks skip the workspace picker — every task conversation gets a fresh scratch directory under D:\dsh_working\<name>-<timestamp> (Codex-style), while projects keep the existing workspace flow.
DSH(DeepSeek Harness,含 DSH EAC 桌面版)插件:把侧边栏升级为「项目 / 任务」双模式。
D:\dsh_working\<名称>-<时间戳>\ 下创建独立临时目录作为会话工作目录,像 Codex 一样即开即用;所有无工作区会话(含旧 Ungrouped)都显示在「任务」组下,空时显示「暂无任务」。新建对话走官方流程:点「新建会话」→ 空状态 →「选择工作区」菜单里除了各工作区,还多了一项 「无工作区(任务)」,点击即在任务根目录下创建新会话并直接打开。
DSH 的 session.create API 原生支持 cwd 参数(与 workspaceId 互斥):
传 cwd 创建的会话不 attach 任何工作区,且 host 会自动 mkdir 该目录。
本插件只是把这个被 UI 隐藏的能力接出来:
D:\dsh_working\.tasks.json),提供 fenced JSON API 与 /task 命令;sessions.create({ cwd }) 创建无工作区会话;cwd 落在任务根目录下的会话都会自动登记/回收,即使绕过了 UI。# 本地开发路径安装
dsh plugin --profile web add link:D:\coding\dsh-task-runner
# 或从 GitHub / npm 安装
dsh plugin --profile web add dsh-task-runner
仓库:https://github.com/jing-hy/dsh-task-runner
装完完全退出并重启 DSH(EAC 桌面端:正常关闭后重新打开)才会生效。
验证:侧边栏底部出现「任务」按钮;profile 的 package.json 里 dsh.profile.bundles 已包含 dsh-task-runner。
task-<时间戳>),点「新建」;D:\dsh_working\<名称>-<时间戳>\;finished / missing 状态的任务;活跃任务需先结束其会话,面板不会误删。/task list # 列出所有任务
/task new <名称> # 创建任务目录并登记
/task open <名称|id> # 查看任务信息(从面板打开会话)
/task clean [名称|id] # 清理已结束任务(不带参数=清理全部)
默认值开箱即用(Windows 任务根目录为 D:\dsh_working,其他平台为 ~/.dsh/tasks)。
需要覆盖时,在 profile 的 cordis.patch.yml 里给插件行加 config:
- insert:
- id: task-runner
name: 'dsh-task-runner'
config:
rootDir: 'E:\\dsh_tasks' # 自定义任务根目录
nameMaxLength: 60 # 名称长度上限(默认 40)
dsh plugin --profile web remove dsh-task-runner
移除后重启 DSH。任务目录与 D:\dsh_working\.tasks.json 不会被删除(保留你的数据),可手动清理。
dsh_working 工作区的说明若你的 ~/.dsh/storages/workspace.json 里已手工注册过 D:\dsh_working 为工作区,建议删除该注册
(任务目录改为通过 cwd 直接创建,不经过工作区注册表;留着它也不会影响任务,只是侧边栏多一个
没有新会话的空工作区)。删除方式:设置 → 工作区,或直接编辑 workspace.json 并重启。
/task-runner/api/* 采用与官方插件一致的浏览器信任围栏(loopback / trusted-host / 同源校验),
仅接受 POST;withinRoot 校验),拒绝路径穿越;
任务根目录本身永远不会被当作任务(adopt 与会话钩子均排除),即便出现指向根目录的脏注册记录,
cleanup 也只会注销记录、绝不触碰根目录内容;force);任务目录被手动删除会标记为 missing,清理时只清注册不报错;origin: 'subagent')不会被登记为任务。npm test # registry 单测(node:test)
node test/host-smoke.mjs # host 挂载 + API 全链路冒烟
node test/client-load-sim.mjs # client 加载模拟(ModuleLoader + apply)
插件结构:
lib/index.js host 插件:Config / API / 会话钩子 / /task 命令
lib/registry.js TaskRegistry:任务清单与目录生命周期(纯 Node,可单测)
lib/wire.js JSON API 工具(受限 body 读取、响应封装)
lib/trust-fence.js 浏览器信任围栏
lib/client.js client 插件:任务面板 + createTask / openPanel / isTaskDir
test/ 单测与冒烟
兼容性:v1.0.1 起支持 DSH EAC 4.1.0 桌面版(web-desktop profile,经 dsh.profile.bundles 加载);向下兼容 dsh 0.1.0-rc.6(EAC 3.0.1)的 web profile 插件机制(dsh.bundle.patch)。
scripts/patch-sidebar-always-visible.mjs,让任务栏常驻并在空时显示「暂无任务」;改的是宿主 dsh-client-ui-workspace(强刷生效,无需重启),EAC 升级后重跑一次即可。[dsh-task-runner] createTask failed: 日志。cordis.patch.yml 里给插件行加 config.rootDir(默认 D:\dsh_working)。dsh-client-ui-workspace 等包(resources\app\node_modules 内),EAC 升级会覆盖这些文件。重新应用:先 node scripts/patch-sidebar-always-visible.mjs(任务栏常驻补丁,幂等),其余按 docs/patching.md 说明操作(官方包改动前都有 .bak-taskrunner-* / .bak-taskbar-* 备份)。FAQs
DSH plugin: project/task dual-mode workspaces. Tasks skip the workspace picker — every task conversation gets a fresh scratch directory under D:\dsh_working\<name>-<timestamp> (Codex-style), while projects keep the existing workspace flow. Ships an idempo
The npm package dsh-task-runner receives a total of 101 weekly downloads. As such, dsh-task-runner popularity was classified as not popular.
We found that dsh-task-runner demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Product
Socket Threat Intel now shows which malware campaigns were blocked or detected in your organization, with links to scans and Firewall events.

Security News
Fixes for eMudhra and Brotli are out. Getting them everywhere they’re needed means tracking down bundled libraries, runtimes, and certificate stores.

Threat Research
/Security News
Socket uncovered secret-stealing workflows that ran in LiteLLM’s GitHub repository 11 days before the supply chain attack on PyPI and Docker.