
# 制品

每个组织在实例上都有自己的 npm 和 PyPI 制品仓库，与 Git 使用同一个身份。**制品**列出发布到这些仓库里的内容。

![合成示例工作区中的制品](/images/packages.png "制品列表，显示类型、最新版本和最近更新时间。")

## 浏览

列表显示每个制品的类型、最新版本和最近更新时间。制品页面提供该类型可复制的安装命令、每个版本及其发布日期，以及显示平均发布间隔的发布时间线。

## 安装

和 Git 一样，使用你的 Acahti 账号，或用令牌代替密码：

| 类型 | 仓库地址 |
|---|---|
| npm | `<instance>/api/packages/<org>/npm/` |
| PyPI | `<instance>/api/packages/<org>/pypi/simple/` |

在本机上，可以在 `~/.npmrc` 中认证，或使用 `UV_INDEX_<NAME>_USERNAME` 和 `UV_INDEX_<NAME>_PASSWORD`，或写在 `~/.netrc` 中。在 CI 中，`docker-build` pipe 会把同样的凭据以 BuildKit secret 的形式传给构建。

## 发布

流水线以运行身份（head 提交的作者）发布，因此任何地方都不需要保存发布令牌。可以在打标签时用 `npm-publish-acahti` 或 `pypi-publish-acahti` pipe 发布（见[流水线](pipelines.md#examples)），Agent 也可以用 `pkg_publish` 发布。组织管理员可以用 `pkg_delete` 删除某个版本或整个制品。
