diff --git a/src/content/docs/en/concepts/skills.md b/src/content/docs/en/concepts/skills.md index f34e661..0e02705 100644 --- a/src/content/docs/en/concepts/skills.md +++ b/src/content/docs/en/concepts/skills.md @@ -76,7 +76,7 @@ dewee skills access effective --agent ## Adding and publishing skills -- **Upload.** `dewee skills upload ` packages a folder or sends an existing ZIP, and the skill appears under custom skills in the console. The size limit is 20 MB by default, configurable from 1 to 500 MB. `dewee skills promote ` uploads a personal skill from `~/.agents`. +- **Upload.** `dewee skills upload ` packages a folder or sends an existing ZIP, and the skill appears under custom skills in the console. The size limit is 20 MB by default, configurable from 1 to 500 MB. `dewee skills promote ` uploads a personal skill from `~/.agents`. `dewee skills update ` changes a skill's name, description, tags or visibility, and `dewee skills delete --yes` removes it; a person with an `edit` or `manage` grant on the skill can run them with their own API key (see [Access grants](/docs/security/access-grants)). - **Content guard.** Before anything is written, `SKILL.md` is scanned against 25 rules covering destructive commands, code injection, credential access, path traversal, SQL drops and privilege escalation. Any match rejects the skill. `SKILL.md` is limited to 100 KB and each companion text file to 2 MB. - **Agent publishing.** An agent can publish a folder from its workspace with `publish_skill`. The new skill is private to the user and granted to that agent, which makes it internal. Publishing the same slug again creates a new version. Built-in slugs are reserved. - **Agent editing.** With `skill_manage`, available only when skill learning is on, an agent can create, patch or delete skills it owns. Deleted skills are moved to a trash folder and erased after 7 days. diff --git a/src/content/docs/en/console/skills.md b/src/content/docs/en/console/skills.md index 0d797bc..7b2a423 100644 --- a/src/content/docs/en/console/skills.md +++ b/src/content/docs/en/console/skills.md @@ -45,7 +45,7 @@ Select a skill, or **Open** in its row menu, to open its page. The header has th - **Files**: browse the bundle, such as `SKILL.md`, `scripts/` and `references/`. Files are read-only here; to change them, upload a new version of the bundle. Large or binary files are listed without a preview. - **Versions**: the published versions, with the current one marked. Only the current version can be downloaded. To publish a new version, upload a bundle with the same slug. - **Optimization**: switch **Enable optimization** on so the runtime reviews how the skill performs and proposes improvements, and pick the **Mode**: **Suggest only** or **Auto-analyze**. **Usage** shows invocations, successes, failures, abandoned runs and the activation rate across every agent. Under **Suggestions**, **Approve** or **Reject** a pending suggestion, then **Apply** an approved one to publish it as a new version. Nothing changes until someone applies a suggestion. -- **Access**: grant agents or people access to the skill, and change or revoke grants. Agents get **Use** or **Manage**; people get **Use** or **Manage**. An agent grant is pinned to a version: when the skill has several versions, choose the **Version for new agent grants** first. Workspace admins and people with **Manage** on the skill can change access; anyone else sees a view-only notice. Built-in skills follow runtime policy and cannot be granted here. See [Access grants](/docs/security/access-grants). +- **Access**: grant agents or people access to the skill, and change or revoke grants. Agents get **Use** or **Manage**; people get **Use**, **Edit** or **Manage**. A person's **Edit** (name, description and tags) and **Manage** (also visibility and delete) apply when they change the skill through the runtime with their own API key, for example `dewee skills update`; the console's own controls still need a workspace role. An agent grant is pinned to a version: when the skill has several versions, choose the **Version for new agent grants** first. Workspace admins and people with **Manage** on the skill can change access; anyone else sees a view-only notice. Built-in skills follow runtime policy and cannot be granted here. See [Access grants](/docs/security/access-grants). - **Activities**: changes to the skill's optimization settings and suggestions, then its access activity: grant changes, denials and uses. - **Settings**: edit the name, description, **Visibility** and **Status**, and use the **Enabled** switch. **Delete this skill**, under **Danger zone**, removes the skill and all its versions; agents lose access immediately. diff --git a/src/content/docs/en/console/tools-mcp-and-hooks.md b/src/content/docs/en/console/tools-mcp-and-hooks.md index 5486a13..35ff4f4 100644 --- a/src/content/docs/en/console/tools-mcp-and-hooks.md +++ b/src/content/docs/en/console/tools-mcp-and-hooks.md @@ -59,7 +59,7 @@ The server's page opens. If it uses OAuth, it opens on the **Credentials** tab: - **Overview**: status, connection details and authentication. Select **Test connection** to check the saved configuration and discover the server's tools. A banner tells you when the server is disabled, the last test failed or OAuth authorization expired, with **Reauthorize** for the last case. - **Tools**: every discovered tool and who may call it. Without a grant, a tool is **Denied**. For each tool, **Allow** or **Deny** it per grantee, or **Allow agent** to grant one agent just that tool. **Safe context** approves a read-only tool that agents may run before they plan their work, for example to load rules or playbooks; changing the server's endpoint, command, environment or headers clears these approvals. Run a connection test first if no tools are listed. -- **Access**: grant agents **Use**, and people **Use** or **Manage**. Each grant shows which tools it allows. **Grant to a team** grants every agent currently in the team; agents added later need their own grant. Grants made per channel or group elsewhere are listed under **Channel and group grants** so you can revoke them. See [Access grants](/docs/security/access-grants). +- **Access**: grant agents **Use**, and people **Use**, **Edit** or **Manage**. A person's **Edit** (display name and timeout) and **Manage** (also on/off and delete) apply when they change the server through the runtime with their own API key, for example `dewee mcp update`. Each grant shows which tools it allows. **Grant to a team** grants every agent currently in the team; agents added later need their own grant. Grants made per channel or group elsewhere are listed under **Channel and group grants** so you can revoke them. See [Access grants](/docs/security/access-grants). - **Credentials**: the workspace API key, headers and environment variables, or for OAuth servers the authorization state with **Authorize**, **Reauthorize** and **Disconnect**. Every agent uses these workspace credentials; per-agent credentials are not available. stdio servers use environment credentials, not OAuth. - **Configuration**: edit the **Profile** and **Connection**, turn the server off, or **Delete server** under **Danger zone**. Deleting removes the server and every grant. - **Activities**: changes to the server's configuration, access and credentials. diff --git a/src/content/docs/en/security/access-grants.md b/src/content/docs/en/security/access-grants.md index c7eeb7b..b9206d5 100644 --- a/src/content/docs/en/security/access-grants.md +++ b/src/content/docs/en/security/access-grants.md @@ -25,13 +25,13 @@ There are four levels, `use`, `edit`, `manage` and `admin` (**Use**, **Edit**, * What a level unlocks depends on the resource: -- **Skills.** An agent with `use` sees the skill and may load it. An agent with `manage` may also update or delete it. For people, `use` makes the skill available in their chats, `edit` currently gives the same access as `use`, and `manage` lets them grant and revoke access up to their own level and read the skill's activity. -- **MCP servers.** An agent with `use` may call the server's tools; the per-tool allow and deny lists still apply. For people, `use` keeps its existing meaning, the chat users an agent may call the server for. `edit` currently gives the same access as `use`, and `manage` lets them grant, revoke and read activity, as for skills. -- **Packages and providers.** An agent with `use` may run the package's commands, or run on the provider, after the resource is restricted. While a resource is open, the grant changes nothing. +- **Skills.** An agent with `use` sees the skill and may load it. An agent with `manage` may also update or delete it. For people, `use` makes the skill available in their chats. `edit` also lets them change the skill's name, description and tags. `manage` adds changing who can see it, deleting it, granting and revoking access up to their own level, and reading the skill's activity. Uploading a new version stays with workspace admins, because an upload can install the skill's dependencies on the server. +- **MCP servers.** An agent with `use` may call the server's tools; the per-tool allow and deny lists still apply. For people, `use` keeps its existing meaning, the chat users an agent may call the server for. `edit` also lets them change the server's display name and how long a tool call may take (1 to 600 seconds). `manage` adds switching the server on or off, deleting it, granting, revoking and reading activity. The server's address or command, its credentials, its name and tool prefix stay with workspace admins, because they decide what runs and where your secrets are sent. +- **Packages and providers.** An agent with `use` may run the package's commands, or run on the provider, after the resource is restricted. While a resource is open, the grant changes nothing. People cannot hold grants on packages or providers: installing packages and changing provider settings stay with workspace admins. - **Hooks.** `edit` lets a person change a hook that runs for specific agents. `manage` also lets them change which agents it runs for, switch it on or off, delete it, and manage its grants. Changing a hook, or which agents it runs for, also needs an `edit` share on each agent involved, because a hook sees all of that agent's events and can block its tool calls. Hooks that run for the whole workspace stay with workspace admins. - **Agents.** These grants are the agent shares described in [Secrets, roles and audit](/docs/security/secrets-roles-and-audit#roles-in-the-runtime). `use` allows chat. `edit` lets the holder change the agent's name, description, model and prompt settings, and regenerate it. `manage` adds raising its cost limits and managing its shares. `admin` adds deleting the agent, except the workspace's default agent. The agent's key, status, workspace, sandbox, tool policy and budget stay with workspace admins. These powers apply through the gateway. In the console, changing or deleting an agent needs a workspace admin whatever the share, so the console does not offer `edit` or `admin` there (see [Where to manage grants](#where-to-manage-grants)). -Workspace owners, admins and agent owners keep exactly the access they had before; grants only add rights for the people who hold them. To use an `edit`, `manage` or `admin` share from a script, a person needs an API key bound to them with write access (operator or above). +Workspace owners, admins and agent owners keep exactly the access they had before; grants only add rights for the people who hold them. To use an `edit`, `manage` or `admin` grant on an agent, hook, skill or MCP server from a script or the CLI (`dewee skills update`, `dewee mcp update`), a person needs an API key bound to them with write access (operator or above). ## Who can grant @@ -83,7 +83,7 @@ Workspace admins and people with `manage` on the resource can read the feed. - **The gateway's built-in dashboard.** An **Access** panel on skills (a tab of the skill dialog), providers (the provider page), packages (an action on each row of the pip, npm, system and GitHub lists), hooks and agents (a tab on their pages). It lists grants, adds agents or people at the levels the resource allows, changes and revokes grants, shows the activity feed, and holds the open/restricted switch for providers and packages. - **The CLI.** `dewee skills`, `mcp`, `providers`, `packages`, `agent` and `hooks` each have an `access` group with `list`, `grant`, `set-level`, `revoke` and `activity`; providers and packages add `mode get` and `mode set`. See the [CLI reference](/docs/runtime/cli). - **The HTTP API.** `/v1/resource-grants/{type}/{id}`, with the same rules as the dashboard. -- **The console.** On app.dewee.sh, skills, MCP servers, providers and packages have an **Access** tab and an activity tab, agents have a **Permissions** tab, and every hook has an **Access** tab. New grants offer only levels the console honours: a person gets **Use** or **Manage** on a skill, MCP server or agent, and **Edit** or **Manage** on a hook, whose agents are listed under **Runs for**. On an agent, **Edit** works like **Use** and **Admin** like **Manage**, so neither is offered; a grant that already holds one is still shown and can be changed. Workspace admins also get the **Restricted access** switch for providers and packages. Restricting a provider opens a confirmation that first lists the agents that would lose access. After you confirm, it offers **Grant them use** for the agents that lost access. Restricting a package asks for confirmation without a preview. GitHub release packages, workspace-wide hooks and built-in or instance-shared hooks show a notice instead of controls, and members the gateway would refuse see grants without controls. See [Agents](/docs/console/agents), [Skills](/docs/console/skills), [Providers and models](/docs/console/providers-and-models) and [Built-in tools, MCP servers and hooks](/docs/console/tools-mcp-and-hooks). +- **The console.** On app.dewee.sh, skills, MCP servers, providers and packages have an **Access** tab and an activity tab, agents have a **Permissions** tab, and every hook has an **Access** tab. New grants offer only levels the console honours: a person gets **Use**, **Edit** or **Manage** on a skill or MCP server, **Use** or **Manage** on an agent, and **Edit** or **Manage** on a hook, whose agents are listed under **Runs for**. On an agent, **Edit** works like **Use** and **Admin** like **Manage**, so neither is offered; a grant that already holds one is still shown and can be changed. Workspace admins also get the **Restricted access** switch for providers and packages. Restricting a provider opens a confirmation that first lists the agents that would lose access. After you confirm, it offers **Grant them use** for the agents that lost access. Restricting a package asks for confirmation without a preview. GitHub release packages, workspace-wide hooks and built-in or instance-shared hooks show a notice instead of controls, and members the gateway would refuse see grants without controls. See [Agents](/docs/console/agents), [Skills](/docs/console/skills), [Providers and models](/docs/console/providers-and-models) and [Built-in tools, MCP servers and hooks](/docs/console/tools-mcp-and-hooks). ```bash dewee skills access grant git-helper --agent support-bot --level use diff --git a/src/content/docs/vi/concepts/skills.md b/src/content/docs/vi/concepts/skills.md index 22784d6..d511cef 100644 --- a/src/content/docs/vi/concepts/skills.md +++ b/src/content/docs/vi/concepts/skills.md @@ -76,7 +76,7 @@ dewee skills access effective --agent ## Thêm và xuất bản skill -- **Tải lên.** `dewee skills upload ` đóng gói một thư mục hoặc gửi file ZIP có sẵn, và skill xuất hiện trong mục skill tuỳ chỉnh của console. Giới hạn kích thước mặc định là 20 MB, có thể chỉnh từ 1 đến 500 MB. `dewee skills promote ` tải lên một skill cá nhân từ `~/.agents`. +- **Tải lên.** `dewee skills upload ` đóng gói một thư mục hoặc gửi file ZIP có sẵn, và skill xuất hiện trong mục skill tuỳ chỉnh của console. Giới hạn kích thước mặc định là 20 MB, có thể chỉnh từ 1 đến 500 MB. `dewee skills promote ` tải lên một skill cá nhân từ `~/.agents`. `dewee skills update ` đổi tên, mô tả, thẻ hoặc chế độ hiển thị của skill, còn `dewee skills delete --yes` xoá skill; người có quyền `edit` hoặc `manage` trên skill có thể chạy các lệnh này bằng API key của chính họ (xem [Cấp quyền theo tài nguyên](/docs/security/access-grants)). - **Bộ lọc nội dung.** Trước khi ghi bất cứ thứ gì, `SKILL.md` được quét theo 25 quy tắc về lệnh phá huỷ, chèn mã, truy cập thông tin xác thực, duyệt thư mục trái phép, lệnh xoá bảng SQL và leo thang đặc quyền. Chỉ cần khớp một quy tắc là skill bị từ chối. `SKILL.md` tối đa 100 KB, mỗi file văn bản đi kèm tối đa 2 MB. - **Agent tự xuất bản.** Agent có thể xuất bản một thư mục trong workspace bằng `publish_skill`. Skill mới thuộc riêng người dùng và được cấp cho agent đó, nên chuyển thành `internal`. Xuất bản lại cùng slug sẽ tạo phiên bản mới. Slug của skill tích hợp được giữ riêng. - **Agent tự chỉnh sửa.** Với `skill_manage`, chỉ có khi tính năng học skill đang bật, agent có thể tạo, sửa hoặc xoá các skill mà nó sở hữu. Skill bị xoá được chuyển vào thư mục thùng rác và bị xoá hẳn sau 7 ngày. diff --git a/src/content/docs/vi/console/skills.md b/src/content/docs/vi/console/skills.md index 1b99024..359cdcb 100644 --- a/src/content/docs/vi/console/skills.md +++ b/src/content/docs/vi/console/skills.md @@ -45,7 +45,7 @@ Chọn một skill, hoặc chọn **Mở** trong menu của dòng, để mở tr - **Tệp**: duyệt nội dung gói, như `SKILL.md`, `scripts/` và `references/`. Ở đây tệp chỉ xem được; muốn thay đổi, hãy tải lên phiên bản mới của gói. Tệp quá lớn hoặc tệp nhị phân được liệt kê nhưng không xem trước được. - **Phiên bản**: các phiên bản đã phát hành, phiên bản hiện tại được đánh dấu. Chỉ tải về được phiên bản hiện tại. Muốn phát hành phiên bản mới, hãy tải lên một gói có cùng slug. - **Tối ưu hoá**: bật **Bật tối ưu hoá** để runtime theo dõi hiệu quả của skill và đề xuất cải tiến, rồi chọn **Chế độ**: **Chỉ đề xuất** hoặc **Tự phân tích**. Mục **Mức sử dụng** cho thấy lượt gọi, lượt thành công, thất bại, bỏ dở và tỷ lệ kích hoạt trên mọi agent. Ở mục **Đề xuất**, chọn **Phê duyệt** hoặc **Từ chối** một đề xuất đang chờ, rồi **Áp dụng** đề xuất đã phê duyệt để phát hành nó thành phiên bản mới. Không có gì thay đổi cho đến khi có người áp dụng đề xuất. -- **Quyền truy cập**: cấp quyền dùng skill cho agent hoặc người, đổi mức và thu hồi quyền. Agent được cấp **Dùng** hoặc **Quản lý**; người cũng được cấp **Dùng** hoặc **Quản lý**. Quyền của agent được ghim vào một phiên bản: khi skill có nhiều phiên bản, hãy chọn **Phiên bản cho quyền agent mới** trước. Quản trị viên workspace và người có quyền **Quản lý** trên skill được thay đổi quyền truy cập; người khác thấy thông báo chỉ được xem. Skill tích hợp sẵn theo chính sách runtime và không cấp quyền được ở đây. Xem [Cấp quyền theo tài nguyên](/docs/security/access-grants). +- **Quyền truy cập**: cấp quyền dùng skill cho agent hoặc người, đổi mức và thu hồi quyền. Agent được cấp **Dùng** hoặc **Quản lý**; người được cấp **Dùng**, **Chỉnh sửa** hoặc **Quản lý**. Quyền **Chỉnh sửa** (tên, mô tả và thẻ) và **Quản lý** (thêm phạm vi hiển thị và xoá) của một người có hiệu lực khi họ sửa skill qua runtime bằng API key của chính họ, ví dụ `dewee skills update`; các nút điều khiển trên console vẫn cần vai trò trong workspace. Quyền của agent được ghim vào một phiên bản: khi skill có nhiều phiên bản, hãy chọn **Phiên bản cho quyền agent mới** trước. Quản trị viên workspace và người có quyền **Quản lý** trên skill được thay đổi quyền truy cập; người khác thấy thông báo chỉ được xem. Skill tích hợp sẵn theo chính sách runtime và không cấp quyền được ở đây. Xem [Cấp quyền theo tài nguyên](/docs/security/access-grants). - **Hoạt động**: các thay đổi về cài đặt tối ưu hoá và đề xuất của skill, tiếp theo là hoạt động truy cập: thay đổi quyền, lượt bị từ chối và lượt dùng. - **Cài đặt**: sửa tên, mô tả, **Phạm vi hiển thị** và **Trạng thái**, và dùng công tắc **Đang bật**. Nút **Xoá kỹ năng này** trong **Vùng nguy hiểm** gỡ skill cùng mọi phiên bản của nó; agent mất quyền truy cập ngay lập tức. diff --git a/src/content/docs/vi/console/tools-mcp-and-hooks.md b/src/content/docs/vi/console/tools-mcp-and-hooks.md index 6f05692..61a2cdd 100644 --- a/src/content/docs/vi/console/tools-mcp-and-hooks.md +++ b/src/content/docs/vi/console/tools-mcp-and-hooks.md @@ -59,7 +59,7 @@ Trang của server sẽ mở ra. Nếu server dùng OAuth, trang mở ở tab ** - **Tổng quan**: trạng thái, thông tin kết nối và cách xác thực. Chọn **Kiểm tra kết nối** để kiểm tra cấu hình đã lưu và tìm các tool của server. Một banner báo khi server đang tắt, lần kiểm tra gần nhất thất bại hoặc uỷ quyền OAuth đã hết hạn; trường hợp cuối có nút **Uỷ quyền lại**. - **Công cụ**: mọi tool tìm thấy và ai được gọi chúng. Khi chưa được cấp quyền, tool ở trạng thái **Bị chặn**. Với mỗi tool, chọn **Cho phép** hoặc **Chặn** cho từng đối tượng được cấp quyền, hoặc **Cho phép agent** để cấp riêng tool đó cho một agent. **Ngữ cảnh an toàn** phê duyệt một tool chỉ đọc mà agent được chạy trước khi lập kế hoạch công việc, ví dụ để nạp quy tắc hoặc playbook; đổi endpoint, lệnh, biến môi trường hoặc header của server sẽ xoá các phê duyệt này. Nếu chưa có tool nào, hãy chạy kiểm tra kết nối trước. -- **Quyền truy cập**: cấp **Dùng** cho agent, **Dùng** hoặc **Quản lý** cho người. Mỗi quyền cấp hiện các tool mà nó cho phép. **Cấp quyền cho một nhóm** cấp quyền cho mọi agent hiện có trong nhóm; agent được thêm sau cần được cấp quyền riêng. Quyền cấp theo kênh hoặc nhóm chat ở nơi khác được liệt kê trong **Quyền theo kênh và nhóm chat** để bạn thu hồi. Xem [Cấp quyền theo tài nguyên](/docs/security/access-grants). +- **Quyền truy cập**: cấp **Dùng** cho agent, **Dùng**, **Chỉnh sửa** hoặc **Quản lý** cho người. Quyền **Chỉnh sửa** (tên hiển thị và thời gian chờ) và **Quản lý** (thêm bật/tắt và xoá) của một người có hiệu lực khi họ sửa server qua runtime bằng API key của chính họ, ví dụ `dewee mcp update`. Mỗi quyền cấp hiện các tool mà nó cho phép. **Cấp quyền cho một nhóm** cấp quyền cho mọi agent hiện có trong nhóm; agent được thêm sau cần được cấp quyền riêng. Quyền cấp theo kênh hoặc nhóm chat ở nơi khác được liệt kê trong **Quyền theo kênh và nhóm chat** để bạn thu hồi. Xem [Cấp quyền theo tài nguyên](/docs/security/access-grants). - **Thông tin xác thực**: API key, header và biến môi trường của workspace, hoặc với server OAuth là trạng thái uỷ quyền cùng các nút **Xác thực**, **Xác thực lại** và **Ngắt kết nối**. Mọi agent đều dùng thông tin xác thực này của workspace; chưa có thông tin xác thực riêng cho từng agent. Server stdio dùng thông tin xác thực từ biến môi trường, không dùng OAuth. - **Cấu hình**: sửa **Hồ sơ** và **Kết nối**, tắt server, hoặc **Xoá máy chủ** trong **Vùng nguy hiểm**. Xoá sẽ gỡ server cùng mọi quyền đã cấp. - **Hoạt động**: các thay đổi về cấu hình, quyền truy cập và thông tin xác thực của server. diff --git a/src/content/docs/vi/security/access-grants.md b/src/content/docs/vi/security/access-grants.md index 39255b9..4029ce3 100644 --- a/src/content/docs/vi/security/access-grants.md +++ b/src/content/docs/vi/security/access-grants.md @@ -25,13 +25,13 @@ Có bốn mức: `use`, `edit`, `manage` và `admin` (trên console là **Dùng* Mỗi mức mở ra điều gì tuỳ vào loại tài nguyên: -- **Skill.** Agent có `use` thấy skill và được nạp nó. Agent có `manage` còn được cập nhật hoặc xoá skill. Với người dùng, `use` cho phép dùng skill trong các cuộc chat của họ, `edit` hiện có tác dụng như `use`, còn `manage` cho phép cấp và thu hồi quyền tới đúng mức của chính họ và xem hoạt động của skill. -- **MCP server.** Agent có `use` được gọi tool của server; danh sách cho phép và chặn theo từng tool vẫn áp dụng. Với người dùng, `use` giữ nguyên ý nghĩa cũ: những người chat mà agent được gọi server thay cho họ. `edit` hiện có tác dụng như `use`, còn `manage` cho phép cấp quyền, thu hồi và xem hoạt động, giống như với skill. -- **Package và provider.** Khi tài nguyên đã bị giới hạn, agent có `use` mới được chạy lệnh của package hoặc chạy trên provider đó. Khi tài nguyên còn mở, quyền này không thay đổi gì. +- **Skill.** Agent có `use` thấy skill và được nạp nó. Agent có `manage` còn được cập nhật hoặc xoá skill. Với người dùng, `use` cho phép dùng skill trong các cuộc chat của họ. `edit` cho phép thêm việc đổi tên, mô tả và thẻ của skill. `manage` cho phép thêm việc đổi ai được thấy skill, xoá skill, cấp và thu hồi quyền tới đúng mức của chính họ, và xem hoạt động của skill. Việc tải lên phiên bản mới vẫn do admin của workspace nắm, vì một lần tải lên có thể cài các thư viện phụ thuộc của skill lên máy chủ. +- **MCP server.** Agent có `use` được gọi tool của server; danh sách cho phép và chặn theo từng tool vẫn áp dụng. Với người dùng, `use` giữ nguyên ý nghĩa cũ: những người chat mà agent được gọi server thay cho họ. `edit` cho phép thêm việc đổi tên hiển thị của server và thời gian tối đa của một lời gọi tool (từ 1 đến 600 giây). `manage` cho phép thêm việc bật hoặc tắt server, xoá server, cấp quyền, thu hồi và xem hoạt động. Địa chỉ hoặc lệnh chạy của server, thông tin xác thực, tên và tiền tố tool vẫn do admin của workspace nắm, vì chúng quyết định cái gì được chạy và secret của bạn được gửi đi đâu. +- **Package và provider.** Khi tài nguyên đã bị giới hạn, agent có `use` mới được chạy lệnh của package hoặc chạy trên provider đó. Khi tài nguyên còn mở, quyền này không thay đổi gì. Người dùng không được cấp quyền trên package hay provider: việc cài package và đổi thiết lập provider vẫn do admin của workspace nắm. - **Hook.** `edit` cho phép một người sửa hook chạy cho các agent cụ thể. `manage` cho phép thêm việc đổi danh sách agent mà hook chạy cho, bật hoặc tắt hook, xoá hook và quản lý quyền của nó. Muốn sửa hook hoặc đổi danh sách agent của nó thì còn cần quyền chia sẻ mức `edit` trên từng agent liên quan, vì hook thấy mọi sự kiện của agent đó và có thể chặn các lời gọi tool của nó. Hook chạy cho cả workspace vẫn chỉ admin của workspace mới đụng tới được. - **Agent.** Đây chính là quyền chia sẻ agent được mô tả ở [Secret, vai trò và nhật ký kiểm toán](/docs/security/secrets-roles-and-audit#vai-trò-trong-runtime). `use` cho phép chat. `edit` cho phép đổi tên, mô tả, model và các thiết lập prompt của agent, và tạo lại agent. `manage` cho phép thêm việc nâng giới hạn chi phí và quản lý quyền chia sẻ. `admin` cho phép thêm việc xoá agent, trừ agent mặc định của workspace. Key, trạng thái, workspace, sandbox, chính sách tool và ngân sách của agent vẫn do admin của workspace nắm. Các quyền này áp dụng qua gateway. Trên console, muốn sửa hay xoá agent vẫn cần quản trị viên workspace dù có quyền chia sẻ nào, nên console không đề xuất `edit` hay `admin` cho agent (xem [Quản lý quyền ở đâu](#quản-lý-quyền-ở-đâu)). -Owner, admin của workspace và chủ sở hữu agent giữ đúng những quyền họ đã có; quyền theo tài nguyên chỉ cộng thêm quyền cho người được cấp. Muốn dùng quyền chia sẻ mức `edit`, `manage` hay `admin` từ script, người đó cần một API key gắn với chính họ và có quyền ghi (operator trở lên). +Owner, admin của workspace và chủ sở hữu agent giữ đúng những quyền họ đã có; quyền theo tài nguyên chỉ cộng thêm quyền cho người được cấp. Muốn dùng quyền mức `edit`, `manage` hay `admin` trên agent, hook, skill hay MCP server từ script hoặc CLI (`dewee skills update`, `dewee mcp update`), người đó cần một API key gắn với chính họ và có quyền ghi (operator trở lên). ## Ai được cấp quyền @@ -83,7 +83,7 @@ Admin của workspace và người có `manage` trên tài nguyên xem được - **Dashboard tích hợp sẵn của gateway.** Panel **Access** trên skill (một tab trong hộp thoại skill), provider (trang provider), package (một thao tác trên từng dòng của danh sách pip, npm, system và GitHub), hook và agent (một tab trên trang của chúng). Panel liệt kê quyền, thêm agent hoặc người ở các mức tài nguyên cho phép, đổi mức và thu hồi quyền, hiện luồng hoạt động, và có công tắc mở/giới hạn cho provider và package. - **CLI.** `dewee skills`, `mcp`, `providers`, `packages`, `agent` và `hooks` đều có nhóm `access` với `list`, `grant`, `set-level`, `revoke` và `activity`; provider và package có thêm `mode get` và `mode set`. Xem [Tham chiếu CLI](/docs/runtime/cli). - **HTTP API.** `/v1/resource-grants/{type}/{id}`, theo cùng quy tắc với dashboard. -- **Console.** Trên app.dewee.sh, skill, MCP server, provider và package có tab **Quyền truy cập** và tab **Hoạt động**, agent có tab **Phân quyền**, còn mọi hook đều có tab **Quyền truy cập**. Khi cấp mới, console chỉ đề xuất các mức nó thực thi: một người nhận **Dùng** hoặc **Quản lý** trên skill, MCP server hay agent, và **Chỉnh sửa** hoặc **Quản lý** trên hook, còn các agent của hook nằm trong mục **Chạy cho**. Trên agent, **Chỉnh sửa** có tác dụng như **Dùng** và **Quản trị** như **Quản lý**, nên cả hai không được đề xuất; quyền đã giữ một trong hai mức này vẫn hiện và vẫn đổi được. Quản trị viên workspace còn có công tắc **Giới hạn truy cập** cho provider và package. Giới hạn một provider mở hộp thoại xác nhận, trước tiên liệt kê các agent sẽ mất truy cập. Sau khi bạn xác nhận, nó đề nghị **Cấp quyền dùng cho họ** cho các agent đã mất truy cập. Giới hạn một package chỉ hỏi xác nhận, không có bản xem trước. Gói phát hành GitHub, hook áp dụng toàn workspace và hook có sẵn hoặc được chia sẻ cho cả hệ thống hiện thông báo thay cho các nút điều khiển, còn thành viên mà gateway sẽ từ chối chỉ xem được danh sách quyền. Xem [Agent](/docs/console/agents), [Skill](/docs/console/skills), [Provider và model](/docs/console/providers-and-models) và [Tool tích hợp, MCP server và hook](/docs/console/tools-mcp-and-hooks). +- **Console.** Trên app.dewee.sh, skill, MCP server, provider và package có tab **Quyền truy cập** và tab **Hoạt động**, agent có tab **Phân quyền**, còn mọi hook đều có tab **Quyền truy cập**. Khi cấp mới, console chỉ đề xuất các mức nó thực thi: một người nhận **Dùng**, **Chỉnh sửa** hoặc **Quản lý** trên skill hay MCP server, **Dùng** hoặc **Quản lý** trên agent, và **Chỉnh sửa** hoặc **Quản lý** trên hook, còn các agent của hook nằm trong mục **Chạy cho**. Trên agent, **Chỉnh sửa** có tác dụng như **Dùng** và **Quản trị** như **Quản lý**, nên cả hai không được đề xuất; quyền đã giữ một trong hai mức này vẫn hiện và vẫn đổi được. Quản trị viên workspace còn có công tắc **Giới hạn truy cập** cho provider và package. Giới hạn một provider mở hộp thoại xác nhận, trước tiên liệt kê các agent sẽ mất truy cập. Sau khi bạn xác nhận, nó đề nghị **Cấp quyền dùng cho họ** cho các agent đã mất truy cập. Giới hạn một package chỉ hỏi xác nhận, không có bản xem trước. Gói phát hành GitHub, hook áp dụng toàn workspace và hook có sẵn hoặc được chia sẻ cho cả hệ thống hiện thông báo thay cho các nút điều khiển, còn thành viên mà gateway sẽ từ chối chỉ xem được danh sách quyền. Xem [Agent](/docs/console/agents), [Skill](/docs/console/skills), [Provider và model](/docs/console/providers-and-models) và [Tool tích hợp, MCP server và hook](/docs/console/tools-mcp-and-hooks). ```bash dewee skills access grant git-helper --agent support-bot --level use