feat: update desktop workflows and app center

This commit is contained in:
inman
2026-05-13 19:14:56 +08:00
parent 20b5aff4ad
commit 7c8781a6e3
160 changed files with 55492 additions and 1423 deletions

View File

@@ -0,0 +1,45 @@
import { describe, expect, it } from 'vitest';
import {
buildQuickTaskPrompt,
buildQuickTaskUserMessage,
getQuickTaskTriggerNames,
} from '@/lib/quick-task-prompt';
describe('quick task prompt builder', () => {
it('builds a single capability-pack trigger', () => {
expect(buildQuickTaskPrompt({
name: '写报告',
skills: [{ id: 'docx', name: 'docx' }],
})).toBe('使用docx skill');
});
it('builds multiple capability-pack triggers and removes duplicates', () => {
expect(buildQuickTaskPrompt({
name: '文档处理',
skills: [
{ id: 'docx', name: 'docx' },
{ id: 'DOCX', name: 'DOCX' },
{ id: 'pdf', name: 'pdf' },
],
})).toBe('使用docx skill 使用pdf skill');
});
it('falls back to the task name when no capability pack exists', () => {
expect(getQuickTaskTriggerNames({ name: '内容策划', skills: [] })).toEqual(['内容策划']);
expect(buildQuickTaskPrompt({ name: '内容策划', skills: [] })).toBe('使用内容策划 skill');
});
it('combines trigger prompt and user task content', () => {
expect(buildQuickTaskUserMessage({
name: '写PPT',
skills: [{ id: 'pptx', name: '炫酷ppt' }],
}, '帮我做一份亚马逊丛林讲解 PPT')).toBe('使用炫酷ppt skill 帮我做一份亚马逊丛林讲解 PPT');
});
it('keeps empty task content out of the final message', () => {
expect(buildQuickTaskUserMessage({
name: '写Word',
skills: [{ id: 'docx', name: 'word' }],
}, ' ')).toBe('使用word skill');
});
});