# 扩展能力总览

Cowork 不用发新版本也能加新能力。能加的东西有四种：**Skill**、**Extension**、**Injection** 和 **Mini App**。这四种都可以一起打包进一个 **Cowork package**，让一项工作用到的技能、代码、网页脚本和界面作为一个整体交付。

```mermaid
flowchart LR
  cowork(("Cowork"))

  subgraph pkg["Cowork package"]
    direction TB
    skill["Skill<br/>SKILL.md + 脚本"]
    subgraph ext["Extension · package.json"]
      direction TB
      entry["入口文件<br/>activate()"]
      conn["Connector"]
      inj["Injection<br/>网页里运行的脚本"]
    end
    mini["Mini App<br/>有自己的界面"]
  end

  gw["Gateway<br/>外部消息唯一的进出口"]
  web["网站"]
  chan["外部渠道<br/>WhatsApp …"]

  cowork -- AI 读取 --> skill
  cowork -- 你批准后运行 --> ext
  cowork -- 在标签页打开 --> mini
  entry -- 放进网页 --> inj
  inj -- 在网页里运行 --> web
  cowork <-- 消息 --> gw
  gw <-- 接入 --> conn
  conn <-- 收发 --> chan

  style pkg fill:#efe8dc,stroke:#d3c6b1,stroke-width:1px,color:#5c5145
  style ext fill:#e4dacb,stroke:#c4b49b,stroke-width:1px,color:#5c5145
  classDef core fill:#8a7660,stroke:#8a7660,color:#ffffff,stroke-width:1px
  classDef part fill:#fbf8f3,stroke:#c4b49b,color:#3f362b,stroke-width:1px
  classDef outer fill:#f6f2eb,stroke:#cdbfa9,color:#6b6052,stroke-dasharray:4 3
  classDef gateway fill:#6e5d4b,stroke:#6e5d4b,color:#ffffff,stroke-width:1px
  linkStyle default stroke:#a8957a,stroke-width:1.2px
  class cowork core
  class skill,entry,conn,inj,mini part
  class web,chan outer
  class gw gateway
```

## Cowork package

Cowork package 是一个文件夹，装着一项工作需要的东西：一个 Mini App 和它的界面、它带的 Extension、AI 要用的 Skill，以及写给 AI 的安装步骤 `INSTALL.md`。Injection 是 Extension 里的脚本。

```text
<package>/
  miniapp.json     appId、name、version、entry、extension: "extension"
  index.html …     Mini App 的界面
  extension/       Extension：package.json + index.mjs
  skills/<name>/   Skill，可选
  INSTALL.md       AI 照着做的安装步骤
```

0.1.41 还不能一步装好整个包。每个部分按各自的方式装，见下面各节。

## Skill

Skill 教 AI 怎么做一类工作。它是一个带 `SKILL.md` 的文件夹，工作需要时再带上脚本。

- 请求对得上时 AI 会读它；脚本用 Cowork 自带的 Bun 运行。
- 放进技能文件夹就启用，见 [Skill](https://docs.micromeet.ai/zh/extend/skills.md)。
- 谁都可以写。

## Extension

Extension 是一个在自己的后台进程里运行的代码包：一个 `package.json` 加一个入口文件。

- 0.1.41 里它注册 **Connector**。外部渠道（比如 WhatsApp）的消息经 **Gateway** 进出 Cowork；Connector 是把一个渠道接到 Gateway 上的那一端。
- 有浏览器权限时，它还能把 Injection 放进它声明的网站。
- 放在 `<Cowork 主目录>/extensions/packages/<name>/`，你在 **设置 › 扩展** 里批准后才运行。见 [Extension](https://docs.micromeet.ai/zh/extend/extensions.md)。

## Injection

Injection 是在网页里运行的一段脚本，和网页自己的脚本隔开。用它读取网站的网页或在网页里操作。

- 由 Extension 运行，或在 **设置 › 注入按钮** 里给网站加一个按钮。
- 只在它针对的网页上起作用，见 [Injection](https://docs.micromeet.ai/zh/extend/injections.md)。

## Mini App

Mini App 是有自己界面的应用，在 Cowork 的标签页里打开，给你用。

- 0.1.41 里只有 Cowork 自带的 Mini App，暂时不能自己做，见 [Mini App](https://docs.micromeet.ai/zh/extend/mini-apps.md)。

`<Cowork 主目录>` 正式版是 `~/.micromeet-cowork`，Preview 是 `~/.micromeet-cowork_preview`。

## 该做哪一种

1. 要教 AI 怎么做一类工作，写 **Skill**。
2. 要把一个外部消息渠道接进 Cowork，写带 Connector 的 **Extension**。
3. 要在某个网站的网页里做事，写 **Injection**：Extension 里的脚本，或网站按钮。
4. 有自己界面的应用是 **Mini App**。0.1.41 里只有 Cowork 自带的 Mini App。

## 相关

- [Skill](https://docs.micromeet.ai/zh/extend/skills.md): 技能的文件夹、来源与规则
- [Extension](https://docs.micromeet.ai/zh/extend/extensions.md): 包的结构、Connector 与批准
- [Injection](https://docs.micromeet.ai/zh/extend/injections.md): 网页里的脚本与按钮
- [Mini App](https://docs.micromeet.ai/zh/extend/mini-apps.md): 标签页里的应用与现状
