# 选择开发与集成路径

> 根据宿主边界选择插件、主题、SDK、RPC 或 CLI，避免为简单需求引入过重集成。

Canonical page: /developers/overview



<Takeaways>
  <li>
    先选最窄、最稳定的入口
  </li>

  <li>
    提示词不是插件，外部工具不是桌面扩展
  </li>

  <li>
    跨包只走公开 exports
  </li>
</Takeaways>

Astravia 提供从内容能力到完整宿主集成的多层扩展面。先根据目标选择最窄、最稳定的入口，再阅读对应合同。

<MediaFrame>
  <img src="/images/product/plugin-workbench.webp" alt="Astravia 插件工作台同时展示移动预览和电子表格预览" width="1536" height="836" />

  <figcaption>
    插件可以进入工作区、文件和消息界面；SDK 与 RPC 则用于在自己的宿主中运行 Agent。
  </figcaption>
</MediaFrame>

## 入口选择 [#入口选择]

<Entries>
  <Entry kicker="SKILL" title="技能">
    让 Agent 遵循领域流程。运行边界是 Markdown 指令和可选脚本。
  </Entry>

  <Entry href="/product/mcp/" kicker="MCP" title="连接器">
    连接外部工具或数据。运行边界是 STDIO 或 HTTP 工具服务。
  </Entry>

  <Entry href="/plugins/overview/" kicker="PLUGIN" title="插件">
    扩展 Astravia 桌面 UI 和 Agent。运行边界是插件宿主与权限模型。
  </Entry>

  <Entry href="/themes/overview/" kicker="THEME" title="主题">
    改变桌面视觉和主题页面。运行边界是受策展管理的主题模块。
  </Entry>

  <Entry href="/developers/sdk/" kicker="SDK" title="进程内 SDK">
    在 TypeScript 进程中嵌入 Agent。同进程、类型化 Session API。
  </Entry>

  <Entry href="/developers/rpc/" kicker="RPC" title="子进程 RPC">
    从非 TS 宿主或隔离进程驱动 Agent。stdin/stdout NDJSON。
  </Entry>

  <Entry href="/developers/cli-and-settings/" kicker="CLI" title="命令行">
    从脚本执行一次任务。独立命令进程，text / json 输出。
  </Entry>
</Entries>

## 决策原则 [#决策原则]

<Beats>
  <li>
    只有提示和步骤时使用 Skill，不要创建插件。
  </li>

  <li>
    只需要外部工具协议时使用 MCP，不要依赖桌面内部实现。
  </li>

  <li>
    需要 Astravia UI、文件预览、消息卡片或宿主动作时使用 Plugin。
  </li>

  <li>
    自己拥有进程生命周期且使用 TypeScript 时优先 SDK。
  </li>

  <li>
    需要语言无关、故障隔离或 sidecar 时使用 RPC。
  </li>
</Beats>

<Callout type="warn" title="只使用公开入口">
  跨包集成只能使用 `package.json#exports` 声明的子路径。不要从 `@astravia/coding-agent/src/**` 或其他包的源码目录深度导入。
</Callout>

<Continue>
  <ContinueLink href="/plugins/getting-started/" title="创建第一个插件" description="构建并加载最小桌面插件。" />

  <ContinueLink href="/developers/sdk/" title="使用 Coding Agent SDK" description="创建 Session、订阅事件并管理生命周期。" />

  <ContinueLink href="/developers/sdk-reference/" title="Coding Agent API 参考" description="按公开 exports 查找 Session、Host、资源和运行时 API。" />

  <ContinueLink href="/developers/rpc/" title="接入 RPC 模式" description="通过 NDJSON 命令与事件驱动子进程。" />

  <ContinueLink href="/developers/cli-and-settings/" title="CLI 与设置" description="运行一次性任务并理解全局、项目配置。" />
</Continue>
