fix: 调整提示词和 agent 管理入口

This commit is contained in:
Administrator committed 2026-06-04 18:45:16 +08:00
1 parent c1336ad5b3
commit 1e4ef070cf
4 files changed
+42 -50

No files matched your search

@@ -1,6 +1,6 @@
"use client";
import {
import {
AlertCircle,
ArchiveIcon,
ArrowDownUpIcon,
@@ -22,9 +22,9 @@ import {
Trash2Icon,
TrendingUpIcon,
Upload,
} from "lucide-react";
import { useRouter } from "next/navigation";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
} from "lucide-react";
import { useRouter } from "next/navigation";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import { toast } from "sonner";
import { Badge } from "@/components/ui/badge";
@@ -45,9 +45,8 @@ import {
DialogTitle,
} from "@/components/ui/dialog";
import {
Empty,
EmptyContent,
EmptyDescription,
Empty,
EmptyDescription,
EmptyHeader,
EmptyMedia,
EmptyTitle,
@@ -145,11 +144,11 @@ const rescanErrorToastDarkOptions = {
icon: <AlertCircle className="size-4 shrink-0 text-[#F5222D]" />,
} as const;
function SkillSettingsList({ onClose }: { onClose?: () => void }) {
const { t } = useI18n();
const { theme } = useTheme();
const router = useRouter();
const [filter, setFilter] = useState<string>("mine");
function SkillSettingsList({ onClose }: { onClose?: () => void }) {
const { t } = useI18n();
const { theme } = useTheme();
const router = useRouter();
const [filter, setFilter] = useState<string>("mine");
const [installOpen, setInstallOpen] = useState(false);
const [staleSheetOpen, setStaleSheetOpen] = useState(false);
const [archiveSheetOpen, setArchiveSheetOpen] = useState(false);
@@ -222,12 +221,7 @@ function SkillSettingsList({ onClose }: { onClose?: () => void }) {
[filteredSkills, page],
);
const handleCreateSkill = () => {
onClose?.();
router.push("/?mode=skill");
};
const handleRescan = async () => {
const handleRescan = async () => {
try {
const result = await reconcileMutation.mutateAsync();
if (result.adopted.length > 0) {
@@ -326,12 +320,8 @@ function SkillSettingsList({ onClose }: { onClose?: () => void }) {
<Upload className="size-4" />
{t.settings.skills.installSkill}
</Button>
<Button size="sm" onClick={handleCreateSkill}>
<SparklesIcon className="size-4" />
{t.settings.skills.createSkill}
</Button>
</div>
</header>
</div>
</header>
<TagSearchBar
targetType="skill"
onSearchChange={setSearch}
@@ -363,9 +353,9 @@ function SkillSettingsList({ onClose }: { onClose?: () => void }) {
<div className="text-muted-foreground text-sm">{t.common.loading}</div>
)}
{error && <div className="text-destructive text-sm">Error: {error.message}</div>}
{!isLoading && !error && filteredSkills.length === 0 && (
<EmptySkill onCreateSkill={handleCreateSkill} />
)}
{!isLoading && !error && filteredSkills.length === 0 && (
<EmptySkill />
)}
{/* —— 原纵向列表布局(保留备查)——
{!isLoading && !error &&
@@ -986,10 +976,10 @@ export function SkillRow({
);
}
function EmptySkill({ onCreateSkill }: { onCreateSkill: () => void }) {
const { t } = useI18n();
return (
<Empty>
function EmptySkill() {
const { t } = useI18n();
return (
<Empty>
<EmptyHeader>
<EmptyMedia variant="icon">
<SparklesIcon />
@@ -999,12 +989,9 @@ function EmptySkill({ onCreateSkill }: { onCreateSkill: () => void }) {
{t.settings.skills.emptyDescription}
</EmptyDescription>
</EmptyHeader>
<EmptyContent>
<Button onClick={onCreateSkill}>{t.settings.skills.emptyButton}</Button>
</EmptyContent>
</Empty>
);
}
</Empty>
);
}
function InstallSkillDialog({
open,