完善客户端模块与工作区能力
Some checks failed
Electron E2E / Electron E2E (macos-latest) (push) Has been cancelled
Electron E2E / Electron E2E (ubuntu-latest) (push) Has been cancelled
Electron E2E / Electron E2E (windows-latest) (push) Has been cancelled

This commit is contained in:
inman
2026-08-13 19:45:30 +08:00
parent 0148b91a15
commit 22add3f01f
97 changed files with 4756 additions and 3226 deletions

View File

@@ -209,126 +209,16 @@ const demoModels: DisplayModel[] = [
const courseSkills: Skill[] = [
{
id: 'youth-plain-language',
name: '青少年通俗表达',
description: '让所有伙伴用简体中文、短句和少术语的方式,向 10 至 16 岁青少年解释任务。',
prompt: '先说结论和下一步,使用短句;必要技术词第一次出现时马上用中文解释。',
inputs: ['学生问题', '任务结果', '技术说明或错误信息'],
outputs: ['学生能直接看懂并照做的简体中文说明'],
guardrails: ['不降低事实准确度', '不使用幼儿化或居高临下语气', '保留代码、命令、路径和错误原文'],
appliesTo: ['全部项目伙伴'],
statusLabel: '平台内置 · 所有伙伴必需',
},
{
id: 'youth-ai-product-course',
name: '青少年人工智能产品课程',
description: '统一学生沟通方式、课程流程、项目产物与角色协作规则。',
prompt: '确保每次输出都围绕共享项目上下文、中文表达和可执行文件产物展开。',
inputs: ['当前角色', '项目已有产物', '学习者提问'],
outputs: ['中文学习者友好回复', '角色负责的项目产物', '项目文件中的下一步上下文'],
guardrails: ['面向学生输出必须使用简体中文', '聊天总结不能代替项目文件', '没有证据不宣称完成'],
appliesTo: ['全部课程角色'],
statusLabel: '平台内置 · 只读',
},
{
id: 'pm-project-plan',
name: '通用软件项目规划',
description: '把软件想法整理成目标、用户、范围、里程碑、任务和验收标准。',
prompt: '帮助项目经理输出 项目计划.md,并给下一位角色留下清楚交接。',
inputs: ['学习者粗略想法', '目标用户', '使用场景', '第一版范围'],
outputs: ['项目计划.md', '任务清单', '验收标准', '下一角色建议'],
guardrails: ['范围必须小到能课堂演示', '任务要可观察', '不提前跳到编码'],
appliesTo: ['项目经理'],
statusLabel: '平台内置 · 只读',
},
{
id: 'product-demo-prototype',
name: '产品原型设计',
description: '设计页面流程、关键交互、异常状态和可演示的产品原型。',
prompt: '帮助产品经理输出 原型计划.md,让后续设计和开发不用猜流程。',
inputs: ['项目计划.md', '第一版范围', '验收标准'],
outputs: ['原型计划.md', '页面清单', '关键交互', '状态说明', '设计交接'],
guardrails: ['流程 1-3 分钟可演示', '按钮必须有明确结果', '不新增项目经理未规划功能'],
appliesTo: ['产品经理'],
statusLabel: '平台内置 · 只读',
},
{
id: 'designer-design-spec',
name: '视觉设计规范',
description: '定义颜色、字体、布局、组件、响应式和无障碍规则。',
prompt: '帮助美术设计师输出 视觉设计规范.md,给开发和宣发明确依据。',
inputs: ['项目计划.md', '原型计划.md', '目标用户', '页面流程'],
outputs: ['视觉设计规范.md', '颜色/字体/布局规则', '组件状态', '响应式与无障碍说明'],
guardrails: ['不只说好看', '规则必须可实现', '标出对比度、溢出和触控风险'],
appliesTo: ['美术设计师'],
statusLabel: '平台内置 · 只读',
},
{
id: 'dev-build-test',
name: '开发与测试',
description: '实现代码、调试功能、设计数据接口,并用测试验证真实结果。',
prompt: '帮助开发工程师输出工程报告,记录改动、验证命令和剩余风险。',
inputs: ['项目计划.md', '原型交接', '设计规范', '现有代码'],
outputs: ['工程报告', '实现文件', '测试或检查结果', '剩余风险'],
guardrails: ['先看现有模式', '小步实现', '没有验证不说完成'],
appliesTo: ['开发工程师'],
statusLabel: '平台内置 · 只读',
},
{
id: 'marketing-launch-story',
name: '宣传与作品展示',
description: '编写真实易懂的项目介绍、演讲稿、宣传页和发布故事。',
prompt: '帮助市场运营输出宣发材料,避免夸大能力或缺少证据。',
inputs: ['项目计划.md', '已实现功能', 'Demo 行为', '已知限制'],
outputs: ['宣发材料', '一句话介绍', '展示文案', '讲解提纲', '证据清单'],
guardrails: ['不夸大能力', '卖点必须有证据', '文案短且适合课堂展示'],
appliesTo: ['市场运营'],
statusLabel: '平台内置 · 只读',
},
{
id: 'nianxxgame-skill',
name: '网页游戏开发',
description: '完成游戏策划、开发、试玩、体验打磨和发布验证。',
prompt: '提供一次完成一个可试玩结果的方法,并要求从共享项目空间读取上下文、向当前 Agent 负责的产物写回真实进展。',
inputs: ['游戏想法或现有 Phaser 3 项目', '项目已有产物', '浏览器验证结果'],
outputs: ['可试玩增量方法', '共享项目空间协作方法', 'Phaser 3 实现与验证方法'],
guardrails: ['不把初始假设当成目标游戏', '没有浏览器证据不宣称可试玩', '一次只推进一个玩家可感知的增量'],
appliesTo: ['手动配置的 Web 小游戏项目'],
id: 'agent-browser',
name: '开发浏览器',
description: '打开、查看或调试本地及公网网页,读取 Console、Network、DOM 和样式信息。',
prompt: '只在需要检查或调试网页时使用开发浏览器,并根据真实页面证据说明结果。',
inputs: ['开发中的网页地址', '需要检查的页面状态'],
outputs: ['页面检查结果', 'Console/Network/DOM 证据', '调试建议'],
guardrails: ['只用于开发过程', '不把本地调试结果当成已发布作品', '不绕过项目浏览器工具访问页面'],
appliesTo: ['需要网页调试的项目伙伴'],
statusLabel: '平台内置 · 可手动选择',
},
{
id: 'game-assets',
name: '游戏素材生成',
description: '通过项目内固定版 Meowa 适配器生成、下载 2D 游戏素材,并记录来源、任务和授权状态;3D 模型走独立的项目素材来源。',
prompt: '先检查现有素材缺口和 config-status 配置状态,再用固定 CLI 生成 2D 素材,保留项目内文件和 generation.meta.json;如果是 3D 模型,只整理有来源和授权的项目内资产,不把 2D 图片当作 3D 模型或默认 CC0。',
inputs: ['GDD.md', 'ASSET_PLAN.md', 'ART_GUIDE.md', '明确的素材缺口'],
outputs: ['项目内生成素材', 'generation.meta.json', '授权待核对说明'],
guardrails: ['不直接访问 Meowa API', '不暴露 API Key', '不把 2D 图片当作 3D 模型', '没有本地预览证据不提交审核'],
appliesTo: ['手动配置的游戏素材 Agent', '素材规划师'],
statusLabel: '平台内置 · 可手动选择',
},
{
id: 'partner-agent-showcase',
name: '伙伴作品讲解',
description: '根据项目真实成果介绍作品、回答访客问题并帮助学生排练演示。',
prompt: '帮助伙伴 agent 用公开、诚实、学习者友好的语言讲清项目事实。',
inputs: ['已完成项目事实', '交付物', 'README/Demo/部署说明', '访客问题'],
outputs: ['作品介绍', '访客问答', '演讲短稿', '事实核查'],
guardrails: ['不委派 subagent', '不编造 URL、数据或奖项', '限制要如实说明'],
appliesTo: ['伙伴 agent'],
statusLabel: '平台内置 · 只读',
},
{
id: 'ui-ux-course-quality',
name: '界面体验质检',
description: '检查可读性、操作反馈、移动端适配、视觉层级和无障碍体验。',
prompt: '帮助涉及界面的角色补齐可读性、交互、布局和状态证据。',
inputs: ['页面流程', '视觉规则', '实现截图或 Demo', '验收标准'],
outputs: ['UI/UX 检查项', '最小修复建议', '所需证据'],
guardrails: ['检查无障碍、触控、响应式和状态反馈', '不用空泛审美词', '没有证据不通过'],
appliesTo: ['产品经理', '美术设计师', '开发工程师', '市场运营'],
statusLabel: '平台内置 · 只读',
},
];
const knowledgeFiles: KnowledgeFile[] = [