DSH Quality
入门
3 分钟阅读

ctx API 入门:插件的第一步

ctx API 入门:插件的第一步 — 学习如何构建入门 dsh 插件。

最后更新:2026-09-01

ctx:插件的工具箱

ctx 对象是插件注册能力所需的一切。它是你的代码和 dsh 运行时之间的单一接口。

可用的注册方法

  • ctx.commands.register(name, spec) — 用户触发的命令
  • ctx.tools.register(spec) — 模型调用的 tool
  • ctx.ui.registerPanel(id, spec) — UI 面板
  • ctx.ui.registerSkin(name) — 主题注册
  • ctx.log(msg) — 结构化日志

ctx 对象是隔离的

每个 profile 得到自己的 ctx 实例。这意味着插件不会在不同 profile 之间泄漏状态——这是一个关键的安全属性。

最佳实践

  1. 在 apply() 中注册所有能力,不要懒加载
  2. 使用与用户期望匹配的描述性名称
  3. 提供清晰的描述——模型会读这些来决定是否调用你的 tool
  4. 返回结构化结果,而不是散文