跳到主要内容

Dex SDK

查看 Markdown

Dex SDK 是一个专用 sub-skill。它帮助 agent 用公开的 Dex SDK 构建、调试、测试和运行 应用,支持 Python、Go、Java、TypeScript 和 Rust。

安装与使用​

选择当前使用的 host。一个 host 只能选择 Plugin 或 standalone Skills 中的一种安装路径。

Plugin(推荐)

安装

此路径不需要单独安装 Codex CLI。

  1. 打开 plugin browser,选择添加菜单,然后点击 Add a marketplace。
  2. Source 使用下面的 repository,Git ref 使用 main,Sparse paths 保持为空。
https://github.com/superdurable/dex-skills
  1. 添加 marketplace,打开 Super Durable,选择 Dex 并安装。
  2. 打开 repository 或空 project,然后创建新 task。

使用

输入 @,从 picker 中选择 Dex,再输入请求。只输入普通 @Dex 文本不会创建 Plugin binding。

@Dex Diagnose why this Flow retries after the payment Step completes.

更新

在 plugin browser 的 marketplace 管理页面找到 Super Durable,点击 Upgrade。完成后重启 Desktop app,并创建新 task。

Standalone Skills

如果选择该方式,请不要再安装 Plugin。三个 Skills 必须一起安装。

安装

npx skills add superdurable/dex-skills --skill '*' --agent codex --global

使用

$dex-sdk Diagnose why this Flow retries after the payment Step completes.

更新

npx skills update dex-app-builder dex-sdk dex-connector-contributor --global

如果已安装的 skills CLI 不支持 update,请重新运行上面的安装命令。

完整的产品或业务流程需求,请从 Dex App Builder 开始。 App Builder 开始做后端时会加载 Dex SDK。

何时使用​

以下范围明确的技术工作适合使用 Dex SDK:

  • Flow、Step、等待、状态转换和失败路由;
  • Attribute、AttributeMap、Channel、ChannelMap 和 Stream;
  • typed RPC、Timer、SubFlow、Worker 和 Client;
  • 重试、超时、heartbeat、durability、lock 和恢复;
  • SDK 版本兼容、测试、排错或运维;
  • Dex Web、dexcli、Flow 可视化和应用可观测性。

这个 skill 处理的是你的应用,不是 Dex 本身。除非你明确要求它开发 Dex,否则它不会为了 解决应用问题去修改 Dex Server。

版本与来源​

写代码之前,skill 会先弄清应用的语言、包管理器、已安装的 Dex SDK 版本、Worker 和 Client 如何启动,以及 repository 的测试命令。

skill 以 repository 源码、lockfile、已安装的 SDK 和对应版本的官方示例为准。除非你要求 升级,否则它保留当前安装的版本。如果找不到与该版本完全对应的源码,它只做到与版本无关的 Flow 模型设计为止,不会编造 API。

它只加载你所用语言的 handbook 和任务需要的参考资料,不会把五种语言都加载进来。

实现前先建模​

对于不简单的改动,skill 会在修改代码前先写出模型:

  • Flow 的标识、typed 启动输入和完成输出;
  • Step、状态转换,以及工作在哪些点保存;
  • Flow 默认值,以及每个方法的重试、超时、heartbeat、负载或 lock 选项;
  • 持久状态、消息、RPC、Stream 和 Timer;
  • 失败恢复和 SubFlow 边界;
  • Worker、Client、registry 和序列化的配置,以及应用如何调用 Flow。

模型使用准确的领域名称,并优先采用官方 Dex 模式,而不是手写的协调循环。

实现与验证​

完整的应用改动包括:typed 输入、输出和失败;Flow 和 Step 定义;持久化 schema 条目; 注入的依赖;registry 注册;需要时的 Worker 和 Client 配置;应用的入口(例如 HTTP 接口);以及针对真实 Dex Server 的集成测试。

交付之前,skill 会检查:构建或类型检查、集成场景、重试和超时后的恢复、重复请求、Flow 结束后的行为、每个 primitive 是否都已注册、heartbeat、Stream 行为,以及 Worker 和 Client 的配置是否兼容。

正在运行的 Flow 会限制哪些名称和 schema 可以修改。除非你有明确的迁移方案,否则 skill 会保留现有的 Flow、Step、Attribute、Channel、Stream 和 RPC 名称。

诊断与运维​

诊断问题时,skill 默认只读。它可以查看 Dex Web、dexcli、SDK 错误和应用日志。未经 你授权,它不会 stop、time travel、publish、invoke、删除、编辑或以其他方式修改 Flow。

skill 会保留 typed Dex 错误的原样,直到你的业务逻辑能区分以下几种情况:业务拒绝、与正在 关闭的 Flow 发生竞争、可以重试的服务故障,以及本地 bug。它只把保留的 Stream 用于尽力而为 的观察,从不把它们当作业务状态的权威来源。

与其他 Skill 的关系​

  • Dex App Builder 在做后端时加载 Dex SDK 的核心内容和 Go 指导,然后加上它自己更严格的规则。
  • Dex Connector Contributor 在实现官方 Connector 时加载共享的 Dex 规则和 Go 指导。
  • 直接调用 Dex SDK 时,任务保持为范围明确的技术工作,不会扩展成完整的产品流程。

返回 Dex Skills 总览与安装。