返回 ppt-master
06_permissions.svg
1 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
2 <defs>
3 <filter id="cardShadow6" x="-15%" y="-15%" width="140%" height="140%">
4 <feGaussianBlur in="SourceAlpha" stdDeviation="10"/>
5 <feOffset dx="0" dy="5" result="offsetBlur"/>
6 <feFlood flood-color="#000000" flood-opacity="0.18" result="shadowColor"/>
7 <feComposite in="shadowColor" in2="offsetBlur" operator="in" result="shadow"/>
8 <feMerge>
9 <feMergeNode in="shadow"/>
10 <feMergeNode in="SourceGraphic"/>
11 </feMerge>
12 </filter>
13 <linearGradient id="titleBar6" x1="0%" y1="0%" x2="100%" y2="0%">
14 <stop offset="0%" stop-color="#D4A574"/>
15 <stop offset="100%" stop-color="#60A5FA"/>
16 </linearGradient>
17 </defs>
18
19 <!-- Background -->
20 <rect width="1280" height="720" fill="#0D1117"/>
21
22 <!-- Header -->
23 <g id="header">
24 <rect x="60" y="40" width="4" height="30" fill="#D4A574"/>
25 <text x="76" y="63" font-family="Arial, Helvetica, sans-serif" font-size="14" fill="#8B949E" letter-spacing="3">PERMISSIONS</text>
26 <text x="60" y="105" font-family="Arial, Helvetica, sans-serif" font-size="40" font-weight="bold" fill="#E6EDF3">How Permission Decisions Work</text>
27 <rect x="60" y="115" width="200" height="3" fill="url(#titleBar6)"/>
28 </g>
29
30 <!-- Image area (left side) — Fig.1 Permission modes -->
31 <g id="permissions-image">
32 <rect x="60" y="145" width="500" height="500" rx="12" fill="#161B22" stroke="#30363D" stroke-width="1" filter="url(#cardShadow6)"/>
33 <image href="../images/image.png" x="70" y="155" width="480" height="480" preserveAspectRatio="xMidYMid meet"/>
34 <text x="310" y="663" text-anchor="middle" font-family="Calibri, Arial, sans-serif" font-size="11" fill="#6E7681">Figure 1: Permission Modes Tradeoff Space</text>
35 </g>
36
37 <!-- Three Tiers (right side) -->
38 <!-- Tier 1 -->
39 <g id="tier-1">
40 <rect x="600" y="145" width="620" height="150" rx="10" fill="#1C2333" stroke="#30363D" stroke-width="1"/>
41 <rect x="600" y="145" width="5" height="150" rx="2" fill="#34D399"/>
42 <circle cx="635" cy="175" r="16" fill="#34D399" fill-opacity="0.15"/>
43 <text x="635" y="181" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14" font-weight="bold" fill="#34D399">1</text>
44 <text x="662" y="180" font-family="Arial, Helvetica, sans-serif" font-size="20" font-weight="bold" fill="#34D399">Safe-Tool Allowlist</text>
45 <use data-icon="chunk/circle-checkmark" x="1170" y="158" width="28" height="28" fill="#34D399"/>
46 <text x="622" y="210" font-family="Calibri, Arial, sans-serif" font-size="16" fill="#E6EDF3">Fixed allowlist: file reads, search, code navigation</text>
47 <text x="622" y="232" font-family="Calibri, Arial, sans-serif" font-size="16" fill="#E6EDF3">+ user-configured always-allow rules</text>
48 <text x="622" y="260" font-family="Calibri, Arial, sans-serif" font-size="14" fill="#8B949E">Auto mode drops broad interpreter escapes (python, node, ruby)</text>
49 </g>
50
51 <!-- Tier 2 -->
52 <g id="tier-2">
53 <rect x="600" y="315" width="620" height="150" rx="10" fill="#1C2333" stroke="#30363D" stroke-width="1"/>
54 <rect x="600" y="315" width="5" height="150" rx="2" fill="#60A5FA"/>
55 <circle cx="635" cy="345" r="16" fill="#60A5FA" fill-opacity="0.15"/>
56 <text x="635" y="351" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14" font-weight="bold" fill="#60A5FA">2</text>
57 <text x="662" y="350" font-family="Arial, Helvetica, sans-serif" font-size="20" font-weight="bold" fill="#60A5FA">In-Project File Operations</text>
58 <use data-icon="chunk/lock-closed" x="1170" y="328" width="28" height="28" fill="#60A5FA"/>
59 <text x="622" y="380" font-family="Calibri, Arial, sans-serif" font-size="16" fill="#E6EDF3">File writes/edits inside the project directory</text>
60 <text x="622" y="402" font-family="Calibri, Arial, sans-serif" font-size="16" fill="#E6EDF3">allowed without classifier call</text>
61 <text x="622" y="430" font-family="Calibri, Arial, sans-serif" font-size="14" fill="#8B949E">Reviewable via version control — no latency cost</text>
62 </g>
63
64 <!-- Tier 3 -->
65 <g id="tier-3">
66 <rect x="600" y="485" width="620" height="165" rx="10" fill="#1C2333" stroke="#D4A574" stroke-width="1"/>
67 <rect x="600" y="485" width="5" height="165" rx="2" fill="#D4A574"/>
68 <circle cx="635" cy="515" r="16" fill="#D4A574" fill-opacity="0.15"/>
69 <text x="635" y="521" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14" font-weight="bold" fill="#D4A574">3</text>
70 <text x="662" y="520" font-family="Arial, Helvetica, sans-serif" font-size="20" font-weight="bold" fill="#D4A574">Transcript Classifier</text>
71 <use data-icon="chunk/filter" x="1170" y="498" width="28" height="28" fill="#D4A574"/>
72 <text x="622" y="550" font-family="Calibri, Arial, sans-serif" font-size="16" fill="#E6EDF3">Shell commands, web fetches, external tools,</text>
73 <text x="622" y="572" font-family="Calibri, Arial, sans-serif" font-size="16" fill="#E6EDF3">subagent spawns, filesystem ops outside project</text>
74 <text x="622" y="602" font-family="Calibri, Arial, sans-serif" font-size="14" fill="#8B949E">Stage 1: fast yes/no filter → Stage 2: chain-of-thought reasoning</text>
75 <rect x="622" y="620" width="200" height="20" rx="4" fill="#D4A574" fill-opacity="0.1"/>
76 <text x="632" y="635" font-family="Calibri, Arial, sans-serif" font-size="12" fill="#D4A574">Only real downside potential reaches here</text>
77 </g>
78
79 <!-- Footer -->
80 <g id="footer">
81 <text x="1220" y="700" text-anchor="end" font-family="Calibri, Arial, sans-serif" font-size="11" fill="#6E7681">06 / 10</text>
82 </g>
83 </svg>
84
84 lines Plain Text