← 返回列表
未验证
为智能体提供持久存储、任务与命令执行能力
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/16 · 已提供中文文档
综合分
30
GitHub 分
30
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add try-works/dsh-righthand该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/cosmokit@deepseek-ai/schemastery@deepseek-ai/dsh-tools@deepseek-ai/dsh-util-values@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-storage@deepseek-ai/dsh-storage-json@deepseek-ai/dsh-storage-domain@deepseek-ai/dsh-credentials@deepseek-ai/dsh-settings@deepseek-ai/dsh-jobs用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
@try-works/dsh-righthand 一个 DeepSeek Harness 插件,提供 DSH 原生的 righthand 工具——持久化 KV 存储、凭据/设置管理、受管控的命令执行,以及工具守卫。每个工具都构建在 harness 自身的服务之上(storageDomain、credentials、settings、subprocess、jobs、tools),而非手工打造的底层原语。 该插件还附带 blueprint 指引——八十四份具名配方,用于本插件所服务的、由 agent 构建的工具,其中七十五份是已提交的套件(见下方 Blueprints)——外加一个打包的技能、一个设置命名空间,以及一个可选的工具守卫。 安装 dsh plugin --profile add @try-works/dsh-righthand 或直接应用 overlay: dsh --profile --patch ./cordis.patch.yml 工具 | 工具 | 系列 | 支撑服务 | |---|---|---| | rh_store_put / rh_store_get / rh_store_delete / rh_store_list | store | ctx.storageDomain(domain KV) | | rh_task_create / rh_task_list / rh_task_next / rh_task_update / rh_task_delete | tasks | ctx.storageDomain(类型化 righthand_tasks domain;状态机 open → done/failed) | | rh_text_summarise / rh_text_extract / rh_text_classify / rh_text_translate | text | ctx.llm(每个动词一次模型调用) | | rh_weather_forecast / rh_weather_air | weather | Open-Meteo(无需密钥),每个请求都经过 SSRF 防护的 fetcher | | rh_places_geocode / rh_places_address / rh_places_elevation / rh_places_nearby | places | Nominatim/OSM + Open-Meteo(无需密钥;User-Agent 遵循 Nominatim 的 1 req/s 使用政策) | | rh_files_put / rh_files_get / rh_files_list / rh_files_share / rh_files_delete | files | Cloudflare R2(兼容 S3,SigV4 签名;凭据来自 R2_ACCESS_KEY_ID / R2_SECRET_ACCESS_KEY,bucket 来自设置) | | rh_events_create / rh_events_due / rh_events_list / rh_events_free / rh_events_cancel | events | ctx.storageDomain(类型化 righthand_events domain;agent 即调度器——rh_events_due 每轮运行) | | rh_notify_send | notify | ntfy.sh(无需密钥——topic 名称是唯一的秘密) | | rh_credential_describe / rh_credential_set / rh_credential_unset | secrets | ctx.credentials(值绝不回显) | | rh_settings_get / rh_settings_set | secrets | ctx.settings(命名空间 righthand) | | rh_run | exec | ctx.subprocess(collect 模式,输出有界) | | rh_run_bg | exec | ctx.jobs + ctx.subprocess(后台任务) | | (policy) | guard | ctx.tools tools/pre-execute | 配置 cordis.patch.yml - insert: - id: dsh-righthand name: '@try-works/dsh-righthand' config: rules: - toolPrefix: 'rh_' mode: 'ask' ask: (args) => args?.force === true 守卫模式:allow(放行)、deny(以错误阻止)、ask(交由 policy 函数决定)。省略规则则守卫保持惰性。 规则也可以声明 destructive: true —— 这是一个用于标记不可逆效果(部署、删除、DNS 变更)的文档标志。它不会改变强制执行;它记录的是为什么该前缀被门控,而 tests/permissions.golden 会记录每个 rh_ 工具推导出的守卫事实,因此守卫变更永远不会悄无声息(运行 UPDATE_GOLDEN=1 pnpm test 来有意地重新建立基线)。 设置 命名空间 "righthand"(由 secrets 系列注册): | 键 | 默认值 | 含义 | |---|---|---| | accountId | "" | righthand Cloudflare 工具使用的 Cloudflare 账户 id | | defaultScriptPrefix | "rh-" | 生成的 workers/scripts 的默认名称前缀 | | defaultZone | "" | 默认 Cloudflare zone | | defaultR2Bucket | "" | rh_files_ 的默认 R2 bucket | | defaultNotifyTopic | "" | rh_notify_send 的默认 ntfy topic | rh_settings_get 返回解析后的值;rh_settings_set 合并一个部分补丁(由 harness 设置提供程序持久化)。Schema 墙:使用 schema 未定义的键进行更新会被接受,但永远不会从 rh_settings_get 返回 —— 请在插件 schema 中注册新键,或将临时旋钮保留在 rh_store 中。 蓝图 蓝图指南位于 experiments// 下 —— 每个都是一个 blueprint.json 规范加上一个可运行的模板套件(run.ts + test.ts、LEARNINGS.md,对于经过云端测试的还有 cloud/ Worker)。它们描述了此插件所组合的工具;daily-digest 套件是当前 DSH 原生形式的典型示例(通过 ctx.tools.execute 实现工具到工具,通过 ctx.llm 实现综合,通过 ctx.fs 实现交付物)。 | 蓝图 | 它构建什么 | |---|---| | blueprint/daily-digest | 收集来源、总结、按计划发送 —— 本地为提取式,升级时使用 LLM 综合 | | blueprint/data-adapter | 将一个无密钥公共 API 包装为一个工具系列:受守卫的 fetch、规范化、每个查询一个工具。插件中附带了工作示例:rh_weather_、rh_places_ | | blueprint/reminder-flow | 智能体作为自己的调度器:每轮检查 rh_events_,rh_notify_send 投递,每个事件一条存储回执 —— 通过状态翻转实现恰好一次 | | blueprint/geo-context | 一个地点查询变成智能体上下文:地理编码,然后在这些坐标处获取海拔 + 天气 + 空气 + 附近信息,在 rh_store 中进行 TTL 缓存 | | blueprint/governed-exec | 每个高影响命令都作为一个受治理、有回执的步骤:守卫门控前缀,rh_run 收集,存储保留前后撤销轨迹 | | blueprint/file-vault | R2 作为智能体的文件系统,存储作为索引:rh_files_ blob + 元数据记录 + 限时预签名分享 | | blueprint/task-triage | 一个非结构化收件箱变成一个任务板:分类 + 提取 + 看板,最旧未完成工作循环,失败任务记录原因 | | blueprint/heartbeat | 泛化的正常运行时间模式:rh_run 检查、uptime: 回执、成功率扫描、每个失败连续段通知一次 | | blueprint/agent-notebook | 持久化智能体记忆:note: 记录、前缀扫描召回、摘要即压缩、提取以进行结构化召回 | | blueprint/credential-onboarding | 用户 Cloudflare 信息的首次运行清单:描述门控、设置永不回显、设置固定、一份入门回执 | | blueprint/budget-guard | 通过 rh_text_classify 分类的支出、按扫描计算的窗口总和、存储中的上限(不是设置——模式墙)、达到 80% 时警告 | | blueprint/price-watch | 监控产品/航班/房源价格:无密钥适配器抓取、rh_text_extract 提取价格、存储历史 + 目标、每次跨越阈值通知一次(Hermes product-price-monitor) | | blueprint/document-action-plan | 文档和会议转化为可执行的计划:提取带引用的义务、看板任务、安排截止日期提醒、通过 ntfy 交付(Hermes document/meeting-to-action-items) | | blueprint/weekly-review | 每周重置:扫描已完成/失败的任务、已交付事件和回执、综合、存储链式的下周计划(Hermes weekly-review-planning) | | blueprint/pre-commit-gate | 每次变更都通过同一道门:通过 rh_run 进行 lint/typecheck/test/secret-scan、每次检查一份回执、守卫把守发布步骤(Hermes requesting-code-review) | | blueprint/blocked-page-recovery | 抓取失败时的升级阶梯——退避、浏览器 UA、请求头修复、备用端点、浏览器工具、干净放弃(Hermes blocked-page-recovery) | | blueprint/paper-digest | 无密钥 arXiv 摘要:Atom API 适配器(实时探测)、摘要概括、滚动存储窗口、按 ID 差分(Hermes arxiv)——云端测试:rh-arxiv.ambiens.workers.dev | | blueprint/company-watch | 监控指定公司的重要新闻:无密钥来源、提取的提及三元组、滚动窗口、仅对新声明发出警报(Hermes competitor-news-monitor) | | blueprint/citation-trail | 每项声明都携带其来源:提取声明/来源/引文三元组、存储轨迹、仅断言有轨迹的声明(Hermes grounded-citations) | | blueprint/inbox-triage | 分诊任何收件箱:封闭的优先级标签、提取的请求、后续任务 + 截止日期事件、忽略也记录在案(Hermes email-inbox-triage) | | blueprint/codebase-audit | 用数字检查仓库:通过 rh_run 执行指标命令、每项度量的回执、一份形态说明、可差分的快照(Hermes codebase-inspection) | | blueprint/dogfood-session | 对自己应用的探索性 QA:每个发现的证据(步骤/预期/实际)、严重性标签、一份会话报告(Hermes dogfood) | | blueprint/debug-loop | 4 阶段根因循环——复现、证据、假设、验证——每个阶段一份回执(Hermes systematic-debugging) | | blueprint/artifact-publish | 渲染产物、发布到 R2、建立索引、分享预签名链接、通知(Hermes claude-design / architecture-diagram / p5js 等) | | blueprint/delegate-cli-coder | 将一项有边界的编码任务委托给 CLI 编码器:简报、守卫门控调用、回执、由预提交门审查的 diff(Hermes claude-code / codex / opencode) | | blueprint/routes-eta | OSRM 无密钥路由 + 地点端点 + ETA 提醒事件(Hermes maps) | | blueprint/video-digest | 通过 rh_run 获取 yt-dlp 转录文本,分块摘要,存储摘要(Hermes youtube-content) | | blueprint/topic-radar | 同一主题上的多个无密钥源:提取提及、按 url 去重、摘要(Hermes news) | | blueprint/author-watch | 关注某作者的新 arXiv 论文,按 id 做 diff,仅摘要新增内容(Hermes arxiv) | | blueprint/market-signals | 无密钥预测市场赔率历史 + 阈值穿越警报(Hermes prediction-markets) | | blueprint/open-data-snapshot | 将无密钥公民数据集作为可 diff 的快照,并附变更说明(Hermes open-data)—— 已通过云端测试:rh-quakes.ambiens.workers.dev | | blueprint/page-watch | 每次运行对页面做哈希 diff,变更时仅警报一次并附增量(Hermes web-monitoring)—— 已通过云端测试:rh-page-watch.ambiens.workers.dev | | blueprint/fx-ledger | 通过 frankfurter 获取无密钥 ECB 汇率 + budget-guard 扫描并汇总转换(Hermes finance) | | blueprint/weather-alert | 预报阈值在穿越时刻变为提醒事件(Hermes weather)—— 已通过云端测试:rh-weather-alert.ambiens.workers.dev | | blueprint/citation-graph | 将主张轨迹链接为可查询图,前缀扫描遍历(Hermes grounded-citations) | | blueprint/mail-flow | 本地 himalaya CLI 邮件 + 收件箱分诊模式,凭据绝不进入插件(Hermes himalaya) | | blueprint/obsidian-vault | 在真实 vault 上的笔记本模式:扫描、索引、召回、压缩(Hermes obsidian) | | blueprint/habit-tracker | 将连续记录作为存储记录,配每日提示事件和恰好一次投递(Hermes fitness) | | blueprint/meal-planner | 食谱 + 提取的食材 + 购物清单 + 备餐提醒(Hermes grocery/recipes) | | blueprint/job-tracker | 带匹配标签和跟进事件的工作申请看板(Hermes jobs) | | blueprint/trip-plan | 对目的地进行地理编码、按日期预报、行程事件、简报说明(Hermes travel) | | blueprint/draft-queue | 草稿在通过 notify/files 发布前经过经验证的语气调整(Hermes Communication) | | blueprint/translate-docs | 分块的 rh_text_translate 批次,重新组装并通过 files 发布(Hermes Translation) | | blueprint/linked-notes | 相互链接的 markdown 知识库,提取反向链接,前缀扫描遍历(Hermes llm-wiki) | | blueprint/device-ping | 通过 rh_run 获取本地设备心跳,并配连续记录警报(Hermes Smart Home) | | blueprint/gh-flow | 将 gh CLI 步骤作为回执,推送时守卫询问,对 diff 设门(Hermes github) | | blueprint/red-green-loop | 通过红/绿回执强制执行 TDD,每次运行使用同一命令(Hermes test-driven-development) | | blueprint/spike-lab | 一次性实验,并记录保留或丢弃的结论(Hermes spike) | | blueprint/parallel-cleanup | 对独立部分进行扇出清理,以合并后的 diff 作为门禁(Hermes simplify-code) | | blueprint/cdp-debug | 后台运行 Node --inspect + 通过 curl 使用 CDP,无需 PTY(Hermes node-inspect-debugger) | | blueprint/merge-arbiter | 提取冲突双方的意图,提出中立的合并方案,由门禁验证(Hermes merge-arbiter) | | blueprint/cli-ops | 安全操作任何 CLI:变更前询问守卫、回执、验证(Hermes antigravity-cli) | | blueprint/design-token-lint | 将令牌规范验证作为带回执的门禁步骤(Hermes design-md) | | blueprint/skill-authoring | 编写打包的 dsh 技能:frontmatter、参考正文、ctx.skills、发布(Hermes skill-authoring) | | blueprint/handoff-review | 裁定任务交接:根据证据验证每项结果,接受或退回(Hermes sdlc-review) | | blueprint/media-fetch | 无需密钥地将 Wikimedia Commons 媒体存入 R2,并生成预签名分享链接(Hermes gif-search) | | blueprint/image-pipeline | ffmpeg/ImageMagick 转换、exit-0 门禁、R2 发布、预签名链接(Hermes Media) | | blueprint/audio-analysis | 将音频指标作为回执,并附库说明(Hermes songsee) | | blueprint/video-ascii | ASCII 视频渲染到 R2,并生成预签名分享链接(Hermes ascii-video) | | blueprint/manim-render | Manim 渲染到 R2,并生成预签名分享链接(Hermes manim-video) | | blueprint/design-snapshot | 将网站的设计令牌捕获为带日期的存储快照 + 参考产物(Hermes claude-design) | | blueprint/office-docs | pandoc/python-docx 流水线:转换、提取字段、发布(Hermes docx) | | blueprint/pdf-pipeline | 通过 CLI 进行 PDF 提取/OCR/合并,并生成回执(Hermes pdf) | | blueprint/spreadsheet-tools | 将表格作为可 diff 的快照,并附变更说明(Hermes xlsx) | | blueprint/deck-pipeline | python-pptx 演示文稿到 R2,并生成预签名分享链接(Hermes powerpoint) | | blueprint/invoice-tracker | 从发票中提取到期日,在到期日触发提醒事件(Hermes finance) | | blueprint/deploy-journal | 部署前后回执、冒烟检查、从撤销轨迹回滚(Hermes DevOps) | | blueprint/env-audit | 将工具链版本作为可 diff 的回执(Hermes DevOps) | | blueprint/dependency-audit | 审计回执 + 高严重性时通知,修复后重新审计(Hermes Security) | | blueprint/secret-sweep | 将定期密钥扫描作为回执,命中即阻止门禁(Hermes Security) | | blueprint/style-pass | 经验证的语调转换:分类、重写、重新分类、存储配对(Hermes humanizer) | | blueprint/health-check-registry | 将命名检查作为存储数据,由心跳运行(Hermes Networking) | | blueprint/rss-social-mirror | 通过 RSS 进行无需密钥的社交监控,并使用 403 阶梯(Hermes Social Media)—— 已通过云端测试:rh-rss-ladder.ambiens.workers.dev | | blueprint/transit-status | 无密钥状态源,按线路作为心跳(Hermes transit) | | blueprint/browser-session-log | 浏览证据回执,供每周审查使用(Hermes browser) | | (阶段 5)R2 上的 rh_files_ | 首个基于真实 Cloudflare 原语的家族:S3 兼容 API、固定到 AWS 测试向量的 SigV4 签名、来自凭证提供方的凭证 | | blueprint/research-radar | 在滚动窗口内进行多源研究(Reddit、X、YouTube、HN、Polymarket、网页):评分、去重、带引用综合 | | blueprint/web-scraper | 抓取页面,提取标题/标题层级/链接/文本,使其可搜索——先处理静态 HTML,渲染/视觉作为升级手段 | | blueprint/vision-worker | 暴露 kimi-k2.6 视觉能力的 Cloudflare Worker:为纯文本模型路由图像请求,返回带版本的 VisionEnvelope | | blueprint/vision-qa-assistant | 为纯文本模型回答关于图像的问题——本地哈希缓存,Workers AI 视觉作为语义路径 | | blueprint/inbound-webhook-pipeline | 接收 → 验证 → 运行任务 → 存储 → 通知,以幂等键去重作为承重不变量 | | blueprint/event-sourced-store | 工具存储,其中每次变更都是一个事件:治理、校验和、追加可按偏移寻址的事件、按版本追赶 | | blueprint/governed-registry | 注册工具格式;每次写入都运行治理流程:验证 → 规范化 → 校验和 → 索引 → 摘要 | | blueprint/mcp-tool-surface | 在无状态 MCP 表面之后提供确定性 + AI 支持的工具,并规范化 LLM 输出 | | blueprint/session-watcher | 轮询 DSH 会话,评估条件(新发布 / 构建器空闲 / 节奏),向目标会话发送消息 | 本插件所学习的 micro.mu 项目分析: docs/agent-tool-catalog.md(值得添加的工具家族,来自工具目录 + 权限提交)以及 docs/mu-repo-analysis.md(来自整个仓库的架构经验——单一来源规范、黄金权限、分层、 保持状态门、SSRF 防护)。 docs/scenario-patterns.md 是通过实际运行这些工具构建出的指导: 键前缀约定、回执模式、撤销轨迹、设置模式墙、凭证认证门,以及 exec 收集与后台——每个模式都针对真实 harness 服务进行了实时验证。 打包技能 该插件附带 dsh-righthand 技能 (skills/dsh-righthand/SKILL.md,dsh-plugin 打包技能标准): 工具参考表、存储/凭证/设置语义、防护模式,以及 服务可用性。它在挂载时通过 ctx.skills 注册,因此智能体的 技能目录会自动列出它。 用例 以下所有内容都通过 harness 自身的服务运行;没有任何内容 是手工拼凑的。 持久化智能体记忆 / 任务板。 将任务卡片存储在 task: 下 并让 rh_store_list 在重启和上下文压缩之间枚举它们——不触碰任何项目文件。通过覆盖完成,用 rh_store_delete 清理。 部署前门禁。 在任何部署之前:rh_credential_describe 断言 API 令牌存在,rh_settings_get 断言账户/区域,rh_run 运行测试 + 构建,rh_store_put 记录部署回执,并且一条守卫规则将实际的部署工具置于 mode: 'ask' 之后。 密钥接入。 rh_credential_set 通过凭据提供程序存储密钥(值永远不会被回显);rh_credential_describe 报告配置状态 + 来源;轮换是先取消设置再设置。 每日摘要。 智能体获取来源并将它们存储在 digest: 下(参见 blueprint/daily-digest),用 rh_store_get 对日期进行差异比较,并通过 ctx.fs 渲染 MDX 交付物。 轻量 CI。 rh_run_bg 将长时间构建作为所有者作用域的后台作业启动;其 id + 状态存在于存储中,以便后续轮次可以轮询并收集。 受治理的执行。 任何高影响命令都可以由守卫规则前置(deny 阻止前缀,ask 要求策略函数的批准),因此智能体无法在没有门禁的情况下部署或销毁。 服务可用性 存储、任务和事件系列需要 ctx.storageDomain,由 web 配置文件提供(storage + storage-json + storage-domain 行)。在没有它的配置文件中——例如无头捆绑包——那十四个工具保持休眠,而其他二十三个工具(密钥、设置、执行、文本、天气、地点、文件、通知)仍然注册;插件永远不会导致启动失败。 开发 pnpm install pnpm test # boots the real harness services and executes every tool pnpm typecheck pnpm build # tsc -> lib/ (prepack runs this automatically) 许可证 Apache-2.0
扫码进群