写一份跟随仓库的 actions.json,它同时是你在右侧栏点一下就跑的面板入口,和 Agent…
33.5/100
综合分
5
GitHub 星标
452
npm 周下载
—/5
用户评分
数据截至 2026/10/23 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-actionsnpm 源 · dsh-actions 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · browser
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 12 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-actions @ 0.5.2
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/29 08:43:52
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 32 处,展示前 24 条)
- 读取本地文件lib/index.js:421
const defaultReadFile = (path) => readFile(path, "utf8"); - 读取本地文件lib/index.js:669
const before = await readFile(path, "utf8"); - 读取本地文件lib/index.js:670
const fileMode = (await stat(path)).mode & 511; - 写入本地文件lib/index.js:739
await writeFile(tmp, after, { - 读取本地文件lib/index.js:744
if (revision(await readFile(path, "utf8")) !== change.expectedRevision) throw new PresentationStoreError("stale-revision", "Configuration changed; ref - 写入本地文件lib/index.js:745
await rename(tmp, path); - 删除本地文件lib/index.js:747
await unlink(tmp).catch((error) => { - 读取本地文件lib/index.js:816
const defaultStat = (path) => stat(path); - 发起网络请求lib/index.js:1793
async fetch(request) { - 发起网络请求lib/index.js:1809
async fetch(request) { - 发起网络请求lib/index.js:1841
async fetch(request) { - 发起网络请求lib/index.js:1867
async fetch(request) { - 发起网络请求lib/index.js:1887
async fetch(request) { - 发起网络请求lib/index.js:1908
async fetch(request) { - 读取本地文件lib/index.js:2053
readFile: (path) => readFile(path, "utf8"), - 写入本地文件lib/index.js:2054
writeFile: (path, content) => writeFile(path, content, "utf8"), - 写入本地文件lib/index.js:2055
mkdir: (path) => mkdir(path, { recursive: true }).then(() => void 0), - 写入本地文件lib/index.js:2056
rename: (from, to) => rename(from, to) - 发起网络请求lib/client.js:5798
const response = await fetch(url, { - 发起网络请求lib/client.js:5828
const postStream = async (url, body, signal) => fetch(url, { - 读取本地文件lib/action-store-BhsXK3Eb.js:292
text = await readFile(path, "utf8"); - 写入本地文件lib/action-store-BhsXK3Eb.js:336
await mkdir(dirname(path), { recursive: true }); - 写入本地文件lib/action-store-BhsXK3Eb.js:338
await writeFile(tmp, `${JSON.stringify(config, null, 2)}\n`, "utf8"); - 写入本地文件lib/action-store-BhsXK3Eb.js:339
await rename(tmp, path);
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-sidebar-documentpreview@deepseek-ai/dsh-client-ui-sidebar-right给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
6 张 · 点击查看大图功能亮点
- 右侧栏一键运行面板
- 智能体工具入口
为人和智能体提供确定性项目操作——DeepSeek Harness Web 插件。一份 actions.json,两个界面:右侧边栏面板和智能体工具。
最近更新
在 GitHub 查看全部 →v0.1.12026-09-30
· DSH Actions v0.1.1
有两处改动:插件重新支持在 DSH 0.2 上安装,所有公开文档现在都是双语的。
· 支持 DSH 0.2
v0.1.0 把 peer 依赖声明为 ^0.1.7-alpha.2。这个范围的上限是 =0.1.7-alpha.1。这个数字是实测出来的,不是猜的:
· scripts/verify-floor.mjs 会解包指定版本的服务商包,把其中的标识符和构建产物逐一比对——lib/client.js 渲染的 31 个成员在 0.2.0-rc.2 上全部存在;0.1.5-rc.3 仍缺其中 20 个。
· tests/plugin-peers.spec.ts 用运行时自带的 semver 锁定版本下限,并向前校验到 0.2.0-rc.2。
低于下限的宿主仍会被拒绝,这一点没变。逃生通道仍按版本对开放:
dsh plugin allow-version dsh-actions@ --dsh-version --accept-risk
· 双语文档
每份公开文档现在都成对发布——中文仍是标准的 .md,英文作为同目录下的 .en.md 并列存放。这与 README.md / README.en.md 已有的做法一致,现有 URL 也照常可用。
· 为全部 4 篇功能文档和全部 3 篇场景文档补上英文镜像
· docs/README.md 作为双语索引,浏览 docs/ 目录树时渲染
· docs/ 里所有相对链接换成 blob/main 绝对 URL,所有图片换成 raw.githubusercontent.com URL——这些文件在仓库外也会被读到(npm、fork、编辑器预览)
· 每篇中文文档顶部加一行语言切换
· README
两种语言都重新排版:用完整的 3×2 截图网格取代参差不齐的表格,「Interface」移到「Install」前面,新增「Version floor」小节,Origin 下加一张对比表(临时方案 vs 命令行/MCP vs 智能体技能 vs 项目里的 actions.json),包标识改为表格呈现。
407 项测试。
· 安装
cd ~/.dsh/profiles/web && npm install dsh-actions # 然后重启 DSH Web
需要 DSH >= 0.1.7-alpha.1;当前 registry 的 latest(0.2.0-rc.2)满足要求,无需切换通道。npm:
完整更新日志:
v0.1.02026-09-26
· DSH Actions v0.1.0
面向人和智能体的确定性项目操作,一个 DeepSeek Harness Web 插件。
一份 actions.json,两个界面:给人用的右侧栏面板,给智能体用的六件套工具。
· 亮点
· 三层配置:全局(~/.dsh)× 工作区(仓库)× 会话(智能体注册,需审批),按字段合并
· 运行标签页工作区:一次运行 = 一个标签页;presentation.panel 支持 new/dedicated/append;可折叠/展开
· 参数化任务:输入项(string/select)、参数弹窗、记住参数(会话内固定)、extends + 参数继承
· 审批关卡:never/agent/always——高风险任务始终要经过明确的人工确认
· @actions:references:输入框里的标签,展开成给智能体的操作简报
· 基于 zod 的校验,错误精确到字段,并提供「让智能体修复」入口
· Iconify 图标、语义化徽章、对话中的自定义工具调用卡片
· 内置 dsh-actions-authoring 技能(schema 参考 + 操作指南 + 评测)
· 332 项测试
· 安装
cd ~/.dsh/profiles/web && npm install dsh-actions # 然后重启 DSH Web
需要兼容的 DSH 0.1.7-alpha 宿主。npm:
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成DSH Actions
简体中文 | English
写一份跟随仓库的 actions.json,它同时是你在右侧栏点一下就跑的面板入口,和 Agent 可以直接调用的结构化工具——同一份定义,同一个审批闸门。
开发过程中要反复执行的操作,远不止跑一遍测试:
- 各类 check 与测试;
- 生成代码、生成文档的脚本;
- 数据上传、资源同步;
- 提交前跑一遍 lint;
- 触发一次 CI 构建、查一次构建状态;
- 按环境发布;
- 查一次线上服务状态。
它们的共同点有两个:一是反复执行——做同一个需求、跑同一类任务时,这些操作会被一遍遍重复;二是要切平台——在终端跑完命令,得去浏览器看 CI 状态,再登录另一个系统点发布。
让 Agent 来做,成本反而更高:查文档、编写、运行、调试,多轮循环才跑通一次,而下个会话又从头再来一遍,token 就这么一遍遍烧掉。
VS Code Tasks 的答案是「不用离开编辑器」。DSH Actions 更进一步——不用离开对话,而且跑一次就固化:人在面板上点一下,Agent 在会话里说一句话,输出就在同一个工作区里实时出现。
展开完整文档(README 剩余 1 节)
DSH Actions
简体中文 | English
写一份跟随仓库的 actions.json,它同时是你在右侧栏点一下就跑的面板入口,和 Agent 可以直接调用的结构化工具——同一份定义,同一个审批闸门。
开发过程中要反复执行的操作,远不止跑一遍测试:
- 各类 check 与测试;
- 生成代码、生成文档的脚本;
- 数据上传、资源同步;
- 提交前跑一遍 lint;
- 触发一次 CI 构建、查一次构建状态;
- 按环境发布;
- 查一次线上服务状态。
它们的共同点有两个:一是反复执行——做同一个需求、跑同一类任务时,这些操作会被一遍遍重复;二是要切平台——在终端跑完命令,得去浏览器看 CI 状态,再登录另一个系统点发布。
让 Agent 来做,成本反而更高:查文档、编写、运行、调试,多轮循环才跑通一次,而下个会话又从头再来一遍,token 就这么一遍遍烧掉。
VS Code Tasks 的答案是「不用离开编辑器」。DSH Actions 更进一步——不用离开对话,而且跑一次就固化:人在面板上点一下,Agent 在会话里说一句话,输出就在同一个工作区里实时出现。
核心价值
1. 给人一个快捷启动方式——右侧面板里每个任务都是一次点击,不用再回忆命令、不用翻散落在各处的脚本;
2. Agent 参与构建——编写与固化都交给 Agent:一句指令把一个复杂操作变成可复用任务,多步流程也由它编码、由它调试。于是固化复杂操作从「要下决心做一次的工程量」变成顺手的事,不好用就丢掉,试错成本几乎为零;
3. 固化与复用——工作区层随仓库提交,就是团队共享(新同事 clone 下来就有全套任务);全局层是个人跨项目;只在当前会话有意义的任务放会话层,用完即弃,经得起用的再提升到文件层;
4. 人与 Agent 共用同一套定义——人固化一次,Agent 在任何会话里都能调用;Agent 在工作中固化的任务,人点开就能复跑。
输出不只是文本:实时流式出现在 run tab 工作区,状态徽章一眼可读;失败即停、随时重跑;重复触发不会起重复实例,而是定位到正在跑的那个;把任务或某次运行以 chip 引用发给 Agent,就能接着输出继续追问。
高危任务还有一层 VS Code Tasks 没有的东西:审批闸门——标记过的任务,无论人点还是 Agent 调,都要经过你的显式确认才会启动。
执行权限按入口区分:你在面板中手动运行时,行为与 VS Code Tasks 类似,以 DSH Host 所属用户的本机权限执行;这会绕过 DSH 文件沙箱(但不会绕过操作系统权限),因此应把仓库中的 Action 视为可执行的本机代码。Agent 通过 actions_run 调用时,approval: never 默认继承会话沙箱;approval: agent/always 使用一次合并审批,明确授权运行及本次 danger-full-access,批准后以本机用户权限执行,不改变会话权限。权限失败可通过 actions_run 的 retryRunId + justification 申请提权重试,无需绕回 Bash。两者共用定义、运行状态和日志,Agent 不能未经审批获得额外权限。Web 面板及其同源插件代码属于同一受信任客户端边界;approval 是防误触确认,不是抵御已被攻陷客户端的安全隔离。
配置的唯一来源是独立的 actions.json(JSONC)——不提供、也不计划提供对其他任务格式的运行时导入或桥接。
现状:新会话启动时,可供 Agent 调用的 Action 摘要与四个 actions_* 工具的职责会自动进入运行时上下文;完整命令、参数细节和运行输出仍通过 actions_query 渐进披露。尚未完成的是「在会话框直接触发一次运行、把结果回插进对话」。
目录
- 界面
- 安装
- 30 秒跑通
- 一份配置,两个面
- 使用场景
- 三层设计
- 项目起源
- 文档地图
- 包身份
- 致谢
- License
界面
| 右侧栏入口 | 面板总览 | 参数 Modal |
| 开始页的 Actions 卡片 | 三层分区的任务面板 | 带参数的任务运行前弹出参数 Modal |
| 运行输出 | /actions: 引用菜单 | Agent 审批流 |
| run tab 工作区的实时输出 | 输入 / 选择任务,引用进对话 | Agent 调用带审批的任务:引用 → 加载 skill → 尊重审批 → 人工闸门 |
安装
用 DSH 自己的插件命令装,然后重启:
dsh plugin --profile web add dsh-actions
重启 DSH Web
这条命令做三件缺一不可的事:先按你的 DSH 版本做插件兼容性预检(版本不匹配会直接拒绝,并告诉你怎么放行),再用 profile 自己的 pnpm 安装依赖,最后把声明了 dsh.bundle 的包登记进 dsh.profile.bundles——没登记就不会被加载。
别在 ~/.dsh/profiles/web 里直接 npm install:那个目录由 pnpm 管理,而且裸装会跳过 bundles 登记,包进了 node_modules 却永远不会被加载。
从源码安装(仅开发本插件时):clone 本仓库后——
dsh plugin --profile web add /path/to/dsh-actions
装好后打开右侧栏的「开始」页,Actions 卡片就在那里。
版本要求
需要 DSH >= 0.1.7-alpha.1(写在 peerDependencies 里,安装时 DSH 会拿你的运行时版本逐条校验)。registry 上的 latest(0.2.0-rc.2)已满足这个下界,直接装即可,不用切通道。
版本不匹配时安装会被直接拒绝(提示 nothing was installed),并给出放行命令:
dsh plugin allow-version dsh-actions@<版本> --dsh-version <你的 DSH 版本> --accept-risk
放行只针对那一对确切的版本,且意味着你接受崩溃或数据损坏的风险——插件会加载进正在跑的 Web UI。正常情况下应该升级 DSH,而不是放行。
下界为什么定在 0.1.7-alpha.1(可自行核实)
因为插件在 0.1.5 上跑不起来,声明一个它撑不住的下界只会让人装上之后界面报错。
界面半边只从 @deepseek-ai/dsh-client-ui-primitives 取具名导出,一共 31 个。该包在 0.1.6-alpha.2 → 0.1.7-alpha.1 之间把整套图标改了名(IconCheckOutline16 / IconCheckOutline14 → IconCheckOutlineRegular),并新增了 Checkbox。所以 0.1.5-rc.3 上这 31 个里有 20 个不存在,React 拿到 undefined 当组件渲染会直接抛异常——而这些图标用在面板和 toolview(对话里的工具卡片)两处,崩起来是整个界面的问题。
版本号里看不出这一层,所以下界是扫出来的,不是推出来的。clone 本仓库后,任何一个版本都可以自己核实(该脚本是开发工具,不随 npm 包分发):
node scripts/verify-floor.mjs 0.1.7-alpha.1 # 通过
node scripts/verify-floor.mjs 0.1.5-rc.3 # 列出缺失的 20 个
30 秒跑通
在工作区根目录写 .dsh/actions.json:
{
"version": "1.0.0",
"actions": [
{ "label": "check", "command": "pnpm check", "detail": "类型检查 + lint + 全部测试" } ] }
detail 那一行不是可选装饰:它同时显示在面板和 actions_query 的返回里,Agent 靠它判断这是不是它要找的任务。
打开右侧栏「开始」页的 Actions 卡片,点 check 旁的运行,在统一运行弹窗确认后,输出在下方的 run tab 工作区实时流出。弹窗始终提供「完成后通知 Agent」勾选项,默认关闭,仅对本次运行生效;无参数时只展示该勾选项,有参数时一起填写。不勾选由 Actions 自身管理,不登记宿主 Jobs;面板输出、运行记录、显式取消与插件卸载清理保留,但不出现在 Jobs 列表。勾选时额外登记 Jobs,由宿主完成报告器通知 Agent。Agent 发起的运行保持原行为。这就是完整闭环:写配置 → 面板点击 → 看输出。保存配置文件即自动生效,无需刷新。
一份配置,两个面
同一个 actions.json,对人和对 Agent 是两种用法,背后是同一份定义——不是两套东西互相同步:
| | 怎么发现 | 怎么用 |
| 人 | 右侧栏 Actions 面板 | 一次点击;带参数的弹出表单;输出流式可见 |
| Agent | actions_query | 调用 actions_run,结构化返回结果 |
Agent 侧一共 4 个工具:actions_query / actions_run / actions_cancel / actions_configure,语义与取舍见 Agent 集成。其中 actions_configure 把会话中发现的流程注册成会话层任务,必经你批准——Agent 给自己造可执行命令属高危操作。
插件还随包带了一个 dsh-actions-authoring 技能:你让 Agent 写 actions.json 时,它自己就会拿到全字段参考和策展指导,不用你翻文档。
使用场景
三个典型场景各有详述文档:
- 策展散落的脚本入口:npm scripts / Makefile / Taskfile / scripts/ 目录太分散?让 Agent 一次性策展固化成 .dsh/actions.json,面板与 Agent 共用统一入口,原始入口一个都不动;
- 打通 CI/发布流水线:以 Jenkins 为例,把平台 API 固化成 Actions——触发构建、查询状态、参数化发布(inputs + approval 的真实用法);
- 会话草稿本:只在当前会话有意义、但需要反复执行的临时任务,Agent 注册、随用随弃、用得好再提升到文件层。
更完整的示例(runOptions、inputs、approval)见配置参考。
欢迎补充:告诉我们你是怎么用的、你有什么需求——场景库会随真实用法持续生长。
三层设计
同一个动作,放在哪一层决定了谁能看到它、它活多久——这是 DSH Actions 最有特色的设计。三层完全独立;跨层同名 Action 并存,以来源限定 id 区分,不隐式合并:
| 层 | 位置 | 谁能看到 | 生命周期 | 典型用途 |
| 全局 | ~/.dsh/actions.json | 你的所有工作区 | 跟随文件 | 个人习惯命令(查版本、查磁盘、开常用工具) |
| 工作区 | <workspace>/.dsh/actions.json | 该工作区的所有人与 Agent | 随目录/仓库提交 | 项目的 build/test/部署——新同事 clone 即有全套 |
| 会话 | 会话自己的目录 | 仅当前会话 | 会话结束即归档 | 临时任务;以及聚合目录下本会话实际涉及的仓库 |
三层是并列的三个配置来源,也可以组成一条任务的成长路径:
会话层(Agent 随手固化) ──提升──▶ 工作区层(团队共享) ──提炼──▶ 全局层(个人通用)用完即弃 随仓库走 跨项目复用
- 独立而非覆盖:global:build、workspace:build、session:build 同时存在;复用定义必须显式写 extends。同一文件重复 label 的所有条目都排除并报错;
- 会话层由 Agent 写入:actions_configure 注册必经你的批准;你觉得好用的,一句话提升到文件层变成长期资产;
- 人的同一面板:三层任务在同一个列表里分区展示,运行方式完全一致——来源只是元信息,不是使用门槛。
agentVisible 默认 true;false 保留面板显示但禁止 Agent 发现和执行。旧 visibility 兼容并产生迁移警告(ui 对应 false,all/agent 对应 true),显式 agentVisible 优先。favorite 是 UI-only 常用标记,默认 false,不随 extends 继承;Agent 常规投影不含 favorite 和 icon。
一个工作区包含多个仓库
如果会话工作区是若干 Git 仓库的上层目录,不必把所有仓库的任务复制到根配置。每个仓库继续维护自己的 .dsh/actions.json,当前会话只在自己的配置里记录本次涉及的目录:
{
"version": "1.0.0",
"folders": ["frontend", "services/api"],
"actions": []
}
folders 仅在会话层有效,含义只有一个:额外加载这些目录各自的 .dsh/actions.json。它是会话的动态目录选择,不参与三层继承、并集或覆盖;根工作区和全局 Actions 仍照常加载。不同会话可以选择不同目录,也不会改写上层目录或仓库中的共享配置。
每个被选中的目录都是独立来源:当 frontend 和 services/api 都有一个 build 时,它们是两个互不覆盖的 Action,id 分别形如 folder:frontend:build、folder:services/api:build;其中的 ${workspaceFolder} 与默认工作目录都指向该仓库自身,命令就在那个仓库里执行。
需要确定性地管理完整会话配置的 Host 插件可使用 dshActions Service:configureSession(sessionId, workspace, { folders, actions }) 在一次原子写入中替换两者,保留会话文件的 version 并立即刷新 catalog;clearSession(sessionId, workspace) 原子清空两者。兼容方法 setSessionFolders(sessionId, workspace, folders) 仍只替换完整 folders 数组并保留已有会话 Actions。
字段级细节见 配置参考,会话层的存储与生命周期见 会话层。
项目起源
日常工作中经常会遇到需要反复执行的步骤或流程。每次临时组织这些步骤,开始时看起来很方便,但执行结果可能不稳定,也难以可靠复现。把它们固定成 CLI、MCP 服务或自定义 Slash Command,虽然获得了复用能力,却也可能过早固化接口,使后续持续调整和优化变得笨重。
把脚本放进 Agent Skill 则走向了另一个方向:它足够灵活,也可以由 Agent 推动演进,但这意味着脚本的完整生命周期需要由 Agent 主导。这样的脚本不容易作为项目的共享能力被统一发现、治理和维护,也很难把完全相同的工具同时暴露到 Web UI,让人可以直接发现和使用。
| 固化方式 | 能复用 | 人可发现 | 代价 |
| 每次临时组织 | ✕ | ✓ | 结果不稳定、难以复现 |
| CLI / MCP / 自定义 Slash Command | ✓ | 部分 | 接口过早固化,后续调整笨重 |
| Agent Skill | ✓ | ✕ | 生命周期归 Agent,统一发现与治理缺位 |
| 项目内的 actions.json(本方案) | ✓ | ✓ | 每次改动都要走一遍 git |
这构成了 DSH Actions 的起点。我们设想的方案在一个重要方面与 Apple 快捷指令、VS Code Tasks 和 GitHub Actions 相似:使用一份跟随工作区的定义来描述可重复执行的 Action 或流程。这份定义既可以由人有意识地持续改进,也可以在 Agent 驱动下逐步演进,同时保持可审查、可管理。随后,同一个 Action 以两种形态对外提供:
- 作为结构化工具,供 Agent 发现和调用;
- 作为 DSH Web 中的可视化界面,供人查看和操作。
Skills 和 MCP 已经为面向 Agent 的能力提供了很好的实现范式。Agent 不需要一开始就在上下文中获得所有实现细节:系统可以先提供有限、精炼的能力描述,只在真正需要时渐进式披露参数、约束、执行细节和结果。DSH Actions 希望把这种渐进式披露方式用于项目中的可重复操作,同时避免让 Agent 成为这些脚本生命周期的唯一所有者,也不把人排除在同一套工具之外。
由此留下的一个开放问题,也是这个项目到现在没想明白的:脚本的生命周期,应该由人拥有、由 Agent 拥有,还是共享? 放进 Agent Skill,演进快,但人失去统一入口和治理能力;放进项目配置,可审查可共享,但每次改动都要走一遍 git。DSH Actions 押的是第三条路——代价是人和 Agent 都得学会在同一份文件上协作。这条路对不对,得等真实用法来验证。
文档地图
文档均为中英双语:中文为 .md,英文为同名 .en.md,放在同一目录下。完整索引见 docs/README.md。
场景(什么时候用、怎么用):
- 策展散落的脚本入口(English)
- 打通 CI/发布流水线(Jenkins 示例)(English)
- 会话草稿本(会话级临时任务)(English)
功能(分主题的细节参考):
- 配置参考:actions.json 全字段(English)
- Actions 面板(English)
- Agent 集成(English)
- 会话层(English)
注:AGENTS.md 是本地贡献指南,不对外分发(既不在 git 仓库,也不随 npm 包发布);路线图、待办与设计调研为团队私有文档,同样不在公开仓库中。
包身份
| 产品 | DSH Actions |
| 仓库 | pure-craft/dsh-actions |
| npm 包 | dsh-actions |
| Cordis 插件 id | dsh-actions |
致谢
actions.json 的字段设计、逐条容错与实例复用语义,参考了 VS Code Tasks(tasks.json v2),并精简为子集;Action / Run 这套产品语言——执行状态、日志、运行历史、受控自动化——参考了 GitHub Actions。
三层独立来源与会话层是两者都没有的:那一部分是为了让同一份定义既能被人点击、又能被智能体调用才加的。字段全集与本项目的有意差异见配置参考。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
pure-craft/dsh-actions
写一份跟随仓库的 actions.json,它同时是你在右侧栏点一下就跑的面板入口,和 Agent…
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,928已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目