diff --git a/docs.json b/docs.json index 71e62a8..bb5f643 100644 --- a/docs.json +++ b/docs.json @@ -401,6 +401,7 @@ "en/basic/admin-panel/template-admin", "en/basic/admin-panel/settings", "en/basic/admin-panel/ai-setting", + "en/basic/admin-panel/skills", "en/basic/admin-panel/automation-management", "en/basic/admin-panel/table-query-ops", "en/basic/admin-panel/computed-outbox", @@ -771,6 +772,7 @@ "zh/basic/admin-panel/template-admin", "zh/basic/admin-panel/settings", "zh/basic/admin-panel/ai-setting", + "zh/basic/admin-panel/skills", "zh/basic/admin-panel/automation-management", "zh/basic/admin-panel/table-query-ops", "zh/basic/admin-panel/computed-outbox", diff --git a/en/basic/admin-panel/computed-outbox.mdx b/en/basic/admin-panel/computed-outbox.mdx index c0d03f5..e722809 100644 --- a/en/basic/admin-panel/computed-outbox.mdx +++ b/en/basic/admin-panel/computed-outbox.mdx @@ -59,6 +59,8 @@ After a group recovery, Teable reports how many tasks it restored, how many were A group marked **Base deleted** belongs to a Base that no longer exists. Recovering it would fail again immediately, so **Discard group** is the only action offered. +Recovery is also unavailable when the data itself caused the failure, such as a value that exceeds a size limit or breaks a field constraint. Replaying the same task would fail the same way, so discard the group and fix the source data or the field definition instead; later writes recompute those fields automatically. + ## Pause Computed Tasks for a Space When one space's computed tasks are making an incident worse, pause that space in **Computed task pauses** rather than stopping the whole instance. diff --git a/en/basic/admin-panel/overview.mdx b/en/basic/admin-panel/overview.mdx index f849e45..be95152 100644 --- a/en/basic/admin-panel/overview.mdx +++ b/en/basic/admin-panel/overview.mdx @@ -22,6 +22,7 @@ The Admin Panel groups its pages by purpose: - **[Instance settings](/en/basic/admin-panel/settings)**: Configure system-wide settings, permissions, email, and system limits - **[AI settings](/en/basic/admin-panel/ai-setting)**: Configure AI features and models +- **[Skills](/en/basic/admin-panel/skills)**: Publish skills that every AI agent in the instance can use - **[Template admin](/en/basic/admin-panel/template-admin)**: Configure template center and custom templates - **[Self-hosted license](/en/deploy/activate)**: Register, update, and view the current instance license diff --git a/en/basic/admin-panel/skills.mdx b/en/basic/admin-panel/skills.mdx new file mode 100644 index 0000000..26ca835 --- /dev/null +++ b/en/basic/admin-panel/skills.mdx @@ -0,0 +1,37 @@ +--- +title: "Skills" +description: "Publish skills that every AI agent in the instance can use." +--- + +Available for self-hosted Business plan and above + +Path: Admin Panel → Skills + +Use **Skills** to publish skills for the whole instance. A skill added here is available in every AI Chat, App Builder, and bot conversation, so use it for working methods your organization should share by default, such as a house writing style, a reporting convention, or a shared integration procedure. + +Skills added by users elsewhere stay in their own scope. See [AI Chat](/en/basic/ai/ai-chat) for personal, base, and space skills. + +## Add a Skill + +Click **Import Skill** and choose where the skill comes from: + +| Source | What to provide | +| --- | --- | +| **GitHub URL** | The link to the skill folder in a repository, for example `https://github.com/owner/repo/tree/main/skills/my-skill` | +| **ZIP / Skill File** | A `.zip` or `.skill` file that contains `SKILL.md` | + +If a skill with the same name already exists in this scope, importing replaces it. + +## Manage Published Skills + +The list groups skills by scope and shows where each one came from. Built-in skills are listed at the bottom for reference and are not editable. + +- Use the switch on a row to enable or disable a skill without deleting it. A disabled skill stays in the list but is not offered to agents. +- For a skill imported from GitHub, click the refresh button to pull the latest version from its source. +- Click a row to read its `SKILL.md`, edit its name and description, download it, replace its files, or delete it. + +Only instance administrators can add, change, or remove skills on this page. Every signed-in user can use the published skills in their conversations. + +## When a Name Is Used Twice + +A skill published here is the instance default. If a base, space, personal, app, or bot skill uses the same name, the narrower one is in effect for that conversation, and the instance skill is ignored there. diff --git a/en/basic/ai/ai-chat.mdx b/en/basic/ai/ai-chat.mdx index 475283f..6829665 100644 --- a/en/basic/ai/ai-chat.mdx +++ b/en/basic/ai/ai-chat.mdx @@ -34,7 +34,8 @@ When you paste a long block of plain text, Teable converts it to a Markdown atta - **Intelligence**: Choose the **Intelligence** level separately in the model menu. It controls thinking depth; higher levels produce more thorough reasoning. - **Secrets**: Open the **+** menu and choose **Secrets** to store API keys or other credentials for AI Chat. AI Chat can read these values as environment variables. Saved values are write-only; enter a new value to update a secret. - **Integrations**: When AI needs access to a third-party account, it can show a card such as **Connect Slack** in the conversation. Click **Connect** to authorize with OAuth. Click **Skip** to cancel this authorization; AI continues with the parts it can complete without that connection. -- **Skills**: Open the **+** menu and choose **Skills** to import, enable, disable, or try skills in the current chat context. Personal skills are only available to you. Current base skills are shared with collaborators in the current base. Type `/` in the input box to choose an enabled skill. To connect or migrate an external system, see [Connect & Migrate Everything](/en/basic/ai/connect-everything). +- **Skills**: Open the **+** menu and choose **Skills** to import, enable, disable, or try skills in the current chat. When you import one, choose who can use it: **Personal** keeps it to yourself, **Base** gives it to collaborators in this base, and **Space** gives it to everyone in this space. Type `/` in the input box to choose an enabled skill. To connect or migrate an external system, see [Connect & Migrate Everything](/en/basic/ai/connect-everything). +- **Context usage**: The ring next to the input box shows how much of the model's context window the conversation currently uses. Click it for the percentage and token counts. When the context fills up, Teable compacts the conversation; start a new chat if you want a clean context instead. - **Manage files**: Open **+** → **More** → **Manage files** to view files in the current chat sandbox. You can preview supported files, download files, or delete files and folders you no longer need. A conversation must exist before its files can be managed. - **Queued messages**: If you send another message while AI is still working, the message is queued. Queued items show the same table, view, attachment, and selection chips as the chat input. Use **Edit** to move a queued item back into the input, **Send follow-up without interrupting** to add a text follow-up to the current run when that action is available, or **Remove** to delete it from the queue. Items that cannot be sent as follow-ups stay queued until the current run finishes. @@ -119,6 +120,8 @@ After uploading files, AI can answer questions using both file content and table Files uploaded to the conversation and files generated during the conversation are saved in the current chat sandbox. Use **Manage files** to inspect them later. +When a reply presents several files at once, use **Download all** below the file cards to save them as one zip. + ### Memory Memory stores information you explicitly ask Cuppy to remember. Memory is scoped by user and Base: each user in each Base has an independent memory context, and memory saved in another Base will not automatically appear in the current one. @@ -209,7 +212,17 @@ For long-running or repeatable work, use the feature that matches the workflow: - Open the **+** menu and choose **Skills** to import or manage skills, or type `/` in the input box to choose an enabled skill. Use personal skills for your own chats, and current base skills when collaborators in the same base should be able to use the skill. Users who can manage the base can add current base skills. If AI Chat presents a `.skill` file, use **Install** on the file card to add it. + Open the **+** menu and choose **Skills** to import or manage skills, or type `/` in the input box to choose an enabled skill. Choose who can use the skill when you import it: personal for your own chats, base when collaborators in the same base need it, and space when everyone in the space does. Users who can manage the base can add base skills, and space owners and creators can add space skills. If AI Chat presents a `.skill` file, use **Install** on the file card to add it. + + + + Only one version is ever in effect, and the shared team version wins over a personal copy: a base skill beats a space skill, and a space skill beats a personal one. In an app or bot conversation, the skill added for that app or bot comes first. To move everyone to a new version, update the copy in the base or space. + + + + **Manage files** holds two folders: `uploads` for the files you added, and `outputs` for the files produced in the conversation. Both use their own storage, so they survive the sandbox being released or rebuilt and you can come back later to preview, download, or delete them. + + Anything Cuppy writes outside those two folders is temporary, such as intermediate results from a script. It does not appear in **Manage files** and is gone after the sandbox restarts. For results you need to keep, ask Cuppy to write them into `outputs` or back into Teable, or download them while the conversation is open, using **Download all** when a reply produced several files. diff --git a/en/basic/ai/app-builder.mdx b/en/basic/ai/app-builder.mdx index 1049a07..c9449da 100644 --- a/en/basic/ai/app-builder.mdx +++ b/en/basic/ai/app-builder.mdx @@ -37,7 +37,7 @@ The command center for your app. - **Natural Language Editing**: Describe changes like *"Make the header blue"* or *"Add a submission form for new records"*. - **Auto-Routing**: The AI understands which component or page you are referring to and modifies it directly. - **Integrations**: When the app task needs access to a third-party account, App Builder can show a card such as **Connect Slack** in the chat panel. Click **Connect** to authorize with OAuth. Click **Skip** to cancel this authorization; AI continues with the parts it can complete without that connection. -- **Skills**: Open the **+** menu and choose **Skills** to manage skills for this app conversation. App skills are only available to the current app. Type `/` in the input box to choose an enabled skill. +- **Skills**: Open the **+** menu and choose **Skills** to manage skills for this app conversation. A skill added here is only available to the current app, and the skills shared with the app's base and space can be used here as well. Type `/` in the input box to choose an enabled skill. - **Manage files**: Open **+** → **More** → **Manage files** to view files in the app sandbox. Use it to preview supported files, download generated files, or delete files and folders you no longer need. - **Clear Conversation**: If the current conversation has drifted, click **Clear Chat** in the bottom-right corner of the panel to start a new session. This clears the chat history for the current conversation but does not delete the app itself. The first use shows a confirmation, and you can choose not to show it again next time. diff --git a/en/basic/record.mdx b/en/basic/record.mdx index aa33240..a131bfa 100644 --- a/en/basic/record.mdx +++ b/en/basic/record.mdx @@ -49,6 +49,8 @@ Select one or more records, then right-click and choose **Delete record**. For b Deleted records go to the table trash, where you can review and restore them. If you want records out of the table but still available, archive them instead of deleting. See [Archive and Trash](/en/basic/record/archive-trash). +If another table links to the record through a **Required** [Link](/en/basic/field/link) field, Teable refuses the deletion and names the table and field that would be left empty. Point that link at another record, clear the **Required** setting on the field, or delete the linking records together with this one. + ## Record Details 私有化部署商业版及以上适用 + +路径:管理面板 → 技能管理 + +通过 **技能管理**,可以为整个实例发布技能。在这里添加的技能,会出现在所有 AI 对话、App Builder 和 Bot 会话中,适合放置组织内需要统一遵循的做法,例如统一的写作风格、报表口径或对接流程。 + +用户在其他位置添加的技能仍然只在各自作用域内生效。个人、数据库和空间技能请参阅 [AI 对话](/zh/basic/ai/ai-chat)。 + +## 添加技能 + +点击 **导入技能**,选择技能来源: + +| 来源 | 需要提供的内容 | +| --- | --- | +| **GitHub URL** | 仓库中技能目录的链接,例如 `https://github.com/owner/repo/tree/main/skills/my-skill` | +| **ZIP / Skill 文件** | 包含 `SKILL.md` 的 `.zip` 或 `.skill` 文件 | + +如果当前作用域中已存在同名技能,导入会覆盖原有技能。 + +## 管理已发布的技能 + +列表按作用域分组,并标注每个技能的来源。内置技能列在最下方,仅供参考,不可编辑。 + +- 用行末的开关启用或停用技能,不必删除。停用后技能仍留在列表中,但不会提供给 agent 使用。 +- 从 GitHub 导入的技能,可以点击刷新按钮从来源同步最新版本。 +- 点击某一行可以查看 `SKILL.md`,修改名称和描述,下载、替换文件或删除该技能。 + +只有实例管理员可以在此页面添加、修改或删除技能。已发布的技能对所有已登录用户可用。 + +## 出现同名技能时 + +在这里发布的技能是实例默认值。如果数据库、空间、个人、App 或 Bot 中存在同名技能,则在对应会话中以范围更小的技能为准,实例技能不再生效。 diff --git a/zh/basic/ai/ai-chat.mdx b/zh/basic/ai/ai-chat.mdx index cdcbdf1..1f74744 100644 --- a/zh/basic/ai/ai-chat.mdx +++ b/zh/basic/ai/ai-chat.mdx @@ -34,7 +34,8 @@ AI 会优先参考你当前页面中的信息: - **智能**:在模型菜单中单独选择 **智能** 级别,用于控制 AI 的思考强度;级别越高,推理越深入。 - **密钥管理**:打开 **+** 菜单,选择 **密钥管理**,保存 API Key 或其他凭证。AI 对话运行时可通过环境变量读取这些值。已保存的值不会明文展示;需要修改时,输入新值覆盖即可。 - **集成连接**:当 AI 需要访问第三方账号时,会在对话中显示类似 **连接 Slack** 的卡片。点击 **连接** 可通过 OAuth 授权;点击 **跳过** 会取消本次授权,AI 会在不使用该连接的情况下继续处理可完成的部分。 -- **技能**:打开 **+** 菜单,选择 **技能**,可以在当前对话上下文中导入、启用、停用或试用技能。个人技能仅自己可用;当前数据库技能会与当前数据库内协作者共用。在输入框中输入 `/`,可以选择已启用的技能。需要连接或迁移外部系统时,请参阅 [Connect & Migrate Everything](/zh/basic/ai/connect-everything)。 +- **技能**:打开 **+** 菜单,选择 **技能**,可以在当前对话中导入、启用、停用或试用技能。导入时需要选择谁能用这个技能:选 **个人** 只有自己能用,选 **数据库** 则当前数据库的协作者都能用,选 **空间** 则当前空间的所有成员都能用。在输入框中输入 `/`,可以选择已启用的技能。需要连接或迁移外部系统时,请参阅 [Connect & Migrate Everything](/zh/basic/ai/connect-everything)。 +- **上下文用量**:输入框旁的圆环显示当前对话占用了多少模型上下文窗口,点击可查看百分比和 token 数量。上下文接近用满时,Teable 会压缩对话内容;如果希望从干净的上下文开始,可以新建对话。 - **文件管理**:打开 **+** → **更多** → **文件管理**,可以查看当前对话沙箱中的文件。可以预览支持的文件类型、下载文件,也可以删除不再需要的文件或文件夹。需要先开始一段对话,才会有对应文件可管理。 - **排队消息**:如果 AI 仍在工作时继续发送消息,新消息会进入队列。排队项会像输入框一样显示表格、视图、附件和选区标签。可以点击 **编辑** 把排队项移回输入框;当 **发送补充,不中断模型运行** 可用时,可将纯文本补充发送给当前任务;也可以点击 **移除** 从队列删除。无法作为补充发送的排队项,会等当前任务结束后再继续发送。 @@ -119,6 +120,8 @@ AI 可以根据已经查询到的数据生成一次性的 HTML 预览,适合 上传到对话中的文件,以及对话中生成的文件,会保存在当前对话沙箱中,之后可通过 **文件管理** 查看。 +当一条回复同时生成多个文件时,可以点击文件卡片下方的 **下载全部**,把它们打包成一个压缩包下载。 + ### 记忆 记忆用于保存你明确要求 Cuppy 记住的信息。记忆会按用户和数据库隔离:每个用户在每个数据库中都有独立的记忆,保存在其他数据库中的记忆不会自动出现在当前数据库。 @@ -209,7 +212,17 @@ AI 对话的单次对话环境最长可运行约 24 小时,足以完成大多 - 打开 **+** 菜单并选择 **技能**,可以导入或管理技能;也可以在输入框中输入 `/` 选择已启用的技能。个人技能适合自己使用;需要让同一个数据库中的协作者也能使用时,可以使用当前数据库技能。拥有数据库管理权限的用户可以添加当前数据库技能。如果 AI 对话生成了 `.skill` 文件,可以在文件卡片上点击 **安装** 来添加。 + 打开 **+** 菜单并选择 **技能**,可以导入或管理技能;也可以在输入框中输入 `/` 选择已启用的技能。导入时按使用范围选择:只有自己用,选个人;同一个数据库的协作者都要用,选数据库;整个空间都要用,选空间。拥有数据库管理权限的用户可以添加数据库技能,空间的所有者和创建者可以添加空间技能。如果 AI 对话生成了 `.skill` 文件,可以在文件卡片上点击 **安装** 来添加。 + + + + 同名技能只会生效一个,团队共用的版本优先于个人版本:数据库技能优先于空间技能,空间技能优先于个人技能;在 App 或 Bot 的对话中,为它单独添加的技能最优先。想让所有人换用新版本,就更新数据库或空间中的那一份。 + + + + **文件管理** 里只有两个目录:`uploads` 存放你上传的文件,`outputs` 存放对话中生成的文件。这两个目录使用独立存储,沙箱释放或重建后内容仍然在,可以随时回来预览、下载或删除。 + + Cuppy 在这两个目录之外写的文件属于临时文件,例如脚本运行时的中间产物。它们不会出现在 **文件管理** 中,沙箱重启后也不再保留。需要长期留存的结果,请让 Cuppy 写入 `outputs`、写回 Teable,或者及时下载(一条回复生成多个文件时可以用 **下载全部**)。 diff --git a/zh/basic/ai/app-builder.mdx b/zh/basic/ai/app-builder.mdx index f6617ce..6f97e83 100644 --- a/zh/basic/ai/app-builder.mdx +++ b/zh/basic/ai/app-builder.mdx @@ -38,7 +38,7 @@ Teable 应用构建器 (App Builder) 允许您在不编写代码的情况下, - **自然语言编辑**:描述您想做的更改,如 *"把标题改成蓝色"* 或 *"添加一个新记录提交表单"*。 - **智能路由**:AI 能够理解您指的是哪个组件或页面,并直接对其进行修改。 - **集成连接**:当应用任务需要访问第三方账号时,应用构建器会在对话面板中显示类似 **连接 Slack** 的卡片。点击 **连接** 可通过 OAuth 授权;点击 **跳过** 会取消本次授权,AI 会在不使用该连接的情况下继续处理可完成的部分。 -- **技能**:打开 **+** 菜单,选择 **技能**,可以管理当前应用对话可用的技能。App 技能仅在当前应用中可用。在输入框中输入 `/`,可以选择已启用的技能。 +- **技能**:打开 **+** 菜单,选择 **技能**,可以管理当前应用对话可用的技能。这里添加的 App 技能只在当前应用中可用;应用所属数据库和空间中共用的技能,在这里也能直接使用。在输入框中输入 `/`,可以选择已启用的技能。 - **文件管理**:打开 **+** → **更多** → **文件管理**,可以查看当前应用沙箱中的文件,用于预览支持的文件类型、下载生成文件,或删除不再需要的文件和文件夹。 - **清除对话历史**:如果当前对话已经跑偏,可点击面板右下角的 **清除对话**,重新开始一个新的会话。这样会丢失当前对话的历史上下文,但不会删除应用本身。首次使用会弹出确认,并可选择下次不再提示。 diff --git a/zh/basic/record.mdx b/zh/basic/record.mdx index 31d8852..6912724 100644 --- a/zh/basic/record.mdx +++ b/zh/basic/record.mdx @@ -49,6 +49,8 @@ description: "记录是表格中存储数据的基本单元。表格视图中, 删除的记录会进入表格回收站,可以在那里查看和恢复。想让记录离开表格但仍然留着,就用归档代替删除。详情请看[归档与回收站](/zh/basic/record/archive-trash)。 +如果其他表通过设为 **必填** 的[关联](/zh/basic/field/link)字段引用了这条记录,删除会被拒绝,并提示哪张表的哪个字段会因此变空。可以把该关联改指向其他记录、取消该字段的 **必填** 设置,或者把引用它的记录一起删除。 + ## 记录详情