From f4683457ee3399166cd246ced2e142d592be20ac Mon Sep 17 00:00:00 2001 From: yoma Date: Thu, 9 Jul 2026 03:50:55 +0800 Subject: [PATCH] Add mobile advanced prompts --- apps/mobile/src/screens/WorkspaceScreen.tsx | 90 +++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/apps/mobile/src/screens/WorkspaceScreen.tsx b/apps/mobile/src/screens/WorkspaceScreen.tsx index f03fde52..f22ba69d 100644 --- a/apps/mobile/src/screens/WorkspaceScreen.tsx +++ b/apps/mobile/src/screens/WorkspaceScreen.tsx @@ -36,6 +36,7 @@ import { Search, Settings, ShieldCheck, + Sparkles, Tag, Trash2, Upload, @@ -121,6 +122,26 @@ const ALL_TOKEN_SCOPES = [ "read:tags", "write:tags", ]; +const ADVANCED_PROMPTS = [ + { + id: "persona", + title: "人物画像", + prompt: + "请通过 EdgeEver MCP 读取我的笔记,基于真实笔记内容为我整理一份人物画像。请只根据笔记中的证据判断,不要做心理诊断,不要夸张定性。输出包括:长期关注的主题、做事偏好、能力线索、反复出现的问题、近期动向,并在每条结论后列出相关笔记标题或 memo id。", + }, + { + id: "knowledgeMap", + title: "知识图谱", + prompt: + "请通过 EdgeEver MCP 读取我的笔记,为我整理一份知识地图。请找出主要知识领域、每个领域下的关键概念、相关笔记、我已经掌握的部分和还需要补齐的问题。输出结构要适合后续继续学习和写作。", + }, + { + id: "tagAdvice", + title: "标签建议", + prompt: + "请通过 EdgeEver MCP 读取我的笔记和现有标签,帮我设计一套更清晰的标签体系。请指出重复、过细、过宽或命名不一致的标签,并给出合并、重命名和新增标签建议。先不要修改笔记,等我确认后再执行。", + }, +]; type MobileView = "notes" | "search" | "account" | "settings"; type MemoView = "notebook" | "trash"; @@ -160,6 +181,7 @@ export const WorkspaceScreen = () => { const [resourcesOpen, setResourcesOpen] = useState(false); const [apiTokensOpen, setApiTokensOpen] = useState(false); const [evernoteGuideOpen, setEvernoteGuideOpen] = useState(false); + const [advancedPlayOpen, setAdvancedPlayOpen] = useState(false); const [systemInfoOpen, setSystemInfoOpen] = useState(false); const [revisionMemo, setRevisionMemo] = useState(null); const [selectedMemoIds, setSelectedMemoIds] = useState>(() => new Set()); @@ -563,6 +585,7 @@ export const WorkspaceScreen = () => { setAdvancedPlayOpen(true)} onOpenApiTokens={() => setApiTokensOpen(true)} onOpenEvernoteGuide={() => setEvernoteGuideOpen(true)} onOpenNotebookManager={() => setNotebookManagerOpen(true)} @@ -614,6 +637,7 @@ export const WorkspaceScreen = () => { setResourcesOpen(false)} visible={resourcesOpen} /> setApiTokensOpen(false)} visible={apiTokensOpen} /> setEvernoteGuideOpen(false)} visible={evernoteGuideOpen} /> + setAdvancedPlayOpen(false)} visible={advancedPlayOpen} /> setSystemInfoOpen(false)} visible={systemInfoOpen} /> void; onOpenApiTokens: () => void; onOpenEvernoteGuide: () => void; onOpenNotebookManager: () => void; @@ -982,6 +1008,9 @@ const SettingsView = ({ + + + @@ -1863,6 +1892,52 @@ const EvernoteGuideModal = ({ onClose, visible }: { onClose: () => void; visible ); +const AdvancedPlayModal = ({ onClose, visible }: { onClose: () => void; visible: boolean }) => { + const [copiedPromptId, setCopiedPromptId] = useState(null); + + const copyPrompt = async (promptId: string, prompt: string) => { + await Clipboard.setStringAsync(prompt); + setCopiedPromptId(promptId); + setTimeout(() => setCopiedPromptId((current) => (current === promptId ? null : current)), 1600); + }; + + return ( + + + + + + + 进阶玩法 + + + + + + + 搭配 AI Agent 的进阶工作流 + 复制 Prompt 后,配合 EdgeEver MCP 让 AI 读取真实笔记并输出结构化结果。 + + + {ADVANCED_PROMPTS.map((item) => ( + + + {item.title} + copyPrompt(item.id, item.prompt)}> + {copiedPromptId === item.id ? : } + + + + {item.prompt} + + + ))} + + + + ); +}; + const GuideStep = ({ body, title }: { body: string; title: string }) => ( {title} @@ -4070,6 +4145,21 @@ const styles = StyleSheet.create({ gap: 6, padding: 14, }, + promptCard: { + backgroundColor: "#ffffff", + borderColor: "#e2e8f0", + borderRadius: 8, + borderWidth: 1, + gap: 10, + padding: 14, + }, + promptCardHeader: { + alignItems: "center", + flexDirection: "row", + flexWrap: "wrap", + gap: 10, + justifyContent: "space-between", + }, templateCard: { alignItems: "center", backgroundColor: "#ffffff",