# Senpi (OmO Native)

Nguồn: https://docs.aicentos.com/vi/clients/senpi

Language: vi

> Dùng aicentos trong Senpi / OmO —— vị trí thư mục cấu hình và provider openai-compatible

Senpi là fork của `pi-mono`, tên gói npm là `@code-yeongyu/senpi`, file thực thi tên `senpi`. Nó đồng thời là runtime của oh-my-openagent (viết tắt OmO), nên "OmO Native" chỉ bộ chạy trên harness senpi.

## Chuẩn bị

```bash
curl -fsSL https://get.omo.dev/install.sh | bash
omo
```

Cũng có thể cài bằng bun:

```bash
bun add -g omo-ai
```

Dự án tự mô tả là experimental, nguyên văn chính thức là đừng đặt lên pipeline sản xuất.

## Cấu hình cần điền

Thư mục cấu hình là `~/.omo/agent/`, có thể ghi đè bằng `OMO_CODING_AGENT_DIR`; các biến `SENPI_*` cũ vẫn tương thích.

| Tệp             | Vai trò                                                      |
| --------------- | ------------------------------------------------------------ |
| `models.json`   | định nghĩa provider (endpoint, giao thức, danh sách mô hình) |
| `auth.json`     | khóa                                                         |
| `settings.json` | tùy chọn như mô hình mặc định                                |

Bản thân senpi có một bộ riêng: `~/.senpi/agent/settings.json`, và `.senpi/settings.json` ở cấp dự án.

| Trường             | Giá trị                                      |
| ------------------ | -------------------------------------------- |
| Giao thức provider | `@ai-sdk/openai-compatible`                  |
| Base URL           | `https://aicentos.com/v1`                    |
| API Key            | Key tạo trong Console                        |
| Mô hình            | tên mô hình trong "Model Square" của Console |

## Các bước thiết lập

Thêm một provider trong `~/.omo/agent/models.json`, chọn giao thức thuộc loại tương thích OpenAI (ánh xạ tài liệu đưa ra là `npm: @ai-sdk/openai-compatible`):

```json
{
  "providers": {
    "aicentos": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://aicentos.com/v1",
        "apiKey": "sk-API-Key-của-bạn"
      },
      "models": {
        "tên-mô-hình-của-bạn": {}
      }
    }
  }
}
```

Khóa cũng có thể để riêng trong `auth.json`, không ghi vào `models.json`. Sau đó ghi mô hình mặc định vào `settings.json`.

## Kiểm tra

Khởi động `omo` hoặc `senpi`, xác nhận trong bộ chọn mô hình có các mô hình dưới `aicentos`, gửi một câu xác nhận trả về được.

## Lưu ý

* Đừng lẫn hai thư mục cấu hình: phía OmO ở `~/.omo/agent/`, phía senpi ở `~/.senpi/agent/`, sửa sai chỗ sẽ không có hiệu lực.
* `.senpi/settings.json` ở cấp dự án sẽ ghi đè cài đặt toàn cục, khi xử lý sự cố hãy xem thư mục dự án trước.
* Tài liệu chính thức chỉ đưa ánh xạ di chuyển, không có đoạn cấu hình đầy đủ nguyên văn, cấu trúc trên được sắp xếp theo quy ước hệ Pi, tên trường vui lòng đối chiếu với phiên bản hiện tại của `omo.dev/docs`.
* Dự án experimental, cấu trúc cấu hình có thể thay đổi sau khi nâng cấp.

## Liên kết liên quan

* [Tài liệu OmO](https://omo.dev/docs)
* [Kho senpi](https://github.com/code-yeongyu/senpi)
* [Kho oh-my-openagent](https://github.com/code-yeongyu/oh-my-openagent)