feat: add .skill file preview support

Enable previewing .skill files (ZIP archives) by extracting and displaying
their SKILL.md content. Add caching to avoid repeated ZIP extraction.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
hetaoBackend
2026-01-31 22:27:06 +08:00
parent 5834b15af7
commit 41f8b931c9
4 changed files with 79 additions and 2 deletions

View File

@@ -30,6 +30,8 @@ export function useArtifactContent({
return loadArtifactContent({ filepath, threadId });
},
enabled,
// Cache artifact content for 5 minutes to avoid repeated fetches (especially for .skill ZIP extraction)
staleTime: 5 * 60 * 1000,
});
return { content: isWriteFile ? content : data, isLoading, error };
}

View File

@@ -13,7 +13,7 @@ export async function loadArtifactContent({
}) {
let enhancedFilepath = filepath;
if (filepath.endsWith(".skill")) {
enhancedFilepath = filepath.replace(".md", ".skill/SKILL.md");
enhancedFilepath = filepath + "/SKILL.md";
}
const url = urlOfArtifact({ filepath: enhancedFilepath, threadId });
const response = await fetch(url);