clew-code 0.2.7 → 0.2.8
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/README.md +292 -299
- package/dist/main.js +2745 -2869
- package/docs/architecture.html +148 -145
- package/docs/architecture.th.html +79 -78
- package/docs/clew-code-architecture.html +1125 -0
- package/docs/commands.html +224 -223
- package/docs/commands.th.html +131 -130
- package/docs/configuration.html +147 -145
- package/docs/configuration.th.html +108 -106
- package/docs/css/styles.css +48 -42
- package/docs/daemon.html +129 -128
- package/docs/daemon.th.html +73 -72
- package/docs/features/bridge-mode.html +99 -98
- package/docs/features/bridge-mode.th.html +90 -89
- package/docs/features/evals.html +182 -181
- package/docs/features/evals.th.html +90 -89
- package/docs/features/peer.html +178 -177
- package/docs/features/searxng-search.html +151 -150
- package/docs/features/searxng-search.th.html +95 -94
- package/docs/features/sentry-setup.html +157 -156
- package/docs/features/sentry-setup.th.html +97 -96
- package/docs/index.html +299 -298
- package/docs/index.th.html +292 -290
- package/docs/installation.html +105 -103
- package/docs/installation.th.html +105 -103
- package/docs/internals/growthbook-ab-testing.html +113 -112
- package/docs/internals/growthbook-ab-testing.th.html +81 -80
- package/docs/internals/hidden-features.html +149 -147
- package/docs/internals/hidden-features.th.html +109 -107
- package/docs/js/main.js +83 -3
- package/docs/loop.html +181 -180
- package/docs/loop.th.html +227 -226
- package/docs/mcp.html +247 -246
- package/docs/mcp.th.html +207 -206
- package/docs/models.html +111 -110
- package/docs/models.th.html +61 -60
- package/docs/peer.html +236 -235
- package/docs/peer.th.html +280 -279
- package/docs/permission-model.html +102 -101
- package/docs/permission-model.th.html +67 -66
- package/docs/plugins.html +102 -101
- package/docs/plugins.th.html +79 -78
- package/docs/providers.html +126 -117
- package/docs/providers.th.html +80 -78
- package/docs/quick-start.html +93 -92
- package/docs/quick-start.th.html +40 -39
- package/docs/research-memory.html +82 -79
- package/docs/research-memory.th.html +72 -71
- package/docs/skills.html +117 -116
- package/docs/skills.th.html +90 -89
- package/docs/tools.html +170 -169
- package/docs/tools.th.html +84 -83
- package/docs/troubleshooting.html +106 -105
- package/docs/troubleshooting.th.html +85 -84
- package/package.json +164 -162
- package/docs/taste.html +0 -436
- package/docs/taste.th.html +0 -236
package/docs/tools.th.html
CHANGED
|
@@ -1,83 +1,84 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="th">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title
|
|
7
|
-
<meta name="description" content="
|
|
8
|
-
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
|
-
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
|
-
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&family=Noto+Sans+Thai:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
11
|
-
<link rel="stylesheet" href="css/styles.css">
|
|
12
|
-
<link rel="icon" type="image/svg+xml" href="./assets/clew.svg">
|
|
13
|
-
</head>
|
|
14
|
-
<body>
|
|
15
|
-
<header class="header"></header>
|
|
16
|
-
<div class="app"><aside class="sidebar" id="sidebar"></aside><div class="sidebar-overlay" id="sidebarOverlay"></div>
|
|
17
|
-
<div class="content-wrap"><main class="content">
|
|
18
|
-
<div class="breadcrumbs"><a href="index.th.html"
|
|
19
|
-
<h1
|
|
20
|
-
<p class="section-subtitle">Clew
|
|
21
|
-
|
|
22
|
-
<h2
|
|
23
|
-
<p
|
|
24
|
-
|
|
25
|
-
<pre><code
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
<h2
|
|
35
|
-
<table>
|
|
36
|
-
<tr><th
|
|
37
|
-
<tr><td><code>Read</code></td><td
|
|
38
|
-
<tr><td><code>Write</code></td><td
|
|
39
|
-
<tr><td><code>Edit</code></td><td
|
|
40
|
-
<tr><td><code>Glob</code></td><td
|
|
41
|
-
<tr><td><code>Grep</code></td><td
|
|
42
|
-
<tr><td><code>NotebookEdit</code></td><td
|
|
43
|
-
</table>
|
|
44
|
-
|
|
45
|
-
<h2
|
|
46
|
-
<table>
|
|
47
|
-
<tr><th
|
|
48
|
-
<tr><td><code>Bash</code></td><td
|
|
49
|
-
<tr><td><code>Monitor</code></td><td
|
|
50
|
-
<tr><td><code>TaskOutput</code></td><td
|
|
51
|
-
</table>
|
|
52
|
-
|
|
53
|
-
<h2
|
|
54
|
-
<table>
|
|
55
|
-
<tr><th
|
|
56
|
-
<tr><td><code>WebSearch</code></td><td
|
|
57
|
-
<tr><td><code>WebFetch</code></td><td
|
|
58
|
-
<tr><td><code>SessionSearch</code></td><td
|
|
59
|
-
</table>
|
|
60
|
-
|
|
61
|
-
<h2
|
|
62
|
-
<p
|
|
63
|
-
<ul>
|
|
64
|
-
<li><strong>isEnabled()</strong>
|
|
65
|
-
<li><strong>isConcurrencySafe()</strong>
|
|
66
|
-
<li><strong>isReadOnly()</strong>
|
|
67
|
-
<li><strong>isDestructive()</strong>
|
|
68
|
-
</ul>
|
|
69
|
-
|
|
70
|
-
<footer class="footer">
|
|
71
|
-
<span>Clew Code v0.2.
|
|
72
|
-
<div class="footer-links">
|
|
73
|
-
<a href="https://github.com/
|
|
74
|
-
<a href="https://github.com/
|
|
75
|
-
</div>
|
|
76
|
-
</footer>
|
|
77
|
-
</main>
|
|
78
|
-
<nav class="toc-sidebar"></nav>
|
|
79
|
-
</div>
|
|
80
|
-
</div>
|
|
81
|
-
<script src="js/main.js"></script>
|
|
82
|
-
</body>
|
|
83
|
-
</html>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="th">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>เครื่à¸à¸‡à¸¡à¸·à¸ — Clew</title>
|
|
7
|
+
<meta name="description" content="ข้à¸à¸¡à¸¹à¸¥à¸à¹‰à¸²à¸‡à¸à¸´à¸‡à¹€à¸„รื่à¸à¸‡à¸¡à¸·à¸à¹ƒà¸™à¸•ัวขà¸à¸‡ Clew — à¸à¸²à¸£à¸”ำเนินà¸à¸²à¸£à¹„ฟล์, เชลล์, ค้นหา, เà¸à¹€à¸ˆà¸™à¸•์, MCP, à¹à¸¥à¸°à¸£à¸°à¸šà¸šà¸à¸±à¸•โนมัติ">
|
|
8
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
|
+
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&family=Noto+Sans+Thai:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
11
|
+
<link rel="stylesheet" href="css/styles.css">
|
|
12
|
+
<link rel="icon" type="image/svg+xml" href="./assets/clew.svg">
|
|
13
|
+
</head>
|
|
14
|
+
<body>
|
|
15
|
+
<header class="header"></header>
|
|
16
|
+
<div class="app"><aside class="sidebar" id="sidebar"></aside><div class="sidebar-overlay" id="sidebarOverlay"></div>
|
|
17
|
+
<div class="content-wrap"><main class="content">
|
|
18
|
+
<div class="breadcrumbs"><a href="index.th.html">หน้าà¹à¸£à¸</a><span class="sep">/</span><span>เครื่à¸à¸‡à¸¡à¸·à¸</span></div>
|
|
19
|
+
<h1>เครื่à¸à¸‡à¸¡à¸·à¸</h1>
|
|
20
|
+
<p class="section-subtitle">Clew มีเครื่à¸à¸‡à¸¡à¸·à¸à¹ƒà¸™à¸•ัว 50+ รายà¸à¸²à¸£ พร้à¸à¸¡à¹€à¸„รื่à¸à¸‡à¸¡à¸·à¸ MCP ที่โหลดà¹à¸šà¸šà¹„ดนามิภเครื่à¸à¸‡à¸¡à¸·à¸à¸–ูà¸à¹€à¸£à¸µà¸¢à¸à¹‚ดยโมเดล AI ผ่านบล็à¸à¸ <code>tool_use</code></p>
|
|
21
|
+
|
|
22
|
+
<h2>วิธีà¸à¸²à¸£à¸—ำงานขà¸à¸‡à¹€à¸„รื่à¸à¸‡à¸¡à¸·à¸</h2>
|
|
23
|
+
<p>เครื่à¸à¸‡à¸¡à¸·à¸à¸–ูà¸à¸à¸³à¸«à¸™à¸”ด้วย Zod schemas ใน <code>src/Tool.ts</code> ผ่านตัวช่วย <code>buildTool()</code> à¹à¸¥à¸°à¸¥à¸‡à¸—ะเบียนใน <code>src/tools.ts</code></p>
|
|
24
|
+
|
|
25
|
+
<pre><code>โมเดลส่ง tool_use
|
|
26
|
+
ปรับมาตรà¸à¸²à¸™à¸à¸²à¸£à¹€à¸£à¸µà¸¢à¸à¹ƒà¸Šà¹‰à¹€à¸„รื่à¸à¸‡à¸¡à¸·à¸ (toolCallParser.ts)
|
|
27
|
+
ตรวจสà¸à¸šà¸ªà¸´à¸—ธิ์ (permissions.ts)
|
|
28
|
+
ฮุค PreToolUse (ปลั๊à¸à¸à¸´à¸™)
|
|
29
|
+
ดำเนินà¸à¸²à¸£à¹€à¸„รื่à¸à¸‡à¸¡à¸·à¸ (StreamingToolExecutor)
|
|
30
|
+
ฮุค PostToolUse (ปลั๊à¸à¸à¸´à¸™)
|
|
31
|
+
ส่งคืนผลลัพธ์เป็น tool_result
|
|
32
|
+
วนซ้ำคำถามต่à¸à¹„ป</code></pre>
|
|
33
|
+
|
|
34
|
+
<h2>à¸à¸²à¸£à¸”ำเนินà¸à¸²à¸£à¹„ฟล์à¹à¸¥à¸°à¹‚ค้ด</h2>
|
|
35
|
+
<table>
|
|
36
|
+
<tr><th>เครื่à¸à¸‡à¸¡à¸·à¸</th><th>คำà¸à¸˜à¸´à¸šà¸²à¸¢</th></tr>
|
|
37
|
+
<tr><td><code>Read</code></td><td>à¸à¹ˆà¸²à¸™à¹„ฟล์พร้à¸à¸¡à¸«à¸¡à¸²à¸¢à¹€à¸¥à¸‚บรรทัด, รà¸à¸‡à¸£à¸±à¸šà¸£à¸¹à¸›à¸ าพ, PDF, Jupyter notebooks</td></tr>
|
|
38
|
+
<tr><td><code>Write</code></td><td>สร้างไฟล์ใหม่พร้à¸à¸¡à¹€à¸™à¸·à¹‰à¸à¸«à¸²à¹€à¸•็ม</td></tr>
|
|
39
|
+
<tr><td><code>Edit</code></td><td>à¹à¸à¹‰à¹„ขà¹à¸šà¸šà¹à¸—นที่สตริงที่à¹à¸™à¹ˆà¸™à¸à¸™</td></tr>
|
|
40
|
+
<tr><td><code>Glob</code></td><td>ค้นหาไฟล์ด้วย pattern, เรียงตามเวลาà¹à¸à¹‰à¹„ข</td></tr>
|
|
41
|
+
<tr><td><code>Grep</code></td><td>ค้นหาเนื้à¸à¸«à¸²à¸”้วย regex พร้à¸à¸¡à¸šà¸£à¸£à¸—ัดบริบท</td></tr>
|
|
42
|
+
<tr><td><code>NotebookEdit</code></td><td>à¹à¸à¹‰à¹„ขเซลล์ Jupyter notebook</td></tr>
|
|
43
|
+
</table>
|
|
44
|
+
|
|
45
|
+
<h2>เชลล์à¹à¸¥à¸°à¸£à¸°à¸šà¸š</h2>
|
|
46
|
+
<table>
|
|
47
|
+
<tr><th>เครื่à¸à¸‡à¸¡à¸·à¸</th><th>คำà¸à¸˜à¸´à¸šà¸²à¸¢</th></tr>
|
|
48
|
+
<tr><td><code>Bash</code></td><td>รันคำสั่ง shell พร้à¸à¸¡ timeout, background, sandbox</td></tr>
|
|
49
|
+
<tr><td><code>Monitor</code></td><td>สตรีม stdout/stderr จาà¸à¸‡à¸²à¸™à¸žà¸·à¹‰à¸™à¸«à¸¥à¸±à¸‡à¹à¸šà¸šà¹€à¸£à¸µà¸¢à¸¥à¹„ทม์</td></tr>
|
|
50
|
+
<tr><td><code>TaskOutput</code></td><td>รับผลลัพธ์จาà¸à¸‡à¸²à¸™à¸—ี่à¸à¸³à¸¥à¸±à¸‡à¸£à¸±à¸™à¸«à¸£à¸·à¸à¹€à¸ªà¸£à¹‡à¸ˆà¹à¸¥à¹‰à¸§</td></tr>
|
|
51
|
+
</table>
|
|
52
|
+
|
|
53
|
+
<h2>ค้นหาà¹à¸¥à¸°à¹€à¸§à¹‡à¸š</h2>
|
|
54
|
+
<table>
|
|
55
|
+
<tr><th>เครื่à¸à¸‡à¸¡à¸·à¸</th><th>คำà¸à¸˜à¸´à¸šà¸²à¸¢</th></tr>
|
|
56
|
+
<tr><td><code>WebSearch</code></td><td>ค้นหาเว็บหลายผู้ให้บริà¸à¸²à¸£ (Tavily, Brave, Serper, SearXNG, DuckDuckGo)</td></tr>
|
|
57
|
+
<tr><td><code>WebFetch</code></td><td>ดึงà¹à¸¥à¸°à¸§à¸´à¹€à¸„ราะห์เนื้à¸à¸«à¸²à¸ˆà¸²à¸ URL</td></tr>
|
|
58
|
+
<tr><td><code>SessionSearch</code></td><td>ค้นหาข้à¸à¸„วามเต็มในประวัติเซสชันที่ผ่านมา</td></tr>
|
|
59
|
+
</table>
|
|
60
|
+
|
|
61
|
+
<h2>ความปลà¸à¸”ภัยà¹à¸¥à¸°à¸ªà¸´à¸—ธิ์ขà¸à¸‡à¹€à¸„รื่à¸à¸‡à¸¡à¸·à¸</h2>
|
|
62
|
+
<p>à¹à¸•่ละเครื่à¸à¸‡à¸¡à¸·à¸à¸›à¸£à¸°à¸à¸²à¸¨:</p>
|
|
63
|
+
<ul>
|
|
64
|
+
<li><strong>isEnabled()</strong> — พร้à¸à¸¡à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹ƒà¸™ build ปัจจุบันหรืà¸à¹„ม่</li>
|
|
65
|
+
<li><strong>isConcurrencySafe()</strong> — รันพร้à¸à¸¡à¸à¸±à¸šà¹€à¸„รื่à¸à¸‡à¸¡à¸·à¸à¸à¸·à¹ˆà¸™à¹„ด้หรืà¸à¹„ม่</li>
|
|
66
|
+
<li><strong>isReadOnly()</strong> — ไม่à¹à¸à¹‰à¹„ขระบบไฟล์</li>
|
|
67
|
+
<li><strong>isDestructive()</strong> — ดำเนินà¸à¸²à¸£à¸—ี่ไม่สามารถย้à¸à¸™à¸à¸¥à¸±à¸š</li>
|
|
68
|
+
</ul>
|
|
69
|
+
|
|
70
|
+
<footer class="footer">
|
|
71
|
+
<span>Clew Code v0.2.7 — โà¸à¹€à¸žà¸™à¸‹à¸à¸£à¹Œà¸ª</span>
|
|
72
|
+
<div class="footer-links">
|
|
73
|
+
<a href="https://github.com/ClewCode/ClewCode">GitHub</a>
|
|
74
|
+
<a href="https://github.com/ClewCode/ClewCode/issues">ปัà¸à¸«à¸²</a>
|
|
75
|
+
</div>
|
|
76
|
+
</footer>
|
|
77
|
+
</main>
|
|
78
|
+
<nav class="toc-sidebar"></nav>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
<script src="js/main.js"></script>
|
|
82
|
+
</body>
|
|
83
|
+
</html>
|
|
84
|
+
|
|
@@ -1,105 +1,106 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>Troubleshooting
|
|
7
|
-
<meta name="description" content="Common issues and solutions for Clew
|
|
8
|
-
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
|
-
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
|
-
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
11
|
-
<link rel="stylesheet" href="css/styles.css">
|
|
12
|
-
<link rel="icon" type="image/svg+xml" href="./assets/clew.svg">
|
|
13
|
-
</head>
|
|
14
|
-
<body>
|
|
15
|
-
<header class="header"></header>
|
|
16
|
-
<div class="app"><aside class="sidebar" id="sidebar"></aside><div class="sidebar-overlay" id="sidebarOverlay"></div>
|
|
17
|
-
<div class="content-wrap"><main class="content">
|
|
18
|
-
<div class="breadcrumbs"><a href="index.html">Home</a><span class="sep">/</span><span>Troubleshooting</span></div>
|
|
19
|
-
<h1>Troubleshooting</h1>
|
|
20
|
-
<p class="section-subtitle">Start with <code>/doctor</code>
|
|
21
|
-
|
|
22
|
-
<h2>Startup Issues</h2>
|
|
23
|
-
<h3>"command not found: clew"</h3>
|
|
24
|
-
<p>npm global install path may not be in <code>PATH</code>. Use <code>npx clew-code</code> or <code>bun x clew-code</code> as alternatives.</p>
|
|
25
|
-
|
|
26
|
-
<h3>"Bun not found"</h3>
|
|
27
|
-
<p>Clew requires <a href="https://bun.sh">Bun 1.3+</a> as the runtime for the npm package.</p>
|
|
28
|
-
|
|
29
|
-
<h2>Provider Issues</h2>
|
|
30
|
-
|
|
31
|
-
<h3>"No API key configured"</h3>
|
|
32
|
-
<p>Set at least one provider API key as an environment variable. See <a href="providers.html">Providers</a> for the full list.</p>
|
|
33
|
-
<pre><code>export ANTHROPIC_API_KEY=sk-ant-...
|
|
34
|
-
export DEEPSEEK_API_KEY=sk-...</code></pre>
|
|
35
|
-
<p>Run <code>/doctor</code> to verify configured providers.</p>
|
|
36
|
-
|
|
37
|
-
<h3>"Rate limited" or "Quota exceeded"</h3>
|
|
38
|
-
<p>Set a fallback model via CLI: <code>--fallback-model <model></code>. Or use <code>/model</code> to switch to a different provider. For rate limit options during a session, use <code>/rate-limit-options</code>.</p>
|
|
39
|
-
|
|
40
|
-
<h2>Build Issues</h2>
|
|
41
|
-
|
|
42
|
-
<h3>TypeScript errors during build</h3>
|
|
43
|
-
<pre><code>bun run build
|
|
44
|
-
# TypeScript errors may exist in uncommitted code or external modules.
|
|
45
|
-
# Run targeted checks:
|
|
46
|
-
bun x tsc --noEmit
|
|
47
|
-
bun test <targeted-path></code></pre>
|
|
48
|
-
|
|
49
|
-
<h3>Windows-specific issues</h3>
|
|
50
|
-
<ul>
|
|
51
|
-
<li>ripgrep is bundled at <code>src/utils/vendor/ripgrep/x64-win32/rg.exe</code></li>
|
|
52
|
-
<li>TTY polyfill may be needed for Ink compatibility</li>
|
|
53
|
-
<li>PowerShell and Bash may behave differently for tool execution</li>
|
|
54
|
-
<li>Windows argv normalization in <code>src/entry.ts</code></li>
|
|
55
|
-
</ul>
|
|
56
|
-
|
|
57
|
-
<h2>MCP Issues</h2>
|
|
58
|
-
|
|
59
|
-
<h3>"MCP server connection failed"</h3>
|
|
60
|
-
<p>Verify the server command exists and paths are correct. Check JSON config syntax with <code>/mcp</code> command.</p>
|
|
61
|
-
|
|
62
|
-
<h3>MCP tools not appearing</h3>
|
|
63
|
-
<p>Use <code>/mcp</code> to check server status. Tools are loaded at startup via <code>--mcp-config</code> or through <code>assembleToolPool()</code> during server connection. Verify the server implements <code>tools/list</code> correctly.</p>
|
|
64
|
-
|
|
65
|
-
<h2>Plugin Issues</h2>
|
|
66
|
-
|
|
67
|
-
<h3>Plugin not loading</h3>
|
|
68
|
-
<p>Check plugin manifest format and location. Use <code>/plugin</code> and <code>/reload-plugins</code> to refresh. For directory-based plugins, use <code>--plugin-dir <path></code>.</p>
|
|
69
|
-
|
|
70
|
-
<h2>Feature Flags</h2>
|
|
71
|
-
<p>Some features require compile-time or runtime flags:</p>
|
|
72
|
-
<table>
|
|
73
|
-
<tr><th>Feature</th><th>Required Flag</th></tr>
|
|
74
|
-
<tr><td>Bridge mode</td><td><code>BRIDGE_MODE=1</code></td></tr>
|
|
75
|
-
<tr><td>Voice mode</td><td><code>VOICE_MODE=1</code></td></tr>
|
|
76
|
-
<tr><td>LSP tool</td><td><code>ENABLE_LSP_TOOL=1</code></td></tr>
|
|
77
|
-
<tr><td>Computer Use</td><td><code>ENABLE_COMPUTER_USE=1</code> (Windows)</td></tr>
|
|
78
|
-
<tr><td>Proactive features</td><td><code>KAIROS=1</code></td></tr>
|
|
79
|
-
<tr><td>Agent triggers</td><td><code>AGENT_TRIGGERS=1</code></td></tr>
|
|
80
|
-
<tr><td>Code index</td><td><code>CODE_INDEX=1</code></td></tr>
|
|
81
|
-
</table>
|
|
82
|
-
|
|
83
|
-
<h2>Getting Help</h2>
|
|
84
|
-
<ul>
|
|
85
|
-
<li><strong>In-app diagnostics:</strong> <code>/doctor</code>
|
|
86
|
-
<li><strong>Status overview:</strong> <code>/status</code>
|
|
87
|
-
<li><strong>GitHub Issues:</strong> Report bugs and feature requests</li>
|
|
88
|
-
<li><strong>Debug mode:</strong> Run with <code>DEBUG=1</code> or <code>DEBUG=provider:anthropic</code> for detailed logging</li>
|
|
89
|
-
</ul>
|
|
90
|
-
|
|
91
|
-
<footer class="footer">
|
|
92
|
-
<span>Clew Code v0.2.
|
|
93
|
-
<div class="footer-links">
|
|
94
|
-
<a href="https://github.com/
|
|
95
|
-
<a href="https://github.com/
|
|
96
|
-
<a href="https://npmjs.com/package/clew-code">npm</a>
|
|
97
|
-
</div>
|
|
98
|
-
</footer>
|
|
99
|
-
</main>
|
|
100
|
-
<nav class="toc-sidebar"></nav>
|
|
101
|
-
</div>
|
|
102
|
-
</div>
|
|
103
|
-
<script src="js/main.js"></script>
|
|
104
|
-
</body>
|
|
105
|
-
</html>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Troubleshooting — Clew</title>
|
|
7
|
+
<meta name="description" content="Common issues and solutions for Clew — provider keys, build errors, MCP, plugins, and runtime problems.">
|
|
8
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
|
+
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
11
|
+
<link rel="stylesheet" href="css/styles.css">
|
|
12
|
+
<link rel="icon" type="image/svg+xml" href="./assets/clew.svg">
|
|
13
|
+
</head>
|
|
14
|
+
<body>
|
|
15
|
+
<header class="header"></header>
|
|
16
|
+
<div class="app"><aside class="sidebar" id="sidebar"></aside><div class="sidebar-overlay" id="sidebarOverlay"></div>
|
|
17
|
+
<div class="content-wrap"><main class="content">
|
|
18
|
+
<div class="breadcrumbs"><a href="index.html">Home</a><span class="sep">/</span><span>Troubleshooting</span></div>
|
|
19
|
+
<h1>Troubleshooting</h1>
|
|
20
|
+
<p class="section-subtitle">Start with <code>/doctor</code> — it checks runtime version, provider credentials, config integrity, plugin/MCP status, and Sentry telemetry.</p>
|
|
21
|
+
|
|
22
|
+
<h2>Startup Issues</h2>
|
|
23
|
+
<h3>"command not found: clew"</h3>
|
|
24
|
+
<p>npm global install path may not be in <code>PATH</code>. Use <code>npx clew-code</code> or <code>bun x clew-code</code> as alternatives.</p>
|
|
25
|
+
|
|
26
|
+
<h3>"Bun not found"</h3>
|
|
27
|
+
<p>Clew requires <a href="https://bun.sh">Bun 1.3+</a> as the runtime for the npm package.</p>
|
|
28
|
+
|
|
29
|
+
<h2>Provider Issues</h2>
|
|
30
|
+
|
|
31
|
+
<h3>"No API key configured"</h3>
|
|
32
|
+
<p>Set at least one provider API key as an environment variable. See <a href="providers.html">Providers</a> for the full list.</p>
|
|
33
|
+
<pre><code>export ANTHROPIC_API_KEY=sk-ant-...
|
|
34
|
+
export DEEPSEEK_API_KEY=sk-...</code></pre>
|
|
35
|
+
<p>Run <code>/doctor</code> to verify configured providers.</p>
|
|
36
|
+
|
|
37
|
+
<h3>"Rate limited" or "Quota exceeded"</h3>
|
|
38
|
+
<p>Set a fallback model via CLI: <code>--fallback-model <model></code>. Or use <code>/model</code> to switch to a different provider. For rate limit options during a session, use <code>/rate-limit-options</code>.</p>
|
|
39
|
+
|
|
40
|
+
<h2>Build Issues</h2>
|
|
41
|
+
|
|
42
|
+
<h3>TypeScript errors during build</h3>
|
|
43
|
+
<pre><code>bun run build
|
|
44
|
+
# TypeScript errors may exist in uncommitted code or external modules.
|
|
45
|
+
# Run targeted checks:
|
|
46
|
+
bun x tsc --noEmit
|
|
47
|
+
bun test <targeted-path></code></pre>
|
|
48
|
+
|
|
49
|
+
<h3>Windows-specific issues</h3>
|
|
50
|
+
<ul>
|
|
51
|
+
<li>ripgrep is bundled at <code>src/utils/vendor/ripgrep/x64-win32/rg.exe</code></li>
|
|
52
|
+
<li>TTY polyfill may be needed for Ink compatibility</li>
|
|
53
|
+
<li>PowerShell and Bash may behave differently for tool execution</li>
|
|
54
|
+
<li>Windows argv normalization in <code>src/entry.ts</code></li>
|
|
55
|
+
</ul>
|
|
56
|
+
|
|
57
|
+
<h2>MCP Issues</h2>
|
|
58
|
+
|
|
59
|
+
<h3>"MCP server connection failed"</h3>
|
|
60
|
+
<p>Verify the server command exists and paths are correct. Check JSON config syntax with <code>/mcp</code> command.</p>
|
|
61
|
+
|
|
62
|
+
<h3>MCP tools not appearing</h3>
|
|
63
|
+
<p>Use <code>/mcp</code> to check server status. Tools are loaded at startup via <code>--mcp-config</code> or through <code>assembleToolPool()</code> during server connection. Verify the server implements <code>tools/list</code> correctly.</p>
|
|
64
|
+
|
|
65
|
+
<h2>Plugin Issues</h2>
|
|
66
|
+
|
|
67
|
+
<h3>Plugin not loading</h3>
|
|
68
|
+
<p>Check plugin manifest format and location. Use <code>/plugin</code> and <code>/reload-plugins</code> to refresh. For directory-based plugins, use <code>--plugin-dir <path></code>.</p>
|
|
69
|
+
|
|
70
|
+
<h2>Feature Flags</h2>
|
|
71
|
+
<p>Some features require compile-time or runtime flags:</p>
|
|
72
|
+
<table>
|
|
73
|
+
<tr><th>Feature</th><th>Required Flag</th></tr>
|
|
74
|
+
<tr><td>Bridge mode</td><td><code>BRIDGE_MODE=1</code></td></tr>
|
|
75
|
+
<tr><td>Voice mode</td><td><code>VOICE_MODE=1</code></td></tr>
|
|
76
|
+
<tr><td>LSP tool</td><td><code>ENABLE_LSP_TOOL=1</code></td></tr>
|
|
77
|
+
<tr><td>Computer Use</td><td><code>ENABLE_COMPUTER_USE=1</code> (Windows)</td></tr>
|
|
78
|
+
<tr><td>Proactive features</td><td><code>KAIROS=1</code></td></tr>
|
|
79
|
+
<tr><td>Agent triggers</td><td><code>AGENT_TRIGGERS=1</code></td></tr>
|
|
80
|
+
<tr><td>Code index</td><td><code>CODE_INDEX=1</code></td></tr>
|
|
81
|
+
</table>
|
|
82
|
+
|
|
83
|
+
<h2>Getting Help</h2>
|
|
84
|
+
<ul>
|
|
85
|
+
<li><strong>In-app diagnostics:</strong> <code>/doctor</code> — comprehensive environment check</li>
|
|
86
|
+
<li><strong>Status overview:</strong> <code>/status</code> — version, model, API connectivity, tool statuses</li>
|
|
87
|
+
<li><strong>GitHub Issues:</strong> Report bugs and feature requests</li>
|
|
88
|
+
<li><strong>Debug mode:</strong> Run with <code>DEBUG=1</code> or <code>DEBUG=provider:anthropic</code> for detailed logging</li>
|
|
89
|
+
</ul>
|
|
90
|
+
|
|
91
|
+
<footer class="footer">
|
|
92
|
+
<span>Clew Code v0.2.7 — Open Source</span>
|
|
93
|
+
<div class="footer-links">
|
|
94
|
+
<a href="https://github.com/ClewCode/ClewCode">GitHub</a>
|
|
95
|
+
<a href="https://github.com/ClewCode/ClewCode/issues">Issues</a>
|
|
96
|
+
<a href="https://npmjs.com/package/clew-code">npm</a>
|
|
97
|
+
</div>
|
|
98
|
+
</footer>
|
|
99
|
+
</main>
|
|
100
|
+
<nav class="toc-sidebar"></nav>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
<script src="js/main.js"></script>
|
|
104
|
+
</body>
|
|
105
|
+
</html>
|
|
106
|
+
|
|
@@ -1,84 +1,85 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="th">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title
|
|
7
|
-
<meta name="description" content="
|
|
8
|
-
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
|
-
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
|
-
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&family=Noto+Sans+Thai:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
11
|
-
<link rel="stylesheet" href="css/styles.css">
|
|
12
|
-
<link rel="icon" type="image/svg+xml" href="./assets/clew.svg">
|
|
13
|
-
</head>
|
|
14
|
-
<body>
|
|
15
|
-
<header class="header"></header>
|
|
16
|
-
<div class="app"><aside class="sidebar" id="sidebar"></aside><div class="sidebar-overlay" id="sidebarOverlay"></div>
|
|
17
|
-
<div class="content-wrap"><main class="content">
|
|
18
|
-
<div class="breadcrumbs"><a href="index.th.html"
|
|
19
|
-
<h1
|
|
20
|
-
<p class="section-subtitle"
|
|
21
|
-
|
|
22
|
-
<h2
|
|
23
|
-
<h3>"command not found: clew"</h3>
|
|
24
|
-
<p
|
|
25
|
-
|
|
26
|
-
<h3>"Bun not found"</h3>
|
|
27
|
-
<p>Clew
|
|
28
|
-
|
|
29
|
-
<h2
|
|
30
|
-
<h3>"No API key configured"</h3>
|
|
31
|
-
<p
|
|
32
|
-
<pre><code>export ANTHROPIC_API_KEY=sk-ant-...
|
|
33
|
-
export DEEPSEEK_API_KEY=sk-...</code></pre>
|
|
34
|
-
<p
|
|
35
|
-
|
|
36
|
-
<h3>"Rate limited"
|
|
37
|
-
<p
|
|
38
|
-
|
|
39
|
-
<h2
|
|
40
|
-
<h3
|
|
41
|
-
<pre><code>bun run build
|
|
42
|
-
#
|
|
43
|
-
#
|
|
44
|
-
bun x tsc --noEmit
|
|
45
|
-
bun test <targeted-path></code></pre>
|
|
46
|
-
|
|
47
|
-
<h3
|
|
48
|
-
<ul>
|
|
49
|
-
<li>ripgrep
|
|
50
|
-
<li>TTY polyfill
|
|
51
|
-
<li>PowerShell
|
|
52
|
-
</ul>
|
|
53
|
-
|
|
54
|
-
<h2
|
|
55
|
-
<h3>"MCP server connection failed"</h3>
|
|
56
|
-
<p
|
|
57
|
-
|
|
58
|
-
<h2
|
|
59
|
-
<h3
|
|
60
|
-
<p
|
|
61
|
-
|
|
62
|
-
<h2
|
|
63
|
-
<ul>
|
|
64
|
-
<li><strong
|
|
65
|
-
<li><strong
|
|
66
|
-
<li><strong>GitHub Issues:</strong>
|
|
67
|
-
<li><strong
|
|
68
|
-
</ul>
|
|
69
|
-
|
|
70
|
-
<footer class="footer">
|
|
71
|
-
<span>Clew Code v0.2.
|
|
72
|
-
<div class="footer-links">
|
|
73
|
-
<a href="https://github.com/
|
|
74
|
-
<a href="https://github.com/
|
|
75
|
-
<a href="https://npmjs.com/package/clew-code">npm</a>
|
|
76
|
-
</div>
|
|
77
|
-
</footer>
|
|
78
|
-
</main>
|
|
79
|
-
<nav class="toc-sidebar"></nav>
|
|
80
|
-
</div>
|
|
81
|
-
</div>
|
|
82
|
-
<script src="js/main.js"></script>
|
|
83
|
-
</body>
|
|
84
|
-
</html>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="th">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>à¸à¸²à¸£à¹à¸à¹‰à¸›à¸±à¸à¸«à¸² — Clew</title>
|
|
7
|
+
<meta name="description" content="ปัà¸à¸«à¸²à¸—ั่วไปà¹à¸¥à¸°à¸§à¸´à¸˜à¸µà¹à¸à¹‰à¹„ขสำหรับ Clew — คีย์ผู้ให้บริà¸à¸²à¸£, ข้à¸à¸œà¸´à¸”พลาด build, MCP, ปลั๊à¸à¸à¸´à¸™, à¹à¸¥à¸°à¸›à¸±à¸à¸«à¸²à¸£à¸±à¸™à¹„ทม์">
|
|
8
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
|
+
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&family=Noto+Sans+Thai:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
11
|
+
<link rel="stylesheet" href="css/styles.css">
|
|
12
|
+
<link rel="icon" type="image/svg+xml" href="./assets/clew.svg">
|
|
13
|
+
</head>
|
|
14
|
+
<body>
|
|
15
|
+
<header class="header"></header>
|
|
16
|
+
<div class="app"><aside class="sidebar" id="sidebar"></aside><div class="sidebar-overlay" id="sidebarOverlay"></div>
|
|
17
|
+
<div class="content-wrap"><main class="content">
|
|
18
|
+
<div class="breadcrumbs"><a href="index.th.html">หน้าà¹à¸£à¸</a><span class="sep">/</span><span>à¸à¸²à¸£à¹à¸à¹‰à¸›à¸±à¸à¸«à¸²</span></div>
|
|
19
|
+
<h1>à¸à¸²à¸£à¹à¸à¹‰à¸›à¸±à¸à¸«à¸²</h1>
|
|
20
|
+
<p class="section-subtitle">เริ่มต้นด้วย <code>/doctor</code> — มันตรวจสà¸à¸šà¹€à¸§à¸à¸£à¹Œà¸Šà¸±à¸™à¸£à¸±à¸™à¹„ทม์, ข้à¸à¸¡à¸¹à¸¥à¸›à¸£à¸°à¸ˆà¸³à¸•ัวผู้ให้บริà¸à¸²à¸£, ความสมบูรณ์ขà¸à¸‡à¸à¸²à¸£à¸•ั้งค่า, สถานะปลั๊à¸à¸à¸´à¸™/MCP, à¹à¸¥à¸° Sentry telemetry</p>
|
|
21
|
+
|
|
22
|
+
<h2>ปัà¸à¸«à¸²à¹€à¸£à¸´à¹ˆà¸¡à¸•้น</h2>
|
|
23
|
+
<h3>"command not found: clew"</h3>
|
|
24
|
+
<p>พาธติดตั้ง global npm à¸à¸²à¸ˆà¹„ม่à¸à¸¢à¸¹à¹ˆà¹ƒà¸™ <code>PATH</code> ใช้ <code>npx clew-code</code> หรืภ<code>bun x clew-code</code> เป็นทางเลืà¸à¸</p>
|
|
25
|
+
|
|
26
|
+
<h3>"Bun not found"</h3>
|
|
27
|
+
<p>Clew ต้à¸à¸‡à¹ƒà¸Šà¹‰ <a href="https://bun.sh">Bun 1.3+</a> เป็นรันไทม์สำหรับà¹à¸žà¹‡à¸à¹€à¸à¸ˆ npm</p>
|
|
28
|
+
|
|
29
|
+
<h2>ปัà¸à¸«à¸²à¸œà¸¹à¹‰à¹ƒà¸«à¹‰à¸šà¸£à¸´à¸à¸²à¸£</h2>
|
|
30
|
+
<h3>"No API key configured"</h3>
|
|
31
|
+
<p>ตั้งค่าคีย์ API à¸à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸à¸¢à¸«à¸™à¸¶à¹ˆà¸‡à¸£à¸²à¸¢à¸à¸²à¸£à¹€à¸›à¹‡à¸™à¸•ัวà¹à¸›à¸£à¸ªà¸ าพà¹à¸§à¸”ล้à¸à¸¡ ดู <a href="providers.th.html">ผู้ให้บริà¸à¸²à¸£</a> สำหรับรายà¸à¸²à¸£à¸—ั้งหมด</p>
|
|
32
|
+
<pre><code>export ANTHROPIC_API_KEY=sk-ant-...
|
|
33
|
+
export DEEPSEEK_API_KEY=sk-...</code></pre>
|
|
34
|
+
<p>รัน <code>/doctor</code> เพื่à¸à¸•รวจสà¸à¸šà¸œà¸¹à¹‰à¹ƒà¸«à¹‰à¸šà¸£à¸´à¸à¸²à¸£à¸—ี่ตั้งค่า</p>
|
|
35
|
+
|
|
36
|
+
<h3>"Rate limited" หรืภ"Quota exceeded"</h3>
|
|
37
|
+
<p>ตั้งค่าโมเดลสำรà¸à¸‡à¸œà¹ˆà¸²à¸™ CLI: <code>--fallback-model <model></code> หรืà¸à¹ƒà¸Šà¹‰ <code>/model</code> เพื่à¸à¸ªà¸¥à¸±à¸šà¹„ปยังผู้ให้บริà¸à¸²à¸£à¸à¸·à¹ˆà¸™</p>
|
|
38
|
+
|
|
39
|
+
<h2>ปัà¸à¸«à¸² Build</h2>
|
|
40
|
+
<h3>ข้à¸à¸œà¸´à¸”พลาด TypeScript ระหว่าง build</h3>
|
|
41
|
+
<pre><code>bun run build
|
|
42
|
+
# ข้à¸à¸œà¸´à¸”พลาด TypeScript à¸à¸²à¸ˆà¸à¸¢à¸¹à¹ˆà¹ƒà¸™à¹‚ค้ดที่ยังไม่ได้ commit หรืà¸à¹‚มดูลภายนà¸à¸
|
|
43
|
+
# รันà¸à¸²à¸£à¸•รวจสà¸à¸šà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢:
|
|
44
|
+
bun x tsc --noEmit
|
|
45
|
+
bun test <targeted-path></code></pre>
|
|
46
|
+
|
|
47
|
+
<h3>ปัà¸à¸«à¸²à¹€à¸‰à¸žà¸²à¸° Windows</h3>
|
|
48
|
+
<ul>
|
|
49
|
+
<li>ripgrep à¹à¸–มมาที่ <code>src/utils/vendor/ripgrep/x64-win32/rg.exe</code></li>
|
|
50
|
+
<li>TTY polyfill à¸à¸²à¸ˆà¸ˆà¸³à¹€à¸›à¹‡à¸™à¸ªà¸³à¸«à¸£à¸±à¸š Ink compatibility</li>
|
|
51
|
+
<li>PowerShell à¹à¸¥à¸° Bash à¸à¸²à¸ˆà¸—ำงานà¹à¸•à¸à¸•่างสำหรับà¸à¸²à¸£à¹€à¸£à¸µà¸¢à¸à¹ƒà¸Šà¹‰à¹€à¸„รื่à¸à¸‡à¸¡à¸·à¸</li>
|
|
52
|
+
</ul>
|
|
53
|
+
|
|
54
|
+
<h2>ปัà¸à¸«à¸² MCP</h2>
|
|
55
|
+
<h3>"MCP server connection failed"</h3>
|
|
56
|
+
<p>ตรวจสà¸à¸šà¸§à¹ˆà¸²à¸„ำสั่งเซิร์ฟเวà¸à¸£à¹Œà¸¡à¸µà¸à¸¢à¸¹à¹ˆà¹à¸¥à¸°à¸žà¸²à¸˜à¸–ูà¸à¸•้à¸à¸‡ ตรวจสà¸à¸šà¹„วยาà¸à¸£à¸“์ JSON config ด้วยคำสั่ง <code>/mcp</code></p>
|
|
57
|
+
|
|
58
|
+
<h2>ปัà¸à¸«à¸²à¸›à¸¥à¸±à¹Šà¸à¸à¸´à¸™</h2>
|
|
59
|
+
<h3>ปลั๊à¸à¸à¸´à¸™à¹„ม่โหลด</h3>
|
|
60
|
+
<p>ตรวจสà¸à¸šà¸£à¸¹à¸›à¹à¸šà¸šà¹à¸¥à¸°à¸•ำà¹à¸«à¸™à¹ˆà¸‡ manifest ขà¸à¸‡à¸›à¸¥à¸±à¹Šà¸à¸à¸´à¸™ ใช้ <code>/plugin</code> à¹à¸¥à¸° <code>/reload-plugins</code> เพื่à¸à¸£à¸µà¹€à¸Ÿà¸£à¸Š</p>
|
|
61
|
+
|
|
62
|
+
<h2>à¸à¸²à¸£à¸‚à¸à¸„วามช่วยเหลืà¸</h2>
|
|
63
|
+
<ul>
|
|
64
|
+
<li><strong>à¸à¸²à¸£à¸•รวจสà¸à¸šà¹ƒà¸™à¹à¸à¸›:</strong> <code>/doctor</code> — ตรวจสà¸à¸šà¸ªà¸ าพà¹à¸§à¸”ล้à¸à¸¡à¸à¸¢à¹ˆà¸²à¸‡à¸„รà¸à¸šà¸„ลุม</li>
|
|
65
|
+
<li><strong>ภาพรวมสถานะ:</strong> <code>/status</code> — เวà¸à¸£à¹Œà¸Šà¸±à¸™, โมเดล, à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¸•่ภAPI</li>
|
|
66
|
+
<li><strong>GitHub Issues:</strong> รายงานบั๊à¸à¹à¸¥à¸°à¸‚à¸à¸Ÿà¸µà¹€à¸ˆà¸à¸£à¹Œ</li>
|
|
67
|
+
<li><strong>โหมด Debug:</strong> รันด้วย <code>DEBUG=1</code> หรืภ<code>DEBUG=provider:anthropic</code></li>
|
|
68
|
+
</ul>
|
|
69
|
+
|
|
70
|
+
<footer class="footer">
|
|
71
|
+
<span>Clew Code v0.2.7 — โà¸à¹€à¸žà¸™à¸‹à¸à¸£à¹Œà¸ª</span>
|
|
72
|
+
<div class="footer-links">
|
|
73
|
+
<a href="https://github.com/ClewCode/ClewCode">GitHub</a>
|
|
74
|
+
<a href="https://github.com/ClewCode/ClewCode/issues">ปัà¸à¸«à¸²</a>
|
|
75
|
+
<a href="https://npmjs.com/package/clew-code">npm</a>
|
|
76
|
+
</div>
|
|
77
|
+
</footer>
|
|
78
|
+
</main>
|
|
79
|
+
<nav class="toc-sidebar"></nav>
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
<script src="js/main.js"></script>
|
|
83
|
+
</body>
|
|
84
|
+
</html>
|
|
85
|
+
|