
Label Studio 用户账户与设置完整指南个人资料、自定义快捷键与 API 访问令牌【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio本文聚焦 Label Studio 的Account Settings账户与设置页面系统讲解个人资料维护、快捷键自定义与导入导出、邮箱通知偏好、组织会员信息以及个人访问令牌Personal Access Token与传统令牌Legacy Token的生成、刷新与 HTTP API 用法。读完本文你将掌握在 Label Studio 中管理自身账户信息、通过 API 令牌安全调用 SDK 与 HTTP 接口的完整方案。在 Label Studio 中进入Account Settings页面的方式非常简单点击右上角的用户图标在下拉菜单中选择Account Settings即可。该入口面向所有版本的用户社区版与 Enterprise 版界面略有差异功能一致。从源码上看该页面由 用户账户视图 渲染登录用户可在此查看并更新自己的个人资料同时页面会读取当前用户的 API Token 用于展示。个人资料Personal info账户创建完成后你可以随时更新以下个人信息First name名Last name姓Phone number电话号码Profile image头像要求图片尺寸不超过1200 × 1200 像素文件大小不超过1024 KB1 MB邮箱地址不能修改。在 Label Studio 中邮箱就是你的用户名登录凭证因此无法在账户内直接更换。如果确实需要变更邮箱只能使用新邮箱地址重新创建一个用户。源码视角头像校验与用户模型头像限制并非仅停留在界面提示后端对上传文件有严格的校验逻辑位于 头像校验函数使用get_image_dimensions读取图片真实宽高超过1200 × 1200时抛出ValidationError仅允许jpeg、jpg、gif、png四种扩展名并校验content_type是否为image/*文件大小上限为1024 * 1024字节即 1024 KB超出即被拒绝。而用户模型 User 中对应的字段为first_name、last_name、phone、avatarImageField头像上传后经由hash_upload以 UUID 短前缀重命名存储。序列化层面BaseUserSerializerUpdate 将email声明为read_only_fields且在partial_update时若尝试修改只读字段会直接抛出MethodNotAllowed从 API 层面再次保证了邮箱不可更新这一约束。快捷键HotkeysHotkeys 页面用于为你的用户账户配置自定义快捷键键盘快捷方式适用于标注界面中的各类操作。快捷操作ActionsAction操作Description说明Export Hotkeys导出一个 JSON 文件可分享给其他 Label Studio 用户使用Import Hotkeys粘贴 JSON 格式的自定义快捷键映射快速导入他人配置Reset to Defaults将所有快捷键恢复为默认值设置自定义快捷键为某个动作设置快捷键时点击该动作旁边显示的默认快捷键在弹出提示后按下你想要使用的新按键组合即可完成替换。注意每个快捷键可以是一个单字符键数字、字母或符号也可以是字符键与多个控制键的组合例如Shift、Control、Option等。源码视角快捷键的存储、校验与 API自定义快捷键并非仅仅存在浏览器本地而是持久化保存在用户模型中User 模型包含custom_hotkeys字段JSONField默认dict注释明确其为用户界面的自定义键盘快捷键配置见 用户模型。围绕快捷键后端提供了专门的校验与接口校验规则HotkeysSerializer快捷键以{section:action: {key: 键位组合, active: true/false}}的字典格式提交active字段可选、默认为true。校验包括每个 action key 必须符合section:action格式section 与 action 均非空且总长度不超过 100 字符单个键位组合长度不超过 50 字符且只能包含字母、数字、修饰键与基础符号通过白名单正则校验防止恶意字符注入自定义快捷键总数上限为200 个防止滥用内置了危险组合黑名单如ctrlaltdelete、altf4、ctrlshiftesc、alttab、cmdspace等系统级快捷键会被直接拒绝避免与操作系统快捷键冲突。接口UserHotkeysAPIGET /api/current-user/hotkeys/与PATCH /api/current-user/hotkeys/用于读取与更新当前用户的快捷键配置接口还支持可选参数?projectproject_id用于保存项目级别的个人快捷键覆盖——此时配置会写入ProjectHotkeyPreference表而非用户表调用前会校验项目必须属于当前用户所在组织且用户对该项目有访问权限见 get_hotkey_project。邮箱偏好Email preferences在此页面可以选择希望接收的电子邮件通知类型。对应的用户模型字段为allow_newsletters布尔值用于控制是否允许向用户发送新闻通讯。在 UserAPI.partial_update 中可以看到更新allow_newsletters时会同步写入advanced_json中的email、allow_newsletters、update-notifications等元数据供系统跟踪用户通知偏好变化。会员信息Membership info该页面展示与你所在组织相关的信息例如组织的创建时间以及Owner组织所有者的邮箱地址——Owner 即最初创建该 Label Studio 组织的用户。Enterprise 版还可以在此查看你的用户角色以及贡献概览contribution summary社区版同样可以查看高层的贡献概览。从源码看贡献概览的统计逻辑位于 User 模型active_organization_annotations()统计当前活动组织下的全部标注记录active_organization_contributed_project_number()则统计你贡献标注的去重项目数量。组织元信息标题与 Owner 邮箱则由 get_active_organization_meta 序列化输出。个人访问令牌Personal access token注意该选项是否显示取决于组织级别的令牌设置需先在组织设置中启用 API keys。点击Create即可生成一个个人访问令牌。生成时请务必将其保存到安全的地方因为该令牌只会在生成时显示一次之后无法再次查看。个人访问令牌可以无缝用于 Label Studio SDK但如果要通过 HTTP API 使用需要额外步骤详见下文令牌与 API章节。Enterprise 版中组织管理员还可以为所有个人访问令牌统一设置过期时间。令牌与 API个人访问令牌 vs 传统令牌Label Studio 中access tokens访问令牌与API keys是同一概念可互换使用。两种令牌对比如下特性个人访问令牌PAT传统令牌Legacy Token有效期可在组织层面设置 TTL仅 Enterprise不过期可见性仅生成时可见一次在账户设置中一直列出可见类型JWT refresh token静态 Token撤销可手动撤销可手动撤销RenewHTTP API需先用它换取短期 access token请求头使用Authorization: Bearer token无需刷新请求头直接使用Authorization: Token tokenSDK只需设置一次只需设置一次SDK 用法两种令牌一致# 定义 Label Studio 的访问地址和当前用户账户的 API key LABEL_STUDIO_URL http://localhost:8080 # API key 可以是个人访问令牌或传统令牌 LABEL_STUDIO_API_KEY your-token # 导入 SDK 与客户端模块 from label_studio_sdk import LabelStudio # 连接 Label Studio API client LabelStudio(base_urlLABEL_STUDIO_URL, api_keyLABEL_STUDIO_API_KEY)HTTP API 用法个人访问令牌由于 PAT 是 JWT refresh token必须先用它换取短期的 access token再以该 access token 进行 API 认证。换取方式为向/api/token/refresh发送 POST 请求将 PAT 放在 JSON 请求体中curl -X POST your-label-studio-url/api/token/refresh \ -H Content-Type: application/json \ -d {refresh: your-personal-access-token}响应将返回类似如下的 JSON 载荷{ access: your-new-access-token }之后在 API 请求中通过Authorization: Bearer请求头携带该 access tokencurl -X method Label Studio URL/api/endpoint -H Authorization: Bearer your-new-access-token该 access token 大约5 分钟后过期届时会收到 401 响应需要用 PAT 再次换取新 token——这为 API 调用增加了一层额外安全防护。你也可以用以下脚本检查 token 的过期时间# pip install pyjwt from datetime import datetime, timezone import jwt decoded jwt.decode(token) exp decoded.get(exp) token_is_expired (exp datetime.now(timezone.utc).timestamp())HTTP API 用法传统令牌传统令牌无需刷新直接以Authorization: Token请求头注意与 PAT 的Bearer头不同发送请求curl -X method Label Studio URL/api/endpoint -H Authorization: Token token源码视角令牌的生成与 API 端点令牌机制在后端有完整支撑每个用户注册成功时post_save 信号 会自动为该用户创建一条Token记录reset_token 会删除旧 token 并新建实现令牌轮换对应的 API 端点在 用户路由 中定义POST /api/current-user/reset-token/重置当前用户令牌返回新 token对应界面上的Renew操作由 UserResetTokenAPI 实现GET /api/current-user/token获取当前用户的令牌由 UserGetTokenAPI 实现令牌认证的完整说明、组织级启用开关与 TTL 配置详见 访问令牌指南。传统令牌Legacy token注意该选项是否显示同样取决于组织级别的令牌设置。传统令牌是系统预生成给你的令牌。对于某些 API 任务而言传统令牌使用起来更简单但总体而言安全性不如个人访问令牌因为它不过期必须手动撤销。点击Renew可以生成一个新令牌。注意任何使用旧令牌的现有脚本都会随之失去授权需要更新为包含新令牌才能继续工作。延伸阅读访问令牌详解个人访问令牌与传统令牌的完整对比与启用方式用户角色与权限说明Enterprise用户模型与令牌实现源码账户与热键 API 实现源码用户相关路由定义源码【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考