---
title: "App làm được gì"
description: "SotaAgents app là một gói năng lực có version, dùng để mở rộng nền tảng trong tổ chức và workspace. Một app có thể cung cấp tools cho trợ lý gọi, skills hướng dẫn workflow, nati…"
url: "https://sotaagents.ai/vi/manual/developer-guide/what-apps-can-do"
generated_by: "sotaagents-ldp"
docs_index: "https://sotaagents.ai/manual/llms.txt"
locale: "vi"
---

# App làm được gì

SotaAgents app là một gói năng lực có version, dùng để mở rộng nền tảng trong tổ chức và workspace. Một app có thể cung cấp **tools** cho trợ lý gọi, **skills** hướng dẫn workflow, native UI, tool-result renderer, hooks, events, prompts và quyền truy cập dữ liệu có scope. Nền tảng quản lý identity, cài đặt, authorization, chọn environment, phục vụ assets và audit; app quản lý business logic và dữ liệu nghiệp vụ riêng.

### Vì sao cần app?

SotaAgents chỉ có một trợ lý, nhưng không trợ lý nào biết tiêu chuẩn bản vẽ CAD của bạn, quy trình rà soát pháp lý của bạn, hay API của hệ ERP công ty bạn đang chạy. Thay vì phình sản phẩm lõi cho từng lĩnh vực, nền tảng được thiết kế cố ý "chưa hoàn chỉnh": app là cách một team bổ sung phần năng lực còn thiếu, và nền tảng uốn theo nó. Cùng một shell phục vụ được app rà soát văn bản pháp luật, knowledge base, app sinh CAD, app tạo tài liệu office và app web search — chính vì không domain logic nào trong số đó nằm trong lõi.

Cụ thể, một app là một thư mục chứa `manifest.yaml` và — khi năng lực đó cần tính toán, credentials riêng, API bên ngoài hoặc dữ liệu nghiệp vụ lâu dài — một HTTP service do bạn tự host. Nền tảng không dò code của bạn để đoán ra điều gì: nó chỉ expose đúng những gì manifest khai báo, cho đúng organization, workspace và environment đã resolve, và từ chối mọi thứ không được khai báo.

Hai hệ quả. Trợ lý có thêm năng lực mà tự nó không thể có: một **tool** để truy vấn hoặc thay đổi hệ thống của bạn, một **skill** dạy nó quy trình của bạn, một **screen** render dữ liệu của bạn ngay trong workspace. Và team của bạn ship những năng lực đó theo nhịp release riêng, bằng ngôn ngữ và runtime riêng, không cần sửa gì trong SotaAgents.

> [!NOTE]
> App là đơn vị mở rộng, không phải một plugin script.
>
> Nó có version, được cài theo organization, bật theo workspace và resolve về đúng một environment ở mỗi request. Đó là điều khiến domain logic của bên thứ ba chạy an toàn cạnh tính năng first-party.

Tools

Backend action có input/output typed để trợ lý gọi.

Skills

Chỉ dẫn và workflow tái sử dụng cho trợ lý.

Native UI

Trang workspace, màn admin, inline view và artifact renderer.

App data

Storage/backend access được authorize và tách theo environment.

![App Store của tổ chức với app đã cài và app trong catalog](/manual/assets/developer/app-store-catalog.webp)
_App được tìm và cài ở cấp tổ chức, mặc định enabled trong workspace và hỗ trợ override rõ ràng theo workspace._

![Knowledge Base chạy dưới dạng native workspace page](/manual/assets/developer/app-workspace-native-ui.webp)
_Production app có thể cung cấp cả một trải nghiệm workspace nhưng vẫn dùng navigation, identity và access control của nền tảng._

![Tool result Web Search đã mở rộng trong conversation SotaAgents](/manual/assets/developer/web-search-tool-result.webp)
_Action của app hiển thị query, visual preview và source card ngay trong conversation._

![Presentation artifact của Office App đang mở cạnh conversation](/manual/assets/developer/slide-artifact.webp)
_Artifact slide bền vững mở ở panel workspace trong khi conversation gốc và artifact card vẫn nhìn thấy bên trái._

### App experience xuất hiện ở đâu?

| Manifest surface | Dùng khi | Host điển hình |
| --- | --- | --- |
| `page` | Workflow lâu dài có navigation và state. | Trang workspace hoặc admin. |
| `tool-view` | Render một tool call đã bind, gồm cả trạng thái input đang stream nếu bật. | Tool result trong conversation. |
| `message-part` | Render contribution đã bind ngay trong message. | Message của assistant hoặc user. |
| `artifact` | Output bền vững để mở lại, kiểm tra hoặc export. | Artifact panel. |
| `card` | Status hoặc entry content gọn do app sở hữu. | Workspace assistant card slot. |
| `composer-action` | Action gọn nằm cạnh các control của chat input. | `chat.composer.actions`. |
| `composer-panel` | UI theo ngữ cảnh có thể đọc và sửa atomically draft hiện tại. | `chat.composer.panel`. |

`useComposer` chỉ khả dụng trong `composer-panel`. `composer-action` là surface độc lập và không có quyền sửa draft trực tiếp.

> [!NOTE]
> Nền tảng luôn resolve một environment chính xác.
>
> Mọi tool, screen, asset và data request đều thuộc Development, Staging hoặc Production. Không có fallback ngầm từ environment này sang environment khác.
