Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ANON_API_KEYYesThe ANON API key, in the format anonk_ followed by 64 hexadecimal characters. Login JWT is not accepted. Required.
ANON_MODULESNoComma-separated module whitelist, e.g. project,todos,dashboard,announcements. Empty means all modules. Identity and health tools are always enabled.
ANON_BASE_URLNoThe ANON instance origin URL. Also accepts URLs ending in /api; a frontend reverse proxy address may also be used.http://localhost:4000
ANON_READ_ONLYNoWhen set to true, only GET tools are exposed and write calls are rejected.false
ANON_PROJECT_IDNoOptional. Automatically obtained by default. Can be used to additionally verify the project that the API key belongs to.
ANON_TIMEOUT_MSNoTimeout for each HTTP request in milliseconds. Range: 100 to 300000.30000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
anon_delete_accounts_account_idA

删除平台账号。需 accounts:manage 权限且当前用户在该账号可见范围内。 DELETE /api/projects/{id}/accounts/{accountId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_announcements_announcement_idA

删除公告。需 announcement:manage 权限。同时删除全部确认记录。 DELETE /api/projects/{id}/announcements/{announcementId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_custom_tools_tool_idA

删除自定义工具。需 tools:manage 权限。删除工具并级联作废该工具签发的全部 API 密钥。 DELETE /api/projects/{id}/custom-tools/{toolId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_finance_tx_idA

删除账目。需 finance:manage 或 finance:add 权限。财务管理者可删任意账目;finance:add 记账者仅能删自己添加的账目,删他人账目返回 403。 DELETE /api/projects/{id}/finance/{txId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_lostfound_item_idA

删除失物。需 lostfound:manage 权限。级联删除照片原图/预览图存储对象与 File 文档。 DELETE /api/projects/{id}/lostfound/{itemId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_materials_resource_idA

删除资源。需 materials:manage 权限。删除资源及其全部版本与文件。 DELETE /api/projects/{id}/materials/{resourceId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_materials_types_type_idA

删除资源类型。需 materials:manage 权限。类型下仍有资源时返回 400。 DELETE /api/projects/{id}/materials/types/{typeId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_members_user_idA

移除成员。需 member:manage 权限。不能移除自己。 DELETE /api/projects/{id}/members/{userId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_milestones_milestone_idA

删除里程碑。需 project:manage 权限。 DELETE /api/projects/{id}/milestones/{milestoneId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_physical_categories_cat_idA

删除实物分类。需 materials:manage 权限。分类下仍有物资时拒绝删除。 DELETE /api/projects/{id}/physical/categories/{catId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_physical_items_item_idA

删除物资条目。需 materials:manage 权限。级联删除该物资的变动日志。 DELETE /api/projects/{id}/physical/items/{itemId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_qq_binding_group_open_idB

按群解绑项目 QQ 群。需 project:manage 权限。从项目的 qqGroups 中移除指定群(幂等,群不存在时返回原列表)。QQ 侧把机器人移出群(GROUP_DEL_ROBOT 事件)也会自动解绑。 DELETE /api/projects/{id}/qq-binding/{groupOpenId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_roles_role_nameA

删除角色。需 role:manage 权限。仍有成员使用时返回 409。 DELETE /api/projects/{id}/roles/{roleName} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_stage_rundowns_ridA

删除 Rundown。需 tools:manage 权限。级联删除全部节目的素材文件(存储对象与 File 文档)与现场大屏分享文档。执行中禁止删除(409)。 DELETE /api/projects/{id}/stage-rundowns/{rid} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_stage_rundowns_rid_items_item_idA

删除节目。需 tools:manage 权限。删除节目并级联清理其附件文件。执行中禁止编排变更(409)。 DELETE /api/projects/{id}/stage-rundowns/{rid}/items/{itemId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_stage_signups_sidA

删除报名批次。需 tools:manage 权限。 DELETE /api/projects/{id}/stage-signups/{sid} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_stage_signups_sid_items_item_idB

删除报名节目。需 tools:manage 权限。 DELETE /api/projects/{id}/stage-signups/{sid}/items/{itemId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_stage_signups_sid_items_item_id_reviewA

撤回本人投票。需 tools:manage 权限。没有本人投票则幂等返回。 DELETE /api/projects/{id}/stage-signups/{sid}/items/{itemId}/review 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_stages_stage_idA

删除项目阶段。需 project:manage 权限。删除后关联里程碑自动改为不关联阶段。返回形态同 GET 阶段列表。 DELETE /api/projects/{id}/stages/{stageId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_todos_todo_idA

删除待办。需 todo:manage 权限。 DELETE /api/projects/{id}/todos/{todoId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_delete_work_modules_midA

删除任务模块。需 work:manage 权限。 DELETE /api/projects/{id}/work-modules/{mid} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_accountsA

列出平台账号。项目成员可用,仅返回当前用户可见范围内(visibility 校验)的账号,不含密文/明文。超管不受可见范围限制。 GET /api/projects/{id}/accounts 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_activitiesA

列出项目动态。需项目成员身份。按创建时间倒序;带权限门(permissionGate)的动态仅对拥有该权限点(或 project:manage)的成员可见。 GET /api/projects/{id}/activities 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_announcementsA

列出公告。需项目成员身份。置顶优先,其后按发布时间倒序;按当前用户可见范围过滤,total 为可见总数。 GET /api/projects/{id}/announcements 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_announcements_announcement_id_confirmationsA

查看公告确认情况。需 announcement:manage 权限。按项目全体成员拆分为已确认/未确认两组。 GET /api/projects/{id}/announcements/{announcementId}/confirmations 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_custom_toolsA

列出自定义工具。项目成员可查看,按 createdAt 升序;创建者已注销显示「未知用户」。 GET /api/projects/{id}/custom-tools 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_dashboardB

获取工作台聚合数据。需项目成员身份。聚合首屏数据,按权限裁剪(无财务权限点时 summary.modules.finance 为 null)。 GET /api/projects/{id}/dashboard 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_dashboard_my_actionsA

获取本人待行动项。需项目成员身份。指派给本人的未完成待办 + 未确认的现场任务;逾期优先,再按 dueAt 升序,无日期排最后。 GET /api/projects/{id}/dashboard/my-actions 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_dashboard_preferencesA

获取工作台偏好。需项目成员身份。无记录时返回默认值(defaultView 依权限默认为 project/personal)。 GET /api/projects/{id}/dashboard/preferences 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_dashboard_scheduleA

获取日程分组。需项目成员身份。 GET /api/projects/{id}/dashboard/schedule 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_dashboard_summaryA

获取仪表盘汇总。需项目成员身份。 GET /api/projects/{id}/dashboard/summary 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_financeA

列出账目与汇总。任一项目成员可用。财务管理者(finance:manage 或 project:manage)见全部账目与完整汇总;finance:add 记账者仅见自己添加的账目且 summary 为 null。transactions 按创建时间倒序。 GET /api/projects/{id}/finance 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_finance_exportA

导出账目 CSV。需 finance:manage 权限。导出目标成员相关账目(其为付款人、或 splitAmong 为空、或其在 splitAmong 中),按创建时间升序。响应为 text/csv; charset=utf-8,UTF-8 带 BOM,Content-Disposition:attachment;列为 日期,类型,金额(元),付款人,参与平摊,备注,添加人。 GET /api/projects/{id}/finance/export 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_healthA

健康检查。 GET /api/health

anon_get_lostfoundA

列出失物。项目成员可查看。按 foundAt 倒序,上限 200 条。 GET /api/projects/{id}/lostfound 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_lostfound_item_idA

获取失物详情。项目成员可查看。 GET /api/projects/{id}/lostfound/{itemId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_lostfound_item_id_photoA

获取失物照片。项目成员可读。有 WebP 预览时优先返回预览,否则返回原图;无照片返回 404。 GET /api/projects/{id}/lostfound/{itemId}/photo 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_lostfound_shareA

获取失物招领公开分享信息。需 lostfound:manage 权限。惰性创建分享文档(默认 enabled 为 false + 随机 token,重复 GET token 不变)。公开页地址为 {站点源}/lf/。 GET /api/projects/{id}/lostfound/share 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_materialsB

列出资源。项目成员可用,仅返回可见范围内的资源(可见范围优先于权限点)。 GET /api/projects/{id}/materials 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_materials_resource_idA

获取资源详情。项目成员可用;资源不可见(可见范围过滤)时返回 403。 GET /api/projects/{id}/materials/{resourceId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_materials_resource_id_previewA

预览资源最新版本。项目成员且通过可见范围校验。取最新版本——有缩略预览时返回 image/webp;无预览但文件 mime 命中内联白名单(位图、PDF、Markdown、常见音视频)时返回原始文件流;否则 404。 GET /api/projects/{id}/materials/{resourceId}/preview 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_materials_resource_id_versionsA

列出版本。项目成员且通过可见范围校验。按版本号倒序。 GET /api/projects/{id}/materials/{resourceId}/versions 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_materials_resource_id_versions_version_downloadA

下载指定版本原文件。项目成员且通过可见范围校验。响应带 Content-Disposition:attachment。 GET /api/projects/{id}/materials/{resourceId}/versions/{version}/download 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_materials_resource_id_versions_version_previewA

预览指定版本。项目成员且通过可见范围校验。有缩略预览时返回 image/webp;无预览但文件 mime 命中内联白名单(位图、PDF、Markdown、常见音视频)时返回原始文件流;否则 404。 GET /api/projects/{id}/materials/{resourceId}/versions/{version}/preview 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_materials_typesA

列出资源类型。项目成员可用,仅返回可见范围内的类型。 GET /api/projects/{id}/materials/types 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_milestonesA

列出里程碑。需项目成员身份。按 date 升序。 GET /api/projects/{id}/milestones 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_onsiteA

现场模式聚合。现场模式聚合接口(项目成员)。myModules 为指派给本人的模块(含本人确认/签到/完成状态与 state 流转);emergency 为可见的紧急/重要公告(≤5 条);contacts 为填写了联系方式的成员;incidents 按权限可见(work:manage 见全部,普通成员仅自己上报的);rundowns 为舞台执行聚合(≤5 条,执行中的 Rundown 恒在列,未开始的仅取开始时间 ±24h 窗口内);myPermissions 为本人权限点数组(前端据此显隐现场页权限入口)。 GET /api/projects/{id}/onsite 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_onsite_incidentsA

列出现场异常。work:manage/project:manage 见全部,普通成员仅见自己上报的;按时间倒序,最多 50 条。 GET /api/projects/{id}/onsite/incidents 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_open_meA

查看当前 API 密钥身份。需 API 密钥调用;permissions 为密钥 scopes 与持有者实时角色权限的交集。 GET /api/open/me

anon_get_physical_categoriesA

列出实物分类。项目成员可用。按 order 升序返回;首次访问若项目无任何分类,自动填充默认 6 类(印刷品/设备器材/装饰布置/耗材文具/证件票券/其他)。 GET /api/projects/{id}/physical/categories 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_physical_itemsA

列出物资条目。项目成员可用。支持按分类/状态/负责人/标签筛选与排序。 GET /api/projects/{id}/physical/items 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_physical_items_item_idA

获取物资条目。项目成员可用。跨项目访问返回 404。 GET /api/projects/{id}/physical/items/{itemId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_physical_items_item_id_logsA

列出物资变动日志。项目成员可用。按时间倒序,最多 100 条。 GET /api/projects/{id}/physical/items/{itemId}/logs 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_physical_summaryA

实物清单汇总。项目成员可用。返回总计与按分类聚合的计划/在库/使用/损耗/条目数。 GET /api/projects/{id}/physical/summary 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_projectA

获取项目详情。项目成员或超管可访问。超管的 myRole 固定为「超级管理员」。 GET /api/projects/{id} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_risksA

列出风险预警。需项目成员身份。仅返回 active 与 ignored 状态;排序为级别 critical→warning→info,同级按最近检测时间倒序。 GET /api/projects/{id}/risks 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_stage_rundownsA

列出 Rundown。项目成员可查看。按 startAt、createdAt 升序;totalDurationMin 为全部节目时长之和。每项目可建多份 Rundown(如 Day1/Day2、主/副舞台)。 GET /api/projects/{id}/stage-rundowns 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_stage_rundowns_ridA

获取 Rundown 详情。项目成员可查看。附件已解析为 StageRundownAttachment;缺失的文件 id 跳过。跨项目 rid 按 404 处理。 GET /api/projects/{id}/stage-rundowns/{rid} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_stage_rundowns_rid_screen_shareB

获取大屏分享信息。需 tools:manage 权限。惰性创建分享文档后返回(初始 enabled 为 false)。 GET /api/projects/{id}/stage-rundowns/{rid}/screen-share 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_stage_signupsA

列出报名批次。项目成员可查看,按 startAt、createdAt 升序。 GET /api/projects/{id}/stage-signups 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_stage_signups_sidA

获取报名批次详情。项目成员可查看。 GET /api/projects/{id}/stage-signups/{sid} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_stagesA

列出项目阶段。项目成员可访问。stages 按 order 升序;currentStageIndex 为第一个未完成阶段的下标,全部完成为 -1。 GET /api/projects/{id}/stages 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_todosA

列出待办。需项目成员身份。支持按分类/指派人/状态过滤与排序。 GET /api/projects/{id}/todos 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_todos_template_exportA

导出待办模板。需项目成员身份。offset = 原时间字段 − 项目锚点时间(毫秒,可为负)。 GET /api/projects/{id}/todos/template/export 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_work_modulesA

列出任务模块。列出项目全部现场任务模块,按创建时间升序。需项目成员身份。 GET /api/projects/{id}/work-modules 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_work_sheetA

查看本人任务单。本人的现场任务单(项目成员)。items 按 startAt、createdAt 升序;无分配时为空数组。 GET /api/projects/{id}/work-sheet 项目由当前 API 密钥自动确定,无需传 projectId。

anon_get_work_sheet_user_idA

查看指定成员任务单。需 work:manage 权限(project:manage 等价放行,超管不受限)。 GET /api/projects/{id}/work-sheet/{userId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_accounts_account_idA

更新平台账号。需 accounts:manage 权限且当前用户在该账号可见范围内。可更新 platform/account/mode/note/visibility;改密码传 password(server)或 passwordCipher(user,仅 full 模式);mode 改为非 full 时清除密码。 PATCH /api/projects/{id}/accounts/{accountId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_announcements_announcement_idA

更新公告。需 announcement:manage 权限。字段均可选;expiresAt 传 null 清除过期时间。 PATCH /api/projects/{id}/announcements/{announcementId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_custom_tools_tool_idA

更新自定义工具。需 tools:manage 权限。部分更新,校验同创建。 PATCH /api/projects/{id}/custom-tools/{toolId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_dashboard_preferencesB

更新工作台偏好。需项目成员身份。字段均可选;卡片数组各截断至 20 条;幂等 upsert。 PATCH /api/projects/{id}/dashboard/preferences 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_finance_ticketA

设置门票。需 finance:manage 权限。支持两种请求体——多票种(ticketTypes 数组,0~20 个,保存时清零旧单票字段)与旧单票格式(ticketPrice + ticketCount,兼容保留);响应形态随请求体而定。 PATCH /api/projects/{id}/finance/ticket 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_finance_tx_idA

编辑账目。需 finance:manage 或 finance:add 权限。财务管理者可改任意账目;finance:add 记账者仅能改自己添加的账目,改他人账目返回 403。不修改附件。 PATCH /api/projects/{id}/finance/{txId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_lostfound_item_idA

更新失物。需 lostfound:manage 权限。multipart 表单,字段同登记(均可选);另支持 removePhoto=1 移除照片(级联删除存储对象与 File 文档)。换新照片时先持久化新照片再删旧照片。 PATCH /api/projects/{id}/lostfound/{itemId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_lostfound_item_id_statusA

流转失物认领状态。需 lostfound:manage 权限。claimed 记录 claimedAt 并保存 claimNote(未提供则保留原值);pending 清空 claimedAt 与 claimNote;其余状态值 400「无效的状态」。 PATCH /api/projects/{id}/lostfound/{itemId}/status 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_materials_resource_idB

编辑资源。需 materials:manage 权限。 PATCH /api/projects/{id}/materials/{resourceId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_materials_types_type_idA

编辑资源类型。需 materials:manage 权限。 PATCH /api/projects/{id}/materials/types/{typeId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_members_user_idA

修改成员角色。需 member:manage 权限。 PATCH /api/projects/{id}/members/{userId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_milestones_milestone_idA

更新里程碑。需 project:manage 权限。字段同创建(均可选),另可加 completedAt(传 null 取消完成)。 PATCH /api/projects/{id}/milestones/{milestoneId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_physical_categories_cat_idB

更新实物分类。需 materials:manage 权限。 PATCH /api/projects/{id}/physical/categories/{catId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_physical_categories_reorderA

重排实物分类。需 materials:manage 权限。按给定 id 数组顺序重排分类。 PATCH /api/projects/{id}/physical/categories/reorder 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_physical_items_item_idA

更新物资条目。需 materials:manage 权限。字段同新建(均可选);responsibleId 传 null 或空字符串清除负责人。 PATCH /api/projects/{id}/physical/items/{itemId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_projectA

更新项目信息。需 project:manage 权限。全部字段可选;startDate/endDate 传空值清除。 PATCH /api/projects/{id} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_qq_binding_group_open_idA

配置单个群的订阅消息类型。需 project:manage 权限。types 去重后整体覆盖该群的订阅类型;每个值须为精选 7 类之一(milestone:approaching / todo:remind / todo:due / announcement:published / risk:new / incident:reported / weekly:report),空数组表示该群不接收任何群消息。 PATCH /api/projects/{id}/qq-binding/{groupOpenId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_roles_role_nameA

更新角色权限。需 role:manage 权限。roleName 需 URL 编码。 PATCH /api/projects/{id}/roles/{roleName} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_stage_rundowns_ridA

更新 Rundown。需 tools:manage 权限。请求字段同创建(均可选);name 提供但 trim 后为空、startAt 提供但不可解析返回 400。执行中(execution.status 为 running)仅 name/note 可改,修改 startAt 返回 409。 PATCH /api/projects/{id}/stage-rundowns/{rid} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_stage_rundowns_rid_items_item_idA

更新节目。需 tools:manage 权限。multipart 表单,字段同新增(均可选)。removeAttachmentIds 命中的附件从节目移除并级联删除存储对象与 File 文档;新上传文件追加在附件列表末尾。执行中禁止编排变更(409)。 PATCH /api/projects/{id}/stage-rundowns/{rid}/items/{itemId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_stage_rundowns_rid_items_reorderA

重排节目顺序。需 tools:manage 权限。order 必须与现有节目一一对应(长度相等、id 集合完全相同),否则 400。执行中仅可在未执行节目槽位内重排:当前节目或已有实际记录的节目所在位置必须原样,否则 409「执行中仅可调整未执行节目的顺序」。 PATCH /api/projects/{id}/stage-rundowns/{rid}/items/reorder 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_stage_signups_sidA

更新报名批次。需 tools:manage 权限。字段均可选,合并后仍需 endAt 晚于 startAt。 PATCH /api/projects/{id}/stage-signups/{sid} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_stage_signups_sid_items_item_idA

更新报名节目。需 tools:manage 权限。字段均可选,校验同新增。 PATCH /api/projects/{id}/stage-signups/{sid}/items/{itemId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_stage_signups_sid_items_item_id_statusA

拍板节目状态。需 tools:manage 权限。拍板状态,与投票互不影响;其余状态值 400「无效的状态」。 PATCH /api/projects/{id}/stage-signups/{sid}/items/{itemId}/status 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_stages_reorderA

调整阶段顺序。需 project:manage 权限。orderedIds 为全量阶段 id,按新顺序排列。返回形态同 GET 阶段列表。 PATCH /api/projects/{id}/stages/reorder 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_stages_stage_idA

更新项目阶段。需 project:manage 权限。completedAt 传 null 取消完成;标记完成即推进「当前阶段」(由完成态推导,无独立切换端点)。返回形态同 GET 阶段列表。 PATCH /api/projects/{id}/stages/{stageId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_todos_todo_idB

更新待办。需 todo:manage 权限。字段均可选;status 置 open 会清除完成信息。 PATCH /api/projects/{id}/todos/{todoId} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_patch_work_modules_midA

更新任务模块。需 work:manage 权限。字段均可选;startAt/endAt 需成对提交,任一键出现时两值同时重建,单传其一将把另一清空。替换 assigneeIds 时留任成员保留确认记录,被移除者清除。 PATCH /api/projects/{id}/work-modules/{mid} 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_accountsA

新增平台账号。需 accounts:manage 权限。mode 为 full 时密码二选一:浏览器加密(默认)传 passwordCipher(ANONv1 格式密文,服务端原样存储);服务端加密传 cipherKeySource=server 加 password 明文(服务端加密后存储)。otp/contact 模式不传密码字段。 POST /api/projects/{id}/accounts 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_announcementsA

发布公告。需 announcement:manage 权限(project:manage 等价放行)。重要/紧急公告发布时向可见范围内成员发通知。 POST /api/projects/{id}/announcements 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_announcements_announcement_id_confirmB

确认知悉公告。需项目成员身份且在公告可见范围内。「我已知悉」确认,幂等不刷新时间戳。 POST /api/projects/{id}/announcements/{announcementId}/confirm 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_custom_toolsA

创建自定义工具。需 tools:manage 权限。name 必填且 ≤50;url 必须可解析且协议为 http/https(≤1000,否则 400 invalid_url);mode 缺省 embed;description ≤200;scopes 超集静默过滤。 POST /api/projects/{id}/custom-tools 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_filesA

上传项目文件。需 file:upload 权限。单文件上传,大小不超过 20MB。 POST /api/projects/{id}/files 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_financeA

新建账目。需 finance:manage 或 finance:add 权限。金额以元提交(最多两位小数),服务端转换为整数分。payerUserId 与 splitAmong 必须是项目成员。 POST /api/projects/{id}/finance 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_invitesA

创建项目邀请。需 member:manage 权限。不传 targetUserId 为开放链接(任何登录用户可接受,一次性);传入则仅该用户可接受。前端拼 location.origin + url 发给对方。 POST /api/projects/{id}/invites 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_lostfoundA

登记失物。需 lostfound:manage 权限(project:manage 等价放行,超管不受限)。multipart 表单;name 必填且 trim 后非空;foundAt 可选(非法 400「无效的时间」,缺省为当前时间);photo 可选单张、仅图片(否则 400「仅支持图片文件」)且 ≤20MB,自动生成 WebP 预览(≤800px、≤100KB)。 POST /api/projects/{id}/lostfound 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_materialsA

创建资源。需 materials:manage 权限。支持 JSON 与 multipart 两种请求体;multipart 附带 file(可选,≤20MB,上传即创建版本 1)与 note(首版本备注),位图文件自动生成 WebP 缩略预览。 POST /api/projects/{id}/materials 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_materials_resource_id_versionsA

上传新版本。需 materials:manage 权限。版本号自动递增并成为当前版;mime 命中位图白名单(png/jpeg/webp/gif)时自动生成 WebP 缩略预览(宽 ≤800px,体积 ≤100KB)。 POST /api/projects/{id}/materials/{resourceId}/versions 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_materials_typesB

创建资源类型。需 materials:manage 权限。 POST /api/projects/{id}/materials/types 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_milestonesA

创建里程碑。需 project:manage 权限。 POST /api/projects/{id}/milestones 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_milestones_milestone_id_completeA

标记里程碑完成。需 project:manage 权限。completedAt 置为当前时间;重复调用会刷新完成时间。 POST /api/projects/{id}/milestones/{milestoneId}/complete 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_onsite_incidentsA

上报现场异常。项目成员上报异常并通知项目管理者。moduleId 须为本项目任务模块。 POST /api/projects/{id}/onsite/incidents 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_onsite_incidents_iid_resolveB

标记异常已处理。需 work:manage 权限。记录处理人与时间;已处理时幂等不刷新。 POST /api/projects/{id}/onsite/incidents/{iid}/resolve 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_physical_categoriesA

新建实物分类。需 materials:manage 权限(project:manage 等价放行,超管不受限)。 POST /api/projects/{id}/physical/categories 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_physical_itemsA

新建物资条目。需 materials:manage 权限。数量字段须为非负整数;responsibleId 须为项目成员。 POST /api/projects/{id}/physical/items 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_physical_items_item_id_logA

记录物资数量变动。需 materials:manage 权限。数量类变动(adjust_on_hand/adjust_used/adjust_lost)的 delta 须为整数且结果不能为负;status_change 须带合法 status。每次成功记录一条日志(status_change 日志的 status 字段记录目标状态)。 POST /api/projects/{id}/physical/items/{itemId}/log 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_qq_bind_codeA

生成项目 QQ 群绑定码。需 project:manage 权限。生成 6 位数字一次性绑定码(10 分钟有效,同项目单一有效码——重复生成旧码作废;绑定多个群时顺序生成绑定即可)。随后把机器人拉进 QQ 群并 @机器人 发送「绑定 XXXXXX」完成关联;一个群同一时刻只属于一个项目,绑到新项目自动从旧项目解除,同项目重复绑定同群将其类型配置重置为全选。绑定后群里收到订阅的精选类型通知(里程碑临近/待办节点与到期提醒/重要紧急公告/新风险/现场异常/周报,逐群可配)。 POST /api/projects/{id}/qq-bind-code 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_risks_evaluateA

立即重算风险。需项目成员身份。立即重算全部风险规则后返回,响应同列表接口。 POST /api/projects/{id}/risks/evaluate 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_risks_risk_id_ignoreA

忽略风险。需 project:manage 权限。仅可忽略 active 状态的风险。 POST /api/projects/{id}/risks/{riskId}/ignore 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_risks_risk_id_restoreA

恢复风险。需 project:manage 权限。恢复已忽略的风险为 active(清除忽略人/期限/原因)。 POST /api/projects/{id}/risks/{riskId}/restore 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_rolesB

创建角色。需 role:manage 权限。 POST /api/projects/{id}/roles 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_stage_rundownsA

创建 Rundown。需 tools:manage 权限(project:manage 等价放行,超管不受限)。name trim 后非空;startAt 须为可解析时间;创建后 items 为空数组。 POST /api/projects/{id}/stage-rundowns 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_stage_rundowns_rid_execution_advanceA

推进到下一节目。需 tools:manage 权限。当前节目记 endedAt 并推进到下一节目;已是末节目则转为 finished(finishedAt 记录、currentItemId 置空)。 POST /api/projects/{id}/stage-rundowns/{rid}/execution/advance 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_stage_rundowns_rid_execution_finishA

结束执行。需 tools:manage 权限。当前节目未结束的 actual 记 endedAt,状态转为 finished。 POST /api/projects/{id}/stage-rundowns/{rid}/execution/finish 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_stage_rundowns_rid_execution_jumpA

跳转到指定节目。需 tools:manage 权限。当前节目记 endedAt,目标节目旧 actual 移除后重新起计;跳转目标为当前节目时幂等返回(不写库)。 POST /api/projects/{id}/stage-rundowns/{rid}/execution/jump 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_stage_rundowns_rid_execution_resetA

重置执行状态。需 tools:manage 权限。任何状态回到 idle 初始态(清空 actuals 与 shiftMin);idle 时幂等。 POST /api/projects/{id}/stage-rundowns/{rid}/execution/reset 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_stage_rundowns_rid_execution_shiftA

累加顺延分钟。需 tools:manage 权限。minutes 须为 ±240 内整数,累加后 |shiftMin| 超过 1440 返回 400;「清零顺延」由前端发送当前 shiftMin 的相反数。未开始节目预计时间 = 计划 + shiftMin。 POST /api/projects/{id}/stage-rundowns/{rid}/execution/shift 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_stage_rundowns_rid_execution_startA

开始执行。需 tools:manage 权限。缺省从首节目开始;空节目单返回 400。重置执行记录后从目标节目起计(status 为 running、shiftMin 归零、actuals 仅含目标节目);finished 状态调用等于重新执行(清旧记录)。 POST /api/projects/{id}/stage-rundowns/{rid}/execution/start 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_stage_rundowns_rid_itemsA

新增节目。需 tools:manage 权限。multipart 表单;上传文件按顺序落库为 File 文档并记为节目附件。执行中禁止编排变更(409)。 POST /api/projects/{id}/stage-rundowns/{rid}/items 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_stage_signupsA

创建报名批次。需 tools:manage 权限(project:manage 等价放行,超管不受限)。name trim 后非空;startAt/endAt 须为可解析时间;endAt 必须晚于 startAt。 POST /api/projects/{id}/stage-signups 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_stage_signups_sid_importA

导入已通过节目到 Rundown。需 tools:manage 权限。目标 Rundown 必须属于本项目;把全部 approved 节目按追加语义(不去重)追加到该 Rundown 条目末尾。无 approved 节目返回 400「没有已通过的节目可导入」。 POST /api/projects/{id}/stage-signups/{sid}/import 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_stage_signups_sid_itemsA

新增报名节目。需 tools:manage 权限。name trim 后非空;durationMin 为 1–1440 整数;participants 每项取 cn/contact trim,过滤空 cn。新节目 status 默认 pending。 POST /api/projects/{id}/stage-signups/{sid}/items 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_stagesA

新增项目阶段。需 project:manage 权限。不传 order 追加到末尾。返回形态同 GET。 POST /api/projects/{id}/stages 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_todosB

创建待办。需 todo:create 权限(project:manage 等价放行)。 POST /api/projects/{id}/todos 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_todos_template_importA

导入待办模板。需 todo:manage 权限。以 date 为新锚点批量生成待办(无指派人)。 POST /api/projects/{id}/todos/template/import 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_todos_todo_id_completeA

完成待办。需 todo:manage,或「当前用户是指派人且有 todo:complete」。置 status=done,记录完成人/时间/备注,文件入附件。 POST /api/projects/{id}/todos/{todoId}/complete 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_todos_todo_id_updatesA

追加待办进度。权限同完成端点。向待办追加一条进度(不可编辑/删除);备注与附件至少其一非空。 POST /api/projects/{id}/todos/{todoId}/updates 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_work_modulesA

创建任务模块。需 work:manage 权限(project:manage 等价放行,超管不受限)。assigneeIds 必须全部为项目成员;创建后通知被分配成员。 POST /api/projects/{id}/work-modules 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_work_modules_mid_checkinB

任务签到。记录 checkedInAt;重复签到幂等,不刷新时间戳。请求体与权限同 confirm(不传 userId 为本人签到,项目成员即可)。 POST /api/projects/{id}/work-modules/{mid}/checkin 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_work_modules_mid_confirmA

确认任务分配。确认成员与模块的分配关系,记录确认时间与确认人;重复确认幂等,不刷新时间戳。不传 userId 为确认本人(项目成员即可);传 userId 为代他人确认,需 work:manage 或 project:manage。 POST /api/projects/{id}/work-modules/{mid}/confirm 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_work_modules_mid_finishB

标记任务完成。记录 completedAt;未签到的成员同时补签到;重复完成幂等,不刷新时间戳。请求体与权限同 confirm。 POST /api/projects/{id}/work-modules/{mid}/finish 项目由当前 API 密钥自动确定,无需传 projectId。

anon_post_work_modules_mid_unconfirmA

取消任务确认。清除 confirmedAt/confirmedBy。请求体与权限同 confirm。 POST /api/projects/{id}/work-modules/{mid}/unconfirm 项目由当前 API 密钥自动确定,无需传 projectId。

anon_put_lostfound_shareA

更新失物招领公开分享。需 lostfound:manage 权限。regenerate 为 true 时换新 token,旧链接立即失效。 PUT /api/projects/{id}/lostfound/share 项目由当前 API 密钥自动确定,无需传 projectId。

anon_put_stage_rundowns_rid_screen_shareA

更新大屏分享设置。需 tools:manage 权限。regenerate 为 true 时换新 token,旧链接立即失效。 PUT /api/projects/{id}/stage-rundowns/{rid}/screen-share 项目由当前 API 密钥自动确定,无需传 projectId。

anon_put_stage_signups_sid_items_item_id_reviewA

投票(按当前用户 upsert)。需 tools:manage 权限。已有本人投票则覆盖 decision/comment/updatedAt,否则新增;只记录意见,不改变节目状态;其余 decision 值 400「无效的投票」。 PUT /api/projects/{id}/stage-signups/{sid}/items/{itemId}/review 项目由当前 API 密钥自动确定,无需传 projectId。

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
ANON MCP 使用说明

TDQS

A3.6/5.0

Scored across 142 tools

Disambiguation4/5

Most tools are clearly distinguished by resource and HTTP method encoded in the name (e.g., get/delete/create on distinct domain objects), and descriptions add permission and behavior detail. However, the sheer number of similar endpoints—especially dashboard aggregates, material previews/downloads, and rundown execution controls—creates real selection friction for an agent.

Naming Consistency5/5

Every tool follows the same anon_<method>_<resource_path>_<identifier> snake_case pattern, derived predictably from the underlying REST route. The convention is uniform across all 142 tools with no mixing of camelCase or vague verbs.

Tool Count1/5

142 tools is an extreme surface that vastly exceeds practical agent navigation, far beyond the 25+ threshold. While the underlying API is broad, exposing essentially every REST endpoint as a separate MCP tool creates overwhelming choice and high misselection risk.

Completeness5/5

The surface provides deep multi-module lifecycle coverage: CRUD for stages, milestones, todos, materials, physical inventory, finance, lostfound, announcements, roles, members, risks, work modules, rundowns, signups, accounts, and custom tools, plus execution and sharing flows. Only very peripheral operations like project creation/deletion are absent, which is appropriate for a project-scoped API-key context.

Maintenance

ActivityMaintained
ResponsivenessNo issues