
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
dsh-suggest-reply
Advanced tools
DSH web plugin: a better-sidebar tab that reads the latest assistant line and generates four style-distinct reply candidates (帮我想想) with a one-shot off-loop completion. Independent from the main session: no context inheritance, a fresh round per generatio
帮我想想 —— 一个 DSH Web 插件:在侧边栏里,用你自己写的 system prompt 对「主对话最新一条 AI 回复」生成候选回复(JSON 风格列表),点结果直填主对话输入框。
基于 dsh-better-sidebar 的 ctx.betterSidebar.registerTab 注册一个侧边栏 tab(帮我想想)。
[{style, text}] 动态渲染(无固定风格名单、无 checkbox);点击结果文本直填主对话输入框(composer 不可用时降级复制)。suggestreply 命名空间 → settings.yaml),防抖自动保存(600ms),刷新不丢。settings 服务缺失时插件照常工作(只是不持久化)。dsh-better-sidebar 必须安装(未安装时本插件不激活,无任何 UI/行为),需 0.14.0+:
dsh plugin --profile web add dsh-better-sidebar@latest
# 本地路径
dsh plugin --profile web add <本仓库路径>
# 或发布后
dsh plugin --profile web add dsh-suggest-reply
装完硬刷新浏览器(Cmd/Ctrl+Shift+R)即可看到侧边栏「+」菜单里的「帮我想想」tab(client 改动无需重启 DSH)。
以主 profile(web,常跑在 3080 端口)为例:
# 0. 确认 better-sidebar 已装(本插件的硬前置,未装先执行上面的前置依赖步骤)
# 1. 装插件(自动追加到 profile 的 bundles + link 依赖)
dsh plugin --profile web add <本仓库路径>
# 2. 重启承载该 profile 的 dsh web 进程(host 半的路由只在启动时加载)
# PM2 管理的话:
pm2 restart dsh-web
# 非 PM2 则重启你原来的启动命令
# 3. 硬刷新浏览器(Cmd/Ctrl+Shift+R),侧边栏「+」菜单出现「帮我想想」
⚠️ 第 2 步会短暂断连正在使用该 profile 的 Web GUI(页面加载中断,服务起来后刷新即可;会话数据持久,不丢失)。若只想验证 client 半(tab 出现/面板渲染),client 改动硬刷新即可生效;但生成候选依赖 host 路由,host 半未重启前
/suggestreply/api会 404。
只输出 JSON {"candidates":[{"style":"风格名","text":"…"}]})。client (better-sidebar tab) host (/suggestreply/api)
┌──────────────────────────┐ POST latest ┌──────────────────────────────┐
│ SuggestPanel │ ───────────────▶ │ latest: readSurface(sessionId)│
│ 系统提示(必填,用户写) │ ◀─────────────── │ → 回扫最新 assistant/message │
│ 主对话最新消息(自动填充) │ { text } └──────────────────────────────┘
│ 导演要求(可选) │ POST candidates┌──────────────────────────────┐
│ 生成按钮 │ ──SSE 流式────▶ │ candidates (event-stream): │
│ 实时思考流/原文(生成中) │ { sessionId, │ reasoning/text delta 实时推送 │
│ 动态结果行(点击填入输入框) │ system, │ → 结束 result/error 事件 │
└──────────────────────────┘ directorHint,│ 解析(JSON→salvage) 去重(按风格)│
provider, │ { candidates, debug(含思考) } │
model } │ │
bad-request / no-assistant-reply 硬错误;面板按钮在任一为空时禁用)。GenerateOptions 的全部采样面;payload 合法值优先、配置兜底(resolveSampling,非法值永不达模型)。配置经 DSH settings 服务读写(schemastery schema + revision 乐观锁,冲突 409),config.get / config.update 两个 API 方法。JSON.parse;截断时退到正则 salvage 扫描,容忍结尾引号缺失;按风格去重(先到先得)。sessions.models 解析,host 校验必填)。corepack pnpm install # pnpm 11.7.0(packageManager 固定)
corepack pnpm typecheck
corepack pnpm test # vitest 纯函数单测
corepack pnpm build # tsc 声明 + tsdown 双产物(lib/index.js + lib/client.js)
locale.preference(locale service)是后续项。MIT
FAQs
DSH web plugin: a better-sidebar tab that reads the latest assistant line and generates four style-distinct reply candidates (帮我想想) with a one-shot off-loop completion. Independent from the main session: no context inheritance, a fresh round per generatio
We found that dsh-suggest-reply 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.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.