feat(wecom): 企微 MCP 增加开发计划版本与任务查询

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-08 17:37:41 +08:00
parent d0d5c9ac56
commit 5d0beb5733
13 changed files with 386 additions and 4 deletions
@@ -103,5 +103,7 @@ describe('maskWecomPluginApiKey / path permission map', () => {
]);
expect(allowedWecomPluginMcpTools(['partner.read'])).toContain('query_partners');
expect(allowedWecomPluginMcpTools(['metrics.read'])).not.toContain('query_orders');
expect(allowedWecomPluginOpenApiPaths(['dev_plan.read'])).toEqual(['/versions', '/tasks']);
expect(allowedWecomPluginMcpTools(['dev_plan.read'])).toEqual(['query_versions', 'query_tasks']);
});
});
+22
View File
@@ -26,6 +26,7 @@ export const WECOM_PLUGIN_PERMISSIONS = [
'metrics.read',
'store.audit.read',
'partner.read',
'dev_plan.read',
] as const;
export type WecomPluginPermission = (typeof WECOM_PLUGIN_PERMISSIONS)[number];
@@ -39,6 +40,7 @@ export const WECOM_PLUGIN_PERMISSION_LABELS: Record<WecomPluginPermission, strin
'metrics.read': '经营指标',
'store.audit.read': '门店/套餐审核',
'partner.read': '合伙人关联查询',
'dev_plan.read': '查询版本与任务',
};
export const WECOM_PLUGIN_PERMISSION_GROUPS: Array<{
@@ -64,6 +66,11 @@ export const WECOM_PLUGIN_PERMISSION_GROUPS: Array<{
label: '审核对照',
permissions: ['store.audit.read'],
},
{
key: 'dev_plan',
label: '开发计划',
permissions: ['dev_plan.read'],
},
];
/** OpenAPI path → 工具权限 */
@@ -84,6 +91,8 @@ export const WECOM_PLUGIN_PATH_PERMISSION: Record<string, WecomPluginPermission>
'/partners/{partnerId}/users': 'partner.read',
'/partners/{partnerId}/stores': 'partner.read',
'/partners/{partnerId}/orders': 'partner.read',
'/versions': 'dev_plan.read',
'/tasks': 'dev_plan.read',
};
export const WECOM_PLUGIN_MCP_TOOL_NAMES = [
@@ -103,6 +112,8 @@ export const WECOM_PLUGIN_MCP_TOOL_NAMES = [
'query_partner_users',
'query_partner_stores',
'query_partner_orders',
'query_versions',
'query_tasks',
] as const;
export type WecomPluginMcpToolName = (typeof WECOM_PLUGIN_MCP_TOOL_NAMES)[number];
@@ -142,6 +153,15 @@ export const WECOM_PLUGIN_MCP_TOOL_META: Record<
permission: 'partner.read',
description: '查询佣金归属该合伙人的订单,可选 from/to',
},
query_versions: {
permission: 'dev_plan.read',
description: '按版本号关键词查询开发计划版本;可选 status 筛选版本状态 PENDING/IN_PROGRESS/TESTING/RELEASED/STOPPED',
},
query_tasks: {
permission: 'dev_plan.read',
description:
'查询开发任务列表。status 按任务状态筛选:TODO 待开发、IN_PROGRESS 开发中、DEVELOPED 已开发、RELEASED 已上线、STOPPED 已停止;可选 q 搜任务编号/内容,versionNo 限定某版本',
},
};
export const WECOM_PLUGIN_MCP_TOOLS: Record<WecomPluginPermission, WecomPluginMcpToolName[]> = {
@@ -159,6 +179,7 @@ export const WECOM_PLUGIN_MCP_TOOLS: Record<WecomPluginPermission, WecomPluginMc
'query_store_package_audit_detail',
],
'partner.read': ['query_partners', 'query_partner_users', 'query_partner_stores', 'query_partner_orders'],
'dev_plan.read': ['query_versions', 'query_tasks'],
};
export const WECOM_PLUGIN_TOOL_PATHS: Record<WecomPluginPermission, string[]> = {
@@ -181,6 +202,7 @@ export const WECOM_PLUGIN_TOOL_PATHS: Record<WecomPluginPermission, string[]> =
'/partners/{partnerId}/stores',
'/partners/{partnerId}/orders',
],
'dev_plan.read': ['/versions', '/tasks'],
};
export function parseWecomPluginPermissions(