oh-my-codex-cli 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/skills/agent-kb/HOW_TO_USE.md +428 -0
- package/.agent/skills/agent-kb/README.md +46 -0
- package/.agent/skills/agent-kb/SKILL.md +128 -0
- package/.agent/skills/agent-kb/references/intelligent-analysis-explained.md +333 -0
- package/.agent/skills/agent-kb/references/query-optimization.md +225 -0
- package/.agent/skills/aireview/SKILL.md +704 -0
- package/.agent/skills/analyze/SKILL.md +81 -0
- package/.agent/skills/architect-planner/HOW_TO_USE.md +238 -0
- package/.agent/skills/architect-planner/README.md +41 -0
- package/.agent/skills/architect-planner/SKILL.md +539 -0
- package/.agent/skills/auto-mbti/SKILL.md +291 -0
- package/.agent/skills/autopilot/SKILL.md +222 -0
- package/.agent/skills/backend-patterns/SKILL.md +602 -0
- package/.agent/skills/bdd-generator/README.md +78 -0
- package/.agent/skills/bdd-generator/SKILL.md +436 -0
- package/.agent/skills/brainstorming/HOW_TO_USE.md +289 -0
- package/.agent/skills/brainstorming/README.md +41 -0
- package/.agent/skills/brainstorming/SKILL.md +165 -0
- package/.agent/skills/build-fix/SKILL.md +190 -0
- package/.agent/skills/cancel/SKILL.md +658 -0
- package/.agent/skills/checkpoint/SKILL.md +94 -0
- package/.agent/skills/code-review/SKILL.md +273 -0
- package/.agent/skills/coding-standards/SKILL.md +535 -0
- package/.agent/skills/conductor/SKILL.md +128 -0
- package/.agent/skills/conductor/commands/conductor/implement.toml +358 -0
- package/.agent/skills/conductor/commands/conductor/newTrack.toml +142 -0
- package/.agent/skills/conductor/commands/conductor/revert.toml +123 -0
- package/.agent/skills/conductor/commands/conductor/setup.toml +429 -0
- package/.agent/skills/conductor/commands/conductor/status.toml +57 -0
- package/.agent/skills/conductor/scripts/install.sh +89 -0
- package/.agent/skills/conductor/templates/code_styleguides/csharp.md +115 -0
- package/.agent/skills/conductor/templates/code_styleguides/dart.md +238 -0
- package/.agent/skills/conductor/templates/code_styleguides/general.md +23 -0
- package/.agent/skills/conductor/templates/code_styleguides/go.md +48 -0
- package/.agent/skills/conductor/templates/code_styleguides/html-css.md +49 -0
- package/.agent/skills/conductor/templates/code_styleguides/javascript.md +51 -0
- package/.agent/skills/conductor/templates/code_styleguides/python.md +37 -0
- package/.agent/skills/conductor/templates/code_styleguides/typescript.md +43 -0
- package/.agent/skills/conductor/templates/rules/README.md +23 -0
- package/.agent/skills/conductor/templates/rules/agents.md +49 -0
- package/.agent/skills/conductor/templates/rules/coding-style.md +70 -0
- package/.agent/skills/conductor/templates/rules/dev.md +20 -0
- package/.agent/skills/conductor/templates/rules/git-workflow.md +45 -0
- package/.agent/skills/conductor/templates/rules/hooks.md +6 -0
- package/.agent/skills/conductor/templates/rules/patterns.md +55 -0
- package/.agent/skills/conductor/templates/rules/performance.md +47 -0
- package/.agent/skills/conductor/templates/rules/research.md +26 -0
- package/.agent/skills/conductor/templates/rules/review.md +22 -0
- package/.agent/skills/conductor/templates/rules/security.md +36 -0
- package/.agent/skills/conductor/templates/rules/testing.md +30 -0
- package/.agent/skills/conductor/templates/workflow.md +333 -0
- package/.agent/skills/consensus/HOW_TO_USE.md +191 -0
- package/.agent/skills/consensus/README.md +41 -0
- package/.agent/skills/consensus/SKILL.md +317 -0
- package/.agent/skills/content-research-writer/SKILL.md +537 -0
- package/.agent/skills/debug-analysis/SKILL.md +331 -0
- package/.agent/skills/deepinit/SKILL.md +347 -0
- package/.agent/skills/deepsearch/SKILL.md +56 -0
- package/.agent/skills/doctor/SKILL.md +158 -0
- package/.agent/skills/drawio/EXAMPLES.md +382 -0
- package/.agent/skills/drawio/QUICK_START.md +237 -0
- package/.agent/skills/drawio/README.md +315 -0
- package/.agent/skills/drawio/SETUP_GUIDE.md +254 -0
- package/.agent/skills/drawio/SKILL.md +1176 -0
- package/.agent/skills/e2e/SKILL.md +396 -0
- package/.agent/skills/ecomode/SKILL.md +160 -0
- package/.agent/skills/electron-driver/SKILL.md +144 -0
- package/.agent/skills/electron-driver/scripts/driver-template.js +71 -0
- package/.agent/skills/eval/SKILL.md +140 -0
- package/.agent/skills/eval-harness/SKILL.md +242 -0
- package/.agent/skills/evolve/SKILL.md +213 -0
- package/.agent/skills/frontend-design/SKILL.md +42 -0
- package/.agent/skills/frontend-patterns/SKILL.md +646 -0
- package/.agent/skills/frontend-ui-ux/SKILL.md +70 -0
- package/.agent/skills/git-master/SKILL.md +75 -0
- package/.agent/skills/help/SKILL.md +89 -0
- package/.agent/skills/iterative-retrieval/SKILL.md +217 -0
- package/.agent/skills/local-skills-setup/SKILL.md +483 -0
- package/.agent/skills/log-analyzer/SKILL.md +187 -0
- package/.agent/skills/mcp-setup/SKILL.md +226 -0
- package/.agent/skills/multi-model-research/HOW_TO_USE.md +614 -0
- package/.agent/skills/multi-model-research/README.md +233 -0
- package/.agent/skills/multi-model-research/SKILL.md +541 -0
- package/.agent/skills/multi-model-research/references/troubleshooting.md +415 -0
- package/.agent/skills/note/SKILL.md +80 -0
- package/.agent/skills/omc-setup/SKILL.md +219 -0
- package/.agent/skills/orchestrate/SKILL.md +620 -0
- package/.agent/skills/patent-workflow/IMPLEMENTATION_SUMMARY.md +500 -0
- package/.agent/skills/patent-workflow/README.md +455 -0
- package/.agent/skills/patent-workflow/SKILL.md +1036 -0
- package/.agent/skills/patent-workflow/tools/irr_checker.py +260 -0
- package/.agent/skills/patent-workflow/tools/sample_terminology.json +49 -0
- package/.agent/skills/patent-workflow/tools/term_checker.py +355 -0
- package/.agent/skills/pattern-recognition/SKILL.md +792 -0
- package/.agent/skills/pipeline/SKILL.md +448 -0
- package/.agent/skills/plan/SKILL.md +309 -0
- package/.agent/skills/planning-methodology/SKILL.md +370 -0
- package/.agent/skills/planning-with-files/SKILL.md +210 -0
- package/.agent/skills/planning-with-files/examples.md +202 -0
- package/.agent/skills/planning-with-files/reference.md +218 -0
- package/.agent/skills/planning-with-files/scripts/check-complete.ps1 +42 -0
- package/.agent/skills/planning-with-files/scripts/check-complete.sh +44 -0
- package/.agent/skills/planning-with-files/scripts/init-session.ps1 +120 -0
- package/.agent/skills/planning-with-files/scripts/init-session.sh +120 -0
- package/.agent/skills/planning-with-files/scripts/session-catchup.py +208 -0
- package/.agent/skills/planning-with-files/templates/findings.md +95 -0
- package/.agent/skills/planning-with-files/templates/progress.md +114 -0
- package/.agent/skills/planning-with-files/templates/task_plan.md +132 -0
- package/.agent/skills/project-analyze/CLAUDE.md +18 -0
- package/.agent/skills/project-analyze/HOW_TO_USE.md +145 -0
- package/.agent/skills/project-analyze/README.md +42 -0
- package/.agent/skills/project-analyze/SKILL.md +289 -0
- package/.agent/skills/project-analyze/SKILL.md.backup +287 -0
- package/.agent/skills/project-analyze/SKILL.md.backup_20260105_093646 +287 -0
- package/.agent/skills/project-analyze/assets/analysis-report-template.md +433 -0
- package/.agent/skills/project-analyze/references/analysis-patterns.md +422 -0
- package/.agent/skills/project-analyze/references/projectmind-explained.md +535 -0
- package/.agent/skills/project-session-manager/SKILL.md +428 -0
- package/.agent/skills/project-session-manager/lib/config.sh +86 -0
- package/.agent/skills/project-session-manager/lib/parse.sh +121 -0
- package/.agent/skills/project-session-manager/lib/session.sh +132 -0
- package/.agent/skills/project-session-manager/lib/tmux.sh +103 -0
- package/.agent/skills/project-session-manager/lib/worktree.sh +171 -0
- package/.agent/skills/project-session-manager/psm.sh +629 -0
- package/.agent/skills/project-session-manager/templates/feature.md +56 -0
- package/.agent/skills/project-session-manager/templates/issue-fix.md +57 -0
- package/.agent/skills/project-session-manager/templates/pr-review.md +65 -0
- package/.agent/skills/project-session-manager/templates/projects.json +19 -0
- package/.agent/skills/quality-check/HOW_TO_USE.md +171 -0
- package/.agent/skills/quality-check/README.md +50 -0
- package/.agent/skills/quality-check/SKILL.md +240 -0
- package/.agent/skills/quality-check/SKILL.md.backup +238 -0
- package/.agent/skills/quality-check/SKILL.md.backup_20260105_093646 +238 -0
- package/.agent/skills/quality-check/assets/quality-report-template.md +437 -0
- package/.agent/skills/quality-check/references/refactoring-patterns.md +550 -0
- package/.agent/skills/quality-check/references/scoring-criteria.md +454 -0
- package/.agent/skills/quality-validation/SKILL.md +519 -0
- package/.agent/skills/quality-validation/SKILL.md.backup +573 -0
- package/.agent/skills/quality-validation/SKILL.md.backup_20260105_093646 +573 -0
- package/.agent/skills/ralph/SKILL.md +236 -0
- package/.agent/skills/ralph-init/SKILL.md +78 -0
- package/.agent/skills/ralplan/SKILL.md +58 -0
- package/.agent/skills/refactor-clean/SKILL.md +49 -0
- package/.agent/skills/release/SKILL.md +84 -0
- package/.agent/skills/research/SKILL.md +526 -0
- package/.agent/skills/research-methodology/SKILL.md +268 -0
- package/.agent/skills/review/SKILL.md +53 -0
- package/.agent/skills/security-review/SKILL.md +509 -0
- package/.agent/skills/security-review/cloud-infrastructure-security.md +361 -0
- package/.agent/skills/setup-pm/SKILL.md +102 -0
- package/.agent/skills/skill/SKILL.md +424 -0
- package/.agent/skills/skill-create/SKILL.md +209 -0
- package/.agent/skills/skill-debugger/HOW_TO_USE.md +244 -0
- package/.agent/skills/skill-debugger/README.md +44 -0
- package/.agent/skills/skill-debugger/SKILL.md +326 -0
- package/.agent/skills/skill-debugger/diagnostic_checklist.md +115 -0
- package/.agent/skills/skill-development/SKILL.md +661 -0
- package/.agent/skills/skill-development/references/skill-creator-original.md +209 -0
- package/.agent/skills/skill-doc-generator/README.md +37 -0
- package/.agent/skills/skill-doc-generator/SKILL.md +331 -0
- package/.agent/skills/skill-quality-analyzer/HOW_TO_USE.md +243 -0
- package/.agent/skills/skill-quality-analyzer/README.md +61 -0
- package/.agent/skills/skill-quality-analyzer/SKILL.md +247 -0
- package/.agent/skills/skill-quality-analyzer/analyzer.py +209 -0
- package/.agent/skills/skill-quality-analyzer/expected_output.json +81 -0
- package/.agent/skills/skill-quality-analyzer/sample_input.json +9 -0
- package/.agent/skills/skill-tester/README.md +46 -0
- package/.agent/skills/skill-tester/SKILL.md +345 -0
- package/.agent/skills/start-dev/SKILL.md +701 -0
- package/.agent/skills/swarm/SKILL.md +691 -0
- package/.agent/skills/task-kb-lookup/SKILL.md +211 -0
- package/.agent/skills/task-kb-record/SKILL.md +417 -0
- package/.agent/skills/tdd/SKILL.md +446 -0
- package/.agent/skills/tdd-generator/DEMO.md +516 -0
- package/.agent/skills/tdd-generator/README.md +89 -0
- package/.agent/skills/tdd-generator/SKILL.md +278 -0
- package/.agent/skills/tdd-workflow/SKILL.md +424 -0
- package/.agent/skills/test-coverage/SKILL.md +48 -0
- package/.agent/skills/thinkdeep/HOW_TO_USE.md +183 -0
- package/.agent/skills/thinkdeep/README.md +41 -0
- package/.agent/skills/thinkdeep/SKILL.md +343 -0
- package/.agent/skills/ui-ux-pro-max/SKILL.md +228 -0
- package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/.agent/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agent/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agent/skills/ui-ux-pro-max/scripts/core.py +236 -0
- package/.agent/skills/ui-ux-pro-max/scripts/search.py +61 -0
- package/.agent/skills/ultrapilot/SKILL.md +647 -0
- package/.agent/skills/ultraqa/SKILL.md +152 -0
- package/.agent/skills/ultrawork/SKILL.md +123 -0
- package/.agent/skills/update-codemaps/SKILL.md +38 -0
- package/.agent/skills/update-docs/SKILL.md +52 -0
- package/.agent/skills/verification-loop/SKILL.md +140 -0
- package/.agent/skills/verify/SKILL.md +80 -0
- package/.agent/skills/writer-memory/SKILL.md +459 -0
- package/.agent/skills/writer-memory/lib/character-tracker.ts +338 -0
- package/.agent/skills/writer-memory/lib/memory-manager.ts +804 -0
- package/.agent/skills/writer-memory/lib/relationship-graph.ts +400 -0
- package/.agent/skills/writer-memory/lib/scene-organizer.ts +544 -0
- package/.agent/skills/writer-memory/lib/synopsis-builder.ts +339 -0
- package/.agent/skills/writer-memory/templates/synopsis-template.md +46 -0
- package/.governance/skill-lint.allowlist +4 -0
- package/.governance/skill-llm.allowlist +4 -0
- package/AGENTS.md +59 -0
- package/LICENSE +21 -0
- package/README.md +169 -0
- package/README.zh.md +145 -0
- package/bin/omcodex.js +8 -0
- package/commands/conductor/implement.toml +358 -0
- package/commands/conductor/newTrack.toml +142 -0
- package/commands/conductor/revert.toml +123 -0
- package/commands/conductor/setup.toml +429 -0
- package/commands/conductor/status.toml +57 -0
- package/docs/ALIGNMENT.md +40 -0
- package/docs/CODEX.md +133 -0
- package/docs/NOTIFY.md +81 -0
- package/docs/SKILL_GOVERNANCE.md +72 -0
- package/docs/SKILL_GOVERNANCE_FRAMEWORK.md +182 -0
- package/docs/SKILL_GOVERNANCE_FRAMEWORK.zh.md +170 -0
- package/package.json +50 -0
- package/prompts/architect.md +105 -0
- package/prompts/executor.md +134 -0
- package/prompts/planner.md +113 -0
- package/scripts/check-skill-governance.sh +84 -0
- package/scripts/check-skill-llm-governance.js +302 -0
- package/scripts/eval-skills.js +217 -0
- package/scripts/generate-catalog-docs.js +95 -0
- package/scripts/generate-codex-mcp-config.sh +22 -0
- package/scripts/install-codex-force.sh +5 -0
- package/scripts/install-codex-incremental.sh +5 -0
- package/scripts/install-codex.sh +79 -0
- package/scripts/notify-dispatch.js +15 -0
- package/scripts/setup-package-manager.js +137 -0
- package/src/catalog/generated/public-catalog.json +547 -0
- package/src/catalog/manifest.json +542 -0
- package/src/catalog/reader.js +43 -0
- package/src/catalog/schema.js +79 -0
- package/src/cli/doctor.js +62 -0
- package/src/cli/index.js +85 -0
- package/src/cli/notify.js +127 -0
- package/src/cli/route.js +43 -0
- package/src/cli/setup.js +155 -0
- package/src/cli/team.js +125 -0
- package/src/config/generator.js +119 -0
- package/src/mcp/memory-server.js +241 -0
- package/src/mcp/state-server.js +112 -0
- package/src/mcp/trace-server.js +168 -0
- package/src/notify/dispatch.js +74 -0
- package/src/notify/extensibility/dispatcher.js +113 -0
- package/src/notify/extensibility/events.js +15 -0
- package/src/notify/extensibility/loader.js +54 -0
- package/src/router/skill-router.js +90 -0
- package/src/team/auto-advance.js +72 -0
- package/src/team/orchestrator.js +82 -0
- package/src/team/state-store.js +33 -0
- package/src/utils/paths.js +33 -0
- package/templates/AGENTS.md +15 -0
- package/templates/catalog-manifest.json +542 -0
- package/templates/code_styleguides/csharp.md +115 -0
- package/templates/code_styleguides/dart.md +238 -0
- package/templates/code_styleguides/general.md +23 -0
- package/templates/code_styleguides/go.md +48 -0
- package/templates/code_styleguides/html-css.md +49 -0
- package/templates/code_styleguides/javascript.md +51 -0
- package/templates/code_styleguides/python.md +37 -0
- package/templates/code_styleguides/typescript.md +43 -0
- package/templates/rules/README.md +23 -0
- package/templates/rules/agents.md +49 -0
- package/templates/rules/coding-style.md +70 -0
- package/templates/rules/dev.md +20 -0
- package/templates/rules/git-workflow.md +45 -0
- package/templates/rules/notify.md +6 -0
- package/templates/rules/patterns.md +55 -0
- package/templates/rules/performance.md +47 -0
- package/templates/rules/research.md +26 -0
- package/templates/rules/review.md +22 -0
- package/templates/rules/security.md +36 -0
- package/templates/rules/testing.md +30 -0
- package/templates/workflow.md +333 -0
|
@@ -0,0 +1,539 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: architect-planner
|
|
3
|
+
description: 架构规划专家 - 使用 Gemini CLI (1M 上下文) 进行大型系统架构设计和规划,支持会话延续。
|
|
4
|
+
auto_invoke: true
|
|
5
|
+
tags: [architecture, planning, gemini, system-design]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Architect Planner - 架构规划专家 Skill
|
|
9
|
+
|
|
10
|
+
## 🎯 核心功能
|
|
11
|
+
|
|
12
|
+
使用 Gemini CLI 的 **1M 上下文能力**进行大型系统架构设计和规划。
|
|
13
|
+
|
|
14
|
+
**替代**: PAL MCP clink gemini planner
|
|
15
|
+
|
|
16
|
+
**核心优势**: Gemini 1M 上下文可以同时分析大量代码和文档。
|
|
17
|
+
|
|
18
|
+
## 📋 触发场景
|
|
19
|
+
|
|
20
|
+
**自动触发**:
|
|
21
|
+
- "架构设计"
|
|
22
|
+
- "系统规划"
|
|
23
|
+
- "架构评审"
|
|
24
|
+
- "技术架构方案"
|
|
25
|
+
- "planner"
|
|
26
|
+
|
|
27
|
+
**手动触发**:
|
|
28
|
+
```
|
|
29
|
+
使用 architect-planner 设计:<架构需求>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 🔄 Workflow
|
|
33
|
+
|
|
34
|
+
### Step 1: 需求收集
|
|
35
|
+
|
|
36
|
+
收集架构设计需要的信息:
|
|
37
|
+
- 业务需求
|
|
38
|
+
- 非功能需求 (性能、可用性、扩展性)
|
|
39
|
+
- 约束条件 (预算、团队、时间)
|
|
40
|
+
- 现有系统情况
|
|
41
|
+
|
|
42
|
+
### Step 2: Gemini 架构设计 (1M 上下文)
|
|
43
|
+
|
|
44
|
+
**⚠️ 重要: 优先使用 `gemp` (长任务优化版),`gemini` CLI 作为备用**
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# Step 1: 写入 prompt 到临时文件
|
|
48
|
+
cat > /tmp/gemini_architect_prompt.txt << 'PROMPT_EOF'
|
|
49
|
+
作为资深架构师 (20年经验),设计以下系统架构:
|
|
50
|
+
|
|
51
|
+
【业务需求】
|
|
52
|
+
<业务需求>
|
|
53
|
+
|
|
54
|
+
【非功能需求】
|
|
55
|
+
- 并发: <并发量>
|
|
56
|
+
- 可用性: <SLA 要求>
|
|
57
|
+
- 数据量: <数据规模>
|
|
58
|
+
- 响应时间: <性能要求>
|
|
59
|
+
|
|
60
|
+
【约束条件】
|
|
61
|
+
- 团队规模: <人数>
|
|
62
|
+
- 技术栈偏好: <技术栈>
|
|
63
|
+
- 预算: <预算范围>
|
|
64
|
+
- 时间: <上线时间>
|
|
65
|
+
|
|
66
|
+
请提供完整的架构设计:
|
|
67
|
+
|
|
68
|
+
1. **系统架构图**
|
|
69
|
+
- 核心组件
|
|
70
|
+
- 数据流向
|
|
71
|
+
- 技术选型
|
|
72
|
+
|
|
73
|
+
2. **模块划分**
|
|
74
|
+
- 各模块职责
|
|
75
|
+
- 接口定义
|
|
76
|
+
- 依赖关系
|
|
77
|
+
|
|
78
|
+
3. **数据架构**
|
|
79
|
+
- 数据模型
|
|
80
|
+
- 存储方案
|
|
81
|
+
- 数据流转
|
|
82
|
+
|
|
83
|
+
4. **部署架构**
|
|
84
|
+
- 服务拓扑
|
|
85
|
+
- 网络规划
|
|
86
|
+
- 高可用方案
|
|
87
|
+
|
|
88
|
+
5. **扩展性设计**
|
|
89
|
+
- 水平扩展方案
|
|
90
|
+
- 性能瓶颈预判
|
|
91
|
+
- 容量规划
|
|
92
|
+
|
|
93
|
+
6. **安全架构**
|
|
94
|
+
- 认证授权
|
|
95
|
+
- 数据加密
|
|
96
|
+
- 安全边界
|
|
97
|
+
|
|
98
|
+
7. **监控运维**
|
|
99
|
+
- 监控指标
|
|
100
|
+
- 日志收集
|
|
101
|
+
- 告警策略
|
|
102
|
+
|
|
103
|
+
8. **实施路线**
|
|
104
|
+
- 分阶段计划
|
|
105
|
+
- 关键里程碑
|
|
106
|
+
- 风险评估
|
|
107
|
+
|
|
108
|
+
使用 Markdown + Mermaid 图表展示。
|
|
109
|
+
PROMPT_EOF
|
|
110
|
+
|
|
111
|
+
# Step 2: 优先使用 gemp (20分钟超时,输出纯净)
|
|
112
|
+
cat /tmp/gemini_architect_prompt.txt | node ~/.gemini/long_task_runner.js 2>&1
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**备用方案** (如果 gemp 失败):
|
|
116
|
+
```bash
|
|
117
|
+
cat /tmp/gemini_architect_prompt.txt | gemini --yolo 2>&1 | grep -v "STARTUP\|YOLO\|Load"
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Step 3: Claude 补充和优化
|
|
121
|
+
|
|
122
|
+
Claude 基于 Gemini 的设计:
|
|
123
|
+
1. 补充具体技术选型建议
|
|
124
|
+
2. 提供代码框架示例
|
|
125
|
+
3. 指出潜在风险和缓解措施
|
|
126
|
+
|
|
127
|
+
## 📊 输出格式
|
|
128
|
+
|
|
129
|
+
```markdown
|
|
130
|
+
## 🏛️ 系统架构设计方案
|
|
131
|
+
|
|
132
|
+
**项目**: [项目名称]
|
|
133
|
+
**设计目标**: [核心目标]
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
### 📐 系统架构图
|
|
138
|
+
|
|
139
|
+
```mermaid
|
|
140
|
+
graph TB
|
|
141
|
+
subgraph "客户端层"
|
|
142
|
+
Web[Web应用]
|
|
143
|
+
Mobile[移动应用]
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
subgraph "接入层"
|
|
147
|
+
Gateway[API网关]
|
|
148
|
+
CDN[CDN]
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
subgraph "应用层"
|
|
152
|
+
Auth[认证服务]
|
|
153
|
+
Business[业务服务]
|
|
154
|
+
Search[搜索服务]
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
subgraph "数据层"
|
|
158
|
+
MySQL[(MySQL)]
|
|
159
|
+
Redis[(Redis)]
|
|
160
|
+
ES[(ElasticSearch)]
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
Web --> Gateway
|
|
164
|
+
Mobile --> Gateway
|
|
165
|
+
Gateway --> Auth
|
|
166
|
+
Gateway --> Business
|
|
167
|
+
Business --> MySQL
|
|
168
|
+
Business --> Redis
|
|
169
|
+
Search --> ES
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**技术选型理由**:
|
|
173
|
+
- API网关: Kong (高性能、插件丰富)
|
|
174
|
+
- 缓存: Redis (支持多种数据结构)
|
|
175
|
+
- 搜索: ElasticSearch (全文检索)
|
|
176
|
+
- 数据库: MySQL (ACID保证)
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
### 🧩 模块划分
|
|
181
|
+
|
|
182
|
+
#### 1. 认证服务 (Auth Service)
|
|
183
|
+
|
|
184
|
+
**职责**:
|
|
185
|
+
- 用户认证 (JWT)
|
|
186
|
+
- 权限管理 (RBAC)
|
|
187
|
+
- SSO 集成
|
|
188
|
+
|
|
189
|
+
**接口**:
|
|
190
|
+
```typescript
|
|
191
|
+
interface AuthService {
|
|
192
|
+
login(username: string, password: string): Promise<Token>;
|
|
193
|
+
verify(token: string): Promise<User>;
|
|
194
|
+
refresh(refreshToken: string): Promise<Token>;
|
|
195
|
+
}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
**依赖**:
|
|
199
|
+
- Redis (token 存储)
|
|
200
|
+
- MySQL (用户数据)
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
#### 2. 业务服务 (Business Service)
|
|
205
|
+
|
|
206
|
+
**职责**:
|
|
207
|
+
- 核心业务逻辑
|
|
208
|
+
- 数据CRUD
|
|
209
|
+
- 事件发布
|
|
210
|
+
|
|
211
|
+
**接口**:
|
|
212
|
+
```typescript
|
|
213
|
+
interface BusinessService {
|
|
214
|
+
createOrder(order: Order): Promise<OrderId>;
|
|
215
|
+
updateOrder(id: OrderId, data: Partial<Order>): Promise<void>;
|
|
216
|
+
getOrder(id: OrderId): Promise<Order>;
|
|
217
|
+
}
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
**依赖**:
|
|
221
|
+
- MySQL (持久化)
|
|
222
|
+
- Redis (缓存)
|
|
223
|
+
- MQ (事件)
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
### 💾 数据架构
|
|
228
|
+
|
|
229
|
+
#### 数据模型
|
|
230
|
+
|
|
231
|
+
```sql
|
|
232
|
+
-- 用户表
|
|
233
|
+
CREATE TABLE users (
|
|
234
|
+
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
235
|
+
username VARCHAR(50) UNIQUE NOT NULL,
|
|
236
|
+
email VARCHAR(100) UNIQUE NOT NULL,
|
|
237
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
238
|
+
INDEX idx_email (email)
|
|
239
|
+
);
|
|
240
|
+
|
|
241
|
+
-- 订单表 (分表策略: 按用户ID hash)
|
|
242
|
+
CREATE TABLE orders (
|
|
243
|
+
id BIGINT PRIMARY KEY,
|
|
244
|
+
user_id BIGINT NOT NULL,
|
|
245
|
+
amount DECIMAL(10,2),
|
|
246
|
+
status ENUM('pending', 'paid', 'cancelled'),
|
|
247
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
248
|
+
INDEX idx_user_id (user_id),
|
|
249
|
+
INDEX idx_created_at (created_at)
|
|
250
|
+
);
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
#### 存储方案
|
|
254
|
+
|
|
255
|
+
| 数据类型 | 存储方案 | 理由 |
|
|
256
|
+
|---------|---------|------|
|
|
257
|
+
| 用户数据 | MySQL | 强一致性需求 |
|
|
258
|
+
| 会话数据 | Redis | 高频读写 |
|
|
259
|
+
| 订单数据 | MySQL (分表) | 数据量大,按用户分片 |
|
|
260
|
+
| 搜索索引 | ElasticSearch | 全文检索 |
|
|
261
|
+
| 日志数据 | ClickHouse | 大数据量分析 |
|
|
262
|
+
|
|
263
|
+
#### 缓存策略
|
|
264
|
+
|
|
265
|
+
```typescript
|
|
266
|
+
// Cache-Aside 模式
|
|
267
|
+
async function getUser(id: string): Promise<User> {
|
|
268
|
+
// 1. 查缓存
|
|
269
|
+
const cached = await redis.get(`user:${id}`);
|
|
270
|
+
if (cached) return JSON.parse(cached);
|
|
271
|
+
|
|
272
|
+
// 2. 查数据库
|
|
273
|
+
const user = await db.query('SELECT * FROM users WHERE id = ?', [id]);
|
|
274
|
+
|
|
275
|
+
// 3. 写缓存 (TTL 1小时)
|
|
276
|
+
await redis.setex(`user:${id}`, 3600, JSON.stringify(user));
|
|
277
|
+
|
|
278
|
+
return user;
|
|
279
|
+
}
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
### 🚀 部署架构
|
|
285
|
+
|
|
286
|
+
```mermaid
|
|
287
|
+
graph TB
|
|
288
|
+
subgraph "外网"
|
|
289
|
+
Client[客户端]
|
|
290
|
+
end
|
|
291
|
+
|
|
292
|
+
subgraph "DMZ区"
|
|
293
|
+
LB[负载均衡]
|
|
294
|
+
Gateway1[Gateway-1]
|
|
295
|
+
Gateway2[Gateway-2]
|
|
296
|
+
end
|
|
297
|
+
|
|
298
|
+
subgraph "应用区"
|
|
299
|
+
Auth1[Auth-1]
|
|
300
|
+
Auth2[Auth-2]
|
|
301
|
+
Business1[Business-1]
|
|
302
|
+
Business2[Business-2]
|
|
303
|
+
end
|
|
304
|
+
|
|
305
|
+
subgraph "数据区"
|
|
306
|
+
MySQLMaster[(MySQL-Master)]
|
|
307
|
+
MySQLSlave[(MySQL-Slave)]
|
|
308
|
+
RedisCluster[(Redis-Cluster)]
|
|
309
|
+
end
|
|
310
|
+
|
|
311
|
+
Client --> LB
|
|
312
|
+
LB --> Gateway1
|
|
313
|
+
LB --> Gateway2
|
|
314
|
+
Gateway1 --> Auth1
|
|
315
|
+
Gateway1 --> Business1
|
|
316
|
+
Gateway2 --> Auth2
|
|
317
|
+
Gateway2 --> Business2
|
|
318
|
+
Business1 --> MySQLMaster
|
|
319
|
+
Business2 --> MySQLMaster
|
|
320
|
+
MySQLMaster --> MySQLSlave
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
**高可用方案**:
|
|
324
|
+
- API网关: 2个实例 + LVS负载均衡
|
|
325
|
+
- 应用服务: 至少2个实例 (跨机房)
|
|
326
|
+
- MySQL: 主从复制 + MHA自动切换
|
|
327
|
+
- Redis: Cluster模式 (3主3从)
|
|
328
|
+
|
|
329
|
+
**容灾策略**:
|
|
330
|
+
- RTO (恢复时间目标): < 5分钟
|
|
331
|
+
- RPO (数据丢失目标): < 1分钟
|
|
332
|
+
- 异地备份: 每天全量 + 实时增量
|
|
333
|
+
|
|
334
|
+
---
|
|
335
|
+
|
|
336
|
+
### 📈 扩展性设计
|
|
337
|
+
|
|
338
|
+
#### 水平扩展方案
|
|
339
|
+
|
|
340
|
+
**应用层**:
|
|
341
|
+
- 无状态设计 (session 存 Redis)
|
|
342
|
+
- 支持动态扩容 (K8s HPA)
|
|
343
|
+
- 目标: 支持 10x 流量增长
|
|
344
|
+
|
|
345
|
+
**数据层**:
|
|
346
|
+
- MySQL: 读写分离 + 分库分表
|
|
347
|
+
- 按用户ID hash 分16个库
|
|
348
|
+
- 每个库按时间分表 (月表)
|
|
349
|
+
- Redis: Cluster 水平扩展
|
|
350
|
+
- 消息队列: Kafka 分区扩展
|
|
351
|
+
|
|
352
|
+
#### 性能瓶颈预判
|
|
353
|
+
|
|
354
|
+
| 场景 | 瓶颈点 | 缓解方案 |
|
|
355
|
+
|------|--------|---------|
|
|
356
|
+
| 高并发读 | 数据库 | 增加 Redis 缓存 + 读写分离 |
|
|
357
|
+
| 高并发写 | 数据库 | 分库分表 + 异步写入 |
|
|
358
|
+
| 大查询 | 网络带宽 | 分页 + CDN + 数据压缩 |
|
|
359
|
+
| 复杂计算 | CPU | 异步队列 + 结果缓存 |
|
|
360
|
+
|
|
361
|
+
#### 容量规划
|
|
362
|
+
|
|
363
|
+
**当前容量** (100万 DAU):
|
|
364
|
+
- API网关: 4核8G × 2 = 2万QPS
|
|
365
|
+
- 业务服务: 4核8G × 4 = 4万QPS
|
|
366
|
+
- MySQL: 16核32G × 1主2从 = 2万QPS
|
|
367
|
+
- Redis: 8核16G × 6节点 = 20万QPS
|
|
368
|
+
|
|
369
|
+
**扩展目标** (1000万 DAU):
|
|
370
|
+
- API网关: 扩展到 10 实例
|
|
371
|
+
- 业务服务: 扩展到 20 实例
|
|
372
|
+
- MySQL: 分库到 16 个库
|
|
373
|
+
- Redis: 扩展到 30 节点
|
|
374
|
+
|
|
375
|
+
---
|
|
376
|
+
|
|
377
|
+
### 🔒 安全架构
|
|
378
|
+
|
|
379
|
+
#### 认证授权
|
|
380
|
+
|
|
381
|
+
```typescript
|
|
382
|
+
// JWT Token 结构
|
|
383
|
+
interface JWTPayload {
|
|
384
|
+
userId: string;
|
|
385
|
+
role: 'admin' | 'user';
|
|
386
|
+
permissions: string[];
|
|
387
|
+
exp: number; // 过期时间
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
// RBAC 权限检查
|
|
391
|
+
async function checkPermission(userId: string, resource: string, action: string): Promise<boolean> {
|
|
392
|
+
const user = await getUser(userId);
|
|
393
|
+
const role = await getRole(user.roleId);
|
|
394
|
+
return role.permissions.includes(`${resource}:${action}`);
|
|
395
|
+
}
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
#### 安全边界
|
|
399
|
+
|
|
400
|
+
```
|
|
401
|
+
外网 → [WAF] → LB → [API限流] → Gateway → [JWT验证] → Service → [SQL防注入] → DB
|
|
402
|
+
↓ ↓ ↓
|
|
403
|
+
DDoS防护 Token黑名单 参数化查询
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
#### 数据加密
|
|
407
|
+
|
|
408
|
+
- **传输加密**: HTTPS/TLS 1.3
|
|
409
|
+
- **存储加密**: 敏感字段 AES-256 加密
|
|
410
|
+
- **密钥管理**: KMS (Key Management Service)
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
### 📊 监控运维
|
|
415
|
+
|
|
416
|
+
#### 监控指标
|
|
417
|
+
|
|
418
|
+
**黄金指标**:
|
|
419
|
+
- 延迟 (Latency): p50, p95, p99
|
|
420
|
+
- 流量 (Traffic): QPS, 带宽
|
|
421
|
+
- 错误 (Errors): 错误率, 5xx比例
|
|
422
|
+
- 饱和度 (Saturation): CPU, 内存, 磁盘
|
|
423
|
+
|
|
424
|
+
**业务指标**:
|
|
425
|
+
- 订单转化率
|
|
426
|
+
- 支付成功率
|
|
427
|
+
- 用户活跃度
|
|
428
|
+
|
|
429
|
+
#### 日志收集
|
|
430
|
+
|
|
431
|
+
```
|
|
432
|
+
应用日志 → Filebeat → Kafka → Logstash → ElasticSearch → Kibana
|
|
433
|
+
↓
|
|
434
|
+
告警规则
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
#### 告警策略
|
|
438
|
+
|
|
439
|
+
| 级别 | 触发条件 | 通知方式 |
|
|
440
|
+
|------|---------|---------|
|
|
441
|
+
| P0 | 服务不可用 | 电话 + 短信 + IM |
|
|
442
|
+
| P1 | 错误率 >1% | IM + 邮件 |
|
|
443
|
+
| P2 | 延迟 p99 >1s | IM |
|
|
444
|
+
| P3 | 磁盘 >80% | 邮件 |
|
|
445
|
+
|
|
446
|
+
---
|
|
447
|
+
|
|
448
|
+
### 🛣️ 实施路线
|
|
449
|
+
|
|
450
|
+
#### Phase 1: MVP (2个月)
|
|
451
|
+
|
|
452
|
+
**目标**: 核心功能上线
|
|
453
|
+
|
|
454
|
+
- [ ] Week 1-2: 基础架构搭建
|
|
455
|
+
- 搭建 K8s 集群
|
|
456
|
+
- 配置 MySQL 主从
|
|
457
|
+
- 部署 Redis Cluster
|
|
458
|
+
|
|
459
|
+
- [ ] Week 3-4: 核心服务开发
|
|
460
|
+
- 认证服务
|
|
461
|
+
- 业务服务 API
|
|
462
|
+
- 基础前端页面
|
|
463
|
+
|
|
464
|
+
- [ ] Week 5-6: 测试上线
|
|
465
|
+
- 压测 (目标 5000 QPS)
|
|
466
|
+
- 灰度发布
|
|
467
|
+
- 正式上线
|
|
468
|
+
|
|
469
|
+
**验收标准**:
|
|
470
|
+
- 核心功能可用
|
|
471
|
+
- QPS 支持 5000+
|
|
472
|
+
- p99 延迟 < 500ms
|
|
473
|
+
|
|
474
|
+
---
|
|
475
|
+
|
|
476
|
+
#### Phase 2: 优化 (1个月)
|
|
477
|
+
|
|
478
|
+
**目标**: 性能和稳定性优化
|
|
479
|
+
|
|
480
|
+
- [ ] Week 1: 性能优化
|
|
481
|
+
- 增加缓存层
|
|
482
|
+
- SQL 慢查询优化
|
|
483
|
+
- CDN 接入
|
|
484
|
+
|
|
485
|
+
- [ ] Week 2-3: 高可用
|
|
486
|
+
- 数据库主从切换演练
|
|
487
|
+
- 应用多实例部署
|
|
488
|
+
- 监控告警完善
|
|
489
|
+
|
|
490
|
+
- [ ] Week 4: 压测验证
|
|
491
|
+
- 压测到 20000 QPS
|
|
492
|
+
- 故障演练
|
|
493
|
+
- 性能报告
|
|
494
|
+
|
|
495
|
+
**验收标准**:
|
|
496
|
+
- QPS 支持 20000+
|
|
497
|
+
- 可用性 99.9%
|
|
498
|
+
- 主从切换 < 30s
|
|
499
|
+
|
|
500
|
+
---
|
|
501
|
+
|
|
502
|
+
#### Phase 3: 扩展 (持续)
|
|
503
|
+
|
|
504
|
+
**目标**: 支持业务增长
|
|
505
|
+
|
|
506
|
+
- 分库分表实施
|
|
507
|
+
- 微服务拆分
|
|
508
|
+
- 多机房部署
|
|
509
|
+
- 国际化支持
|
|
510
|
+
|
|
511
|
+
---
|
|
512
|
+
|
|
513
|
+
### ⚠️ 风险评估
|
|
514
|
+
|
|
515
|
+
| 风险 | 影响 | 概率 | 缓解措施 |
|
|
516
|
+
|------|------|------|---------|
|
|
517
|
+
| MySQL 单点故障 | 高 | 中 | 主从复制 + MHA |
|
|
518
|
+
| Redis 数据丢失 | 中 | 低 | AOF持久化 + 定期备份 |
|
|
519
|
+
| 第三方服务不可用 | 中 | 中 | 熔断降级 + 本地缓存 |
|
|
520
|
+
| 团队技术储备不足 | 高 | 高 | 培训 + 外部顾问 |
|
|
521
|
+
|
|
522
|
+
---
|
|
523
|
+
|
|
524
|
+
**📅 设计时间**: [时间戳]
|
|
525
|
+
**🤖 架构师**: Gemini (1M 上下文) + Claude (补充)
|
|
526
|
+
**📐 架构评分**: [评分] / 10
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
---
|
|
530
|
+
|
|
531
|
+
### 🎯 Claude 补充建议
|
|
532
|
+
|
|
533
|
+
[Claude 基于 Gemini 的架构设计,补充具体技术实现建议]
|
|
534
|
+
|
|
535
|
+
---
|
|
536
|
+
|
|
537
|
+
**创建时间**: 2025-12-19
|
|
538
|
+
**版本**: v1.0
|
|
539
|
+
**替代**: PAL MCP clink gemini planner
|