่ชๅพAIใจใผใธใงใณใ - ใตใณใใใใฏในๅฎ่ก็ฐๅขๆญ่ผ
Semantic Kernel ร Playwright ร PowerShell ร MCP ร Sandbox Architecture ร Multi-Interface
English | ๆฅๆฌ่ช
Clawleash๏ผใฏใฉใฆใชใใทใฅ๏ผใฏใๅฎๅ จใชใตใณใใใใฏใน็ฐๅขใงๅไฝใใ่ชๅพAIใจใผใธใงใณใใงใใMicrosoft Semantic KernelใจPlaywrightใใใผในใซใFirecrawl้ขจใฎWebในใฏใฌใคใใณใฐๆฉ่ฝใจ่ชๅพ็ใชใใฉใฆใถๆไฝใๅฎ็พใใพใใ
- ใใซใใคใณใฟใผใใงใผใน: CLI / Discord / Slack / WebSocket / WebRTC ใซๅฏพๅฟ
- E2EEๅฏพๅฟ: WebSocketใปWebRTCใงใจใณใใใผใจใณใๆๅทๅ
- ใตใณใใใใฏในๅฎ่ก: AppContainer (Windows) / Bubblewrap (Linux) ใงๅฎๅ จใซๅฎ่ก
- ใใฉใซใใผใใชใทใผ: ใใฃใฌใฏใใชใใจใซใขใฏใปในๆจฉ้ใปใใใใฏใผใฏๅถๅพกใ่จญๅฎ
- ใใผใซใใใฑใผใธใทในใใ : ZIP/DLLใงใใผใซใ่ฟฝๅ ๅฏ่ฝ
- ในใญใซใทในใใ : YAML/JSONใงใใญใณใใใใณใใฌใผใใๅฎ็พฉใปๅๅฉ็จ
- MCPใฏใฉใคใขใณใ: ๅค้จMCPใตใผใใผใฎใใผใซใ็ตฑๅๅฉ็จ
- ๆฟ่ชใทในใใ : ๅฑ้บใชๆไฝใซใฏใฆใผใถใผๆฟ่ชใๅฟ ่ฆ
Clawleashใฏ่คๆฐใฎๅ ฅๅใคใณใฟใผใใงใผในใๅๆใซใตใใผใใใพใใ
| ใคใณใฟใผใใงใผใน | ่ชฌๆ | E2EE |
|---|---|---|
| CLI | ๆจๆบใณใณใฝใผใซๅ ฅๅ๏ผใใซใใคใณ๏ผ | - |
| Discord | Discord Bot็ต็ฑใงใกใใปใผใธๅไฟก | - |
| Slack | Slack Bot (HTTP API + ใใผใชใณใฐ) | - |
| WebSocket | SignalRใซใใใชใขใซใฟใคใ ้ไฟก | โ AES-256-GCM |
| WebRTC | DataChannel็ต็ฑใฎP2P้ไฟก | โ DTLS-SRTP |
ใขใผใญใใฏใใฃ:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Clawleash (Main Application) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ InterfaceLoader + FileSystemWatcher (Hot Reload) โ โ
โ โ %LocalAppData%\Clawleash\Interfaces\ ใ็ฃ่ฆ โ โ
โ โ ๆฐ่ฆDLL่ฟฝๅ โ ่ชๅใญใผใ โ ChatInterfaceManagerใซ็ป้ฒ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ChatInterfaceManager โ โ
โ โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโ โ โ
โ โ โ CLI โ โ Discord โ โ Slack โ โ WebSocketโ โ WebRTC โ โ โ
โ โ โ(Built-in)โ โ (DLL) โ โ (DLL) โ โ (DLL) โ โ (DLL) โ โ โ
โ โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
่จญๅฎไพ (appsettings.json):
{
"ChatInterface": {
"EnableCli": true,
"EnableHotReload": true,
"InterfacesDirectory": null,
"Discord": {
"Enabled": true,
"Token": "${DISCORD_BOT_TOKEN}",
"CommandPrefix": "!"
},
"Slack": {
"Enabled": true,
"BotToken": "${SLACK_BOT_TOKEN}"
},
"WebSocket": {
"Enabled": true,
"ServerUrl": "wss://localhost:8080/chat",
"EnableE2ee": true
},
"WebRtc": {
"Enabled": true,
"SignalingServerUrl": "wss://localhost:8080/signaling",
"EnableE2ee": true
}
}
}WebSocketใปWebRTC้ไฟกใงE2EEใๆๅนใซใงใใพใใ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ Client โ โ Server โ
โ โ โ โ
โ 1. ้ตไบคๆ โ โโโโ X25519 โโโโโโโโโบ โ โ
โ โ โ โ
โ 2. ๆๅทๅ โ โ โ
โ Plaintext โ โ โ
โ โ โ โ โ
โ โผ โ โ โ
โ AES-256-GCM โ โ โ
โ โ โ โ โ
โ โผ โ โ โ
โ Ciphertext โ โโโโ wss:// โโโโโโโโโบ โ 3. ๅพฉๅทๅ โ
โ โ โ AES-256-GCM โ
โ โ โ โ โ
โ โ โ โผ โ
โ โ โ Plaintext โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
| ๆฉ่ฝ | ่ชฌๆ |
|---|---|
ScrapeUrl |
URLใในใฏใฌใคใใใฆMarkdownๅฝขๅผใงใณใณใใณใใๅๅพ |
CrawlWebsite |
Webใตใคใๅ จไฝใใฏใญใผใซใใฆ่คๆฐใใผใธใฎใณใณใใณใใๅๅพ |
MapWebsite |
ใตใคใใใใ๏ผๅ จURLไธ่ฆง๏ผใ้ซ้ใซๅๅพ |
SearchWeb |
Webใๆค็ดข๏ผDuckDuckGoไฝฟ็จใปAPIใญใผไธ่ฆ๏ผ |
BatchScrape |
่คๆฐใฎURLใไธๆฌในใฏใฌใคใ |
| ๆฉ่ฝ | ่ชฌๆ |
|---|---|
CreateFile / ReadFile |
ใใกใคใซใฎไฝๆใป่ชญใฟ่พผใฟ |
ReplaceLine / ReplaceText |
่กใปใใญในใใฎ็ฝฎๆ |
InsertLine / DeleteLine |
่กใฎๆฟๅ ฅใปๅ้ค |
MoveFile / CopyFile |
ใใกใคใซใฎ็งปๅใปใณใใผ |
CreateFolder / DeleteFolder |
ใใฉใซใใฎไฝๆใปๅ้ค |
ShowTree |
ใใฃใฌใฏใใชๆง้ ใใใชใผๅฝขๅผใง่กจ็คบ |
- ๅบๆฌๆไฝ: ใใใฒใผใใใฏใชใใฏใใใญในใๅ ฅๅใใใฉใผใ ้ไฟก
- ในใฏใญใผใซ: ใใผใธในใฏใญใผใซใๆไธ้จใธใฎ็งปๅ
- ๅพ ๆฉๆไฝ: ่ฆ็ด ่กจ็คบๅพ ๆฉใๆ้ๅพ ๆฉใใใผใธ่ชญใฟ่พผใฟๅพ ๆฉ
- ใญใผใใผใ: Enter, Tab, Escape, ็ขๅฐใญใผใชใฉ
- ใใฆในๆไฝ: ใใใซใฏใชใใฏใๅณใฏใชใใฏใใใฉใใฐ๏ผใใญใใ
- ในใใฌใผใธ: CookieใlocalStorageใsessionStorage
ExtractStructuredData: AIใไฝฟใฃใๆง้ ๅใใผใฟๆฝๅบExtractProductInfo: ๅๅๆ ๅ ฑใฎ่ชๅๆฝๅบSummarizePage: ใใผใธๅ ๅฎนใฎ่ฆ็ด
- ็ฎๆจใฎ่จ็ปใปๅฎ่ก: ็ฎๆจใ่จญๅฎใใฆใAIใ่ชๅ็ใซใฟในใฏใๅ่งฃใปๅฎ่ก
- ่ชๅทฑ่ฉไพกใปไฟฎๆญฃ: ๅฎ่ก็ตๆใ่ฉไพกใใฆใๅคฑๆๆใฏๅฅใฎใขใใญใผใใ่ฉฆ่ก
- Human-in-the-Loop: ๅฑ้บใชๆไฝใซใฏใฆใผใถใผใฎๆฟ่ชใๅฟ ่ฆ
ใใญใณใใใใณใใฌใผใใๅๅฉ็จๅฏ่ฝใชใในใญใซใใจใใฆๅฎ็พฉใปๅฎ่กใงใใพใใ
| ๆฉ่ฝ | ่ชฌๆ |
|---|---|
list_skills |
ๅฉ็จๅฏ่ฝใชในใญใซไธ่ฆงใ่กจ็คบ |
execute_skill |
ๆๅฎใใในใญใซใๅฎ่ก |
show_skill |
ในใญใซใฎ่ฉณ็ดฐๆ ๅ ฑใ่กจ็คบ |
register_skill |
ๆฐใใในใญใซใ็ป้ฒ๏ผYAML/JSON๏ผ |
remove_skill |
ในใญใซใๅ้ค |
ในใญใซๅฎ็พฉไพ๏ผYAML๏ผ:
name: summarize
description: ใใญในใใ่ฆ็ดใใพใ
version: "1.0.0"
tags: [text, summarization]
systemInstruction: |
ใใชใใฏๅฐ้็ใช่ฆ็ดใขใทในใฟใณใใงใใ
parameters:
- name: text
type: string
description: ่ฆ็ดใใใใญในใ
required: true
- name: style
type: string
description: ่ฆ็ดในใฟใคใซ
required: false
default: ็ฐกๆฝ
enum: [็ฐกๆฝ, ่ฉณ็ดฐ, ็ฎๆกๆธใ]
prompt: |
ไปฅไธใฎใใญในใใ{{style}}ใซ่ฆ็ดใใฆใใ ใใ๏ผ
{{text}}ในใญใซใใฃใฌใฏใใช: %LocalAppData%\Clawleash\Skills\
ๅค้จMCPใตใผใใผใฎใใผใซใClawleashๅ ใงๅฉ็จใงใใพใใ
| ๆฉ่ฝ | ่ชฌๆ |
|---|---|
list_tools |
MCPใตใผใใผใฎใใผใซไธ่ฆงใ่กจ็คบ |
execute_tool |
MCPใใผใซใๅฎ่ก |
ใใฉใณในใใผใๅฏพๅฟ:
- stdio: ใญใผใซใซNPXใใใฑใผใธใDockerใณใณใใ
- SSE: ใชใขใผใMCPใตใผใใผ๏ผไปๅพๅฏพๅฟ๏ผ
| ใใฉใใใใฉใผใ | ๅฎ่ฃ | ๆฉ่ฝ |
|---|---|---|
| Windows | AppContainer | ใฑใผใใใชใใฃใใผในใฎใขใฏใปในๅถๅพก |
| Linux | Bubblewrap | ๅๅ็ฉบ้ๅ้ข |
Windows AppContainerใงใใญใปในใซไปไธใใใฑใผใใใชใใฃใ่จญๅฎใงใใพใใ
{
"Sandbox": {
"Type": "AppContainer",
"AppContainerName": "Clawleash.Sandbox",
"Capabilities": "InternetClient, PrivateNetworkClientServer"
}
}ๅฉ็จๅฏ่ฝใชใฑใผใใใชใใฃ:
| ใฑใผใใใชใใฃ | ่ชฌๆ |
|---|---|
InternetClient |
ใคใณใฟใผใใใใธใฎ้ไฟกๆฅ็ถ |
InternetClientServer |
ใคใณใฟใผใใใใธใฎ็ไฟกใป้ไฟกๆฅ็ถ |
PrivateNetworkClientServer |
ใใฉใคใใผใใใใใฏใผใฏใธใฎๆฅ็ถ |
PicturesLibrary |
็ปๅใฉใคใใฉใชใธใฎใขใฏใปใน |
VideosLibrary |
ใใใชใฉใคใใฉใชใธใฎใขใฏใปใน |
MusicLibrary |
ใใฅใผใธใใฏใฉใคใใฉใชใธใฎใขใฏใปใน |
DocumentsLibrary |
ใใญใฅใกใณใใฉใคใใฉใชใธใฎใขใฏใปใน |
EnterpriseAuthentication |
ไผๆฅญ่ช่จผ |
SharedUserCertificates |
ๅ ฑๆ่จผๆๆธ |
RemovableStorage |
ใชใ ใผใใใซในใใฌใผใธ |
Appointments |
ไบๅฎ |
Contacts |
้ฃ็ตกๅ |
ใใฃใฌใฏใใชใใจใซ่ฉณ็ดฐใชใขใฏใปในๅถๅพกใ่จญๅฎใงใใพใใใใๅ ทไฝ็ใชใในใๅชๅ ใใใๅญใใฉใซใใผใง่ฆชใฎ่จญๅฎใไธๆธใๅฏ่ฝใงใใ
{
"Sandbox": {
"FolderPolicies": [
{
"Path": "C:\\Projects",
"Access": "ReadWrite",
"Network": "Allow",
"Execute": "Allow",
"Name": "ใใญใธใงใฏใใใฉใซใใผ"
},
{
"Path": "C:\\Projects\\Secrets",
"Access": "Deny",
"Network": "Deny",
"Name": "ๆฉๅฏๆ
ๅ ฑ๏ผใขใฏใปใน็ฆๆญข๏ผ"
},
{
"Path": "C:\\Projects\\Public",
"Access": "ReadOnly",
"Network": "Allow",
"Name": "ๅ
ฌ้ใจใชใข๏ผ่ชญใฟๅใๅฐ็จ๏ผ"
},
{
"Path": "C:\\Work",
"Access": "ReadWrite",
"Network": "Allow",
"DeniedExtensions": ["exe", "bat", "ps1"],
"MaxFileSizeMB": 50,
"Name": "ไฝๆฅญใใฉใซใใผ"
},
{
"Path": "C:\\Work\\Downloads",
"Access": "ReadWrite",
"Network": "Allow",
"Execute": "Deny",
"EnableAudit": true,
"Name": "ใใฆใณใญใผใ๏ผๅฎ่ก็ฆๆญขใป็ฃๆปใใ๏ผ"
}
]
}
}ใใชใทใผใใญใใใฃ:
| ใใญใใใฃ | ๅค | ่ชฌๆ |
|---|---|---|
Access |
Deny / ReadOnly / ReadWrite / FullControl |
ใใกใคใซใทในใใ ใขใฏใปใน |
Network |
Inherit / Allow / Deny |
ใใใใฏใผใฏใขใฏใปใน |
Execute |
Inherit / Allow / Deny |
ใใญใปในๅฎ่กๆจฉ้ |
AllowedExtensions |
[".txt", ".json"] |
่จฑๅฏใใๆกๅผตๅญ |
DeniedExtensions |
[".exe", ".bat"] |
็ฆๆญขใใๆกๅผตๅญ |
MaxFileSizeMB |
10 |
ๆๅคงใใกใคใซใตใคใบ |
EnableAudit |
true |
ใขใฏใปในใญใฐ่จ้ฒ |
็ถๆฟใซใผใซ:
C:\Projects โ ReadWrite, Network=Allow
โโ \Secrets โ Deny, Network=Deny โ ่ฆชใไธๆธใ๏ผ็กๅนๅ๏ผ
โโ \Public โ ReadOnly, Network=Allow โ ่ชญใฟๅใๅฐ็จใซๅคๆด
โโ \Data
โโ \Sensitive โ Deny โ ๆทฑใ้ๅฑคใงใไธๆธใๅฏ่ฝ
- ConstrainedLanguage: ใใใฉใซใใฎๅฎๅ จใชใขใผใ
- ใณใใณใใใฏใคใใชในใ: ่จฑๅฏใใใใณใใณใใฎใฟๅฎ่ก
- ใในๅถ้: ่จฑๅฏใใใใในใฎใฟใขใฏใปในๅฏ่ฝ
// CLI็จ๏ผใณใณใฝใผใซใงๆฟ่ช็ขบ่ช๏ผ
services.AddCliApprovalHandler();
// ่ชๅๅ็จ๏ผใซใผใซใใผใน๏ผ
services.AddSilentApprovalHandler(config);โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Clawleash (Main) โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Kernel โ โ ToolLoader โ โ ShellServer โ โ
โ โ (AI Agent) โ โ (ZIP/DLL) โ โ (ZeroMQ Router) โ โ
โ โโโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโ โโโโโโโโโโโโฌโโโโโโโโโโโ โ
โ โ โ โ IPC โ
โ โโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโค โ
โ โ SkillLoader โ McpClientManager โ โ
โ โ (YAML/JSON) โ (stdio/SSE) โ โ
โ โโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ChatInterfaceManager โ โ
โ โ โโโโโโโ โโโโโโโโโโโ โโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโ โ โ
โ โ โ CLI โ โ Discord โ โ Slack โ โ WebSocketโ โ WebRTCโ โ โ
โ โ โโโโโโโ โโโโโโโโโโโ โโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ MessagePack over ZeroMQ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Clawleash.Shell (Sandboxed) โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ IpcClient โ โ ConstrainedRunspaceHost โ โ
โ โ (Dealer) โ โ (PowerShell SDK) โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Clawleash.Server (Optional) โ
โ โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ChatHub โ โ SignalingHub โ โ
โ โ (WebSocket/E2EE) โ โ (WebRTC Signaling) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Svelte Client (Static Files) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Clowleash/
โโโ Clawleash/ # ใกใคใณใขใใชใฑใผใทใงใณ
โ โโโ Execution/
โ โ โโโ ShellServer.cs # IPCใตใผใใผ
โ โโโ Tools/
โ โ โโโ ToolLoader.cs # ใใผใซใญใผใใผ
โ โ โโโ ToolPackage.cs # ใใใฑใผใธ็ฎก็
โ โ โโโ ToolProxyGenerator.cs # ใใญใญใท็ๆ (Reflection.Emit)
โ โ โโโ ShellToolExecutor.cs # IPC็ต็ฑๅฎ่ก
โ โโโ Skills/
โ โ โโโ SkillLoader.cs # ในใญใซใญใผใใผ (YAML/JSON)
โ โโโ Mcp/
โ โ โโโ McpClientManager.cs # MCPใฏใฉใคใขใณใ็ฎก็
โ โ โโโ McpServerConfig.cs # MCPใตใผใใผ่จญๅฎ
โ โ โโโ McpToolAdapter.cs # Semantic Kernel็ตฑๅ
โ โโโ Services/
โ โ โโโ IApprovalHandler.cs # ๆฟ่ชใทในใใ
โ โ โโโ IInputHandler.cs # ๅ
ฅๅใทในใใ
โ โ โโโ InterfaceLoader.cs # ใคใณใฟใผใใงใผในๅ็ใญใผใ
โ โ โโโ ChatInterfaceManager.cs # ใใซใใคใณใฟใผใใงใผใน็ฎก็
โ โ โโโ CliChatInterface.cs # CLIใคใณใฟใผใใงใผใน
โ โโโ Sandbox/
โ โ โโโ AppContainerProvider.cs # Windows (ใฑใผใใใชใใฃๅฏพๅฟ)
โ โ โโโ BubblewrapProvider.cs # Linux
โ โ โโโ FolderPolicy.cs # ใใฉใซใใผใใชใทใผๅฎ็พฉ
โ โ โโโ FolderPolicyManager.cs # ใใชใทใผ็ฎก็ใป็ถๆฟๅฆ็
โ โ โโโ NativeMethods.cs # P/Invokeๅฎ็พฉ
โ โ โโโ AclManager.cs # ACL็ฎก็
โ โโโ Security/
โ โ โโโ UrlValidator.cs
โ โ โโโ PathValidator.cs
โ โ โโโ CommandValidator.cs
โ โโโ Plugins/ # Semantic Kernel ใใฉใฐใคใณ
โ โโโ WebCrawlerPlugin.cs
โ โโโ BrowserActionsPlugin.cs
โ โโโ FileOperationsPlugin.cs
โ โโโ SkillPlugin.cs
โ โโโ ...
โ
โโโ Clawleash.Shell/ # ใตใณใใใใฏในใใญใปใน
โ โโโ IPC/IpcClient.cs # IPCใฏใฉใคใขใณใ (DealerSocket)
โ โโโ Hosting/
โ โโโ ConstrainedRunspaceHost.cs # ๅถ็ดไปใPowerShell
โ
โโโ Clawleash.Abstractions/ # ๅ
ฑๆใคใณใฟใผใใงใผใน
โ โโโ Services/
โ โ โโโ IChatInterface.cs # ใใฃใใใคใณใฟใผใใงใผใน
โ โ โโโ ChatMessageReceivedEventArgs.cs
โ โโโ Security/
โ โโโ IE2eeProvider.cs # E2EEใใญใใคใใผ
โ
โโโ Clawleash.Interfaces.Discord/ # Discord Bot ใคใณใฟใผใใงใผใน
โ โโโ DiscordChatInterface.cs
โ โโโ DiscordSettings.cs
โ
โโโ Clawleash.Interfaces.Slack/ # Slack Bot ใคใณใฟใผใใงใผใน
โ โโโ SlackChatInterface.cs
โ โโโ SlackSettings.cs
โ
โโโ Clawleash.Interfaces.WebSocket/ # WebSocket ใคใณใฟใผใใงใผใน (E2EE)
โ โโโ WebSocketChatInterface.cs
โ โโโ Security/
โ โ โโโ AesGcmE2eeProvider.cs
โ โโโ WebSocketSettings.cs
โ
โโโ Clawleash.Interfaces.WebRTC/ # WebRTC ใคใณใฟใผใใงใผใน (E2EE)
โ โโโ WebRtcChatInterface.cs
โ โโโ Security/
โ โ โโโ WebRtcE2eeProvider.cs
โ โโโ WebRtcSettings.cs
โ
โโโ Clawleash.Server/ # SignalRใตใผใใผ (WebSocket/WebRTC)
โ โโโ Hubs/
โ โ โโโ ChatHub.cs # ใใฃใใใใ (E2EEๅฏพๅฟ)
โ โ โโโ SignalingHub.cs # WebRTCใทใฐใใชใณใฐ
โ โโโ Security/
โ โ โโโ KeyManager.cs # ้ต็ฎก็
โ โ โโโ E2eeMiddleware.cs # E2EEใใใซใฆใงใข
โ โโโ Client/ # Svelteใใญใณใใจใณใ
โ
โโโ Clawleash.Contracts/ # ๅ
ฑๆๅๅฎ็พฉ
โ โโโ Messages/
โ โโโ ShellMessages.cs # IPCใกใใปใผใธ
โ โโโ Enums.cs # ๅ
ฑๆEnum
โ
โโโ Clawleash.Tests/ # ใฆใใใใในใ
โ
โโโ sample-skills/ # ใตใณใใซในใญใซ
# ใชใใธใใชใใฏใญใผใณ
git clone https://github.com/yourusername/Clowleash.git
cd Clawleash
# ไพๅญ้ขไฟใๅพฉๅ
dotnet restore
# Playwrightใใฉใฆใถใใคใณในใใผใซ
pwsh bin/Debug/net10.0/.playwright/package/cli.js installappsettings.json:
{
"AI": {
"ApiKey": "your-api-key",
"ModelId": "gpt-4o",
"Endpoint": "https://api.openai.com/v1"
},
"Sandbox": {
"Type": "AppContainer",
"AppContainerName": "Clawleash.Sandbox",
"Capabilities": "InternetClient, PrivateNetworkClientServer",
"FolderPolicies": [
{
"Path": "C:\\Projects",
"Access": "ReadWrite",
"Network": "Allow",
"Execute": "Allow"
},
{
"Path": "C:\\Projects\\Secrets",
"Access": "Deny",
"Network": "Deny"
}
]
},
"ChatInterface": {
"EnableCli": true,
"EnableHotReload": true,
"Discord": { "Enabled": false },
"Slack": { "Enabled": false },
"WebSocket": { "Enabled": false },
"WebRtc": { "Enabled": false }
},
"Browser": {
"Headless": true
},
"Mcp": {
"Enabled": true,
"Servers": []
}
}dotnet run --project Clawleashdotnet run --project Clawleash.Server
# http://localhost:5000 ใงใตใผใใผ่ตทๅ
# /chat - WebSocketใใ
# /signaling - WebRTCใทใฐใใชใณใฐใใ%LocalAppData%\Clawleash\Interfaces\
โโโ Discord\
โ โโโ Clawleash.Interfaces.Discord.dll
โ โโโ Discord.Net.dll
โโโ Slack\
โ โโโ Clawleash.Interfaces.Slack.dll
โ โโโ (ไพๅญDLL)
โโโ WebSocket\
โ โโโ Clawleash.Interfaces.WebSocket.dll
โโโ WebRTC\
โโโ Clawleash.Interfaces.WebRTC.dll
ใใใใชใญใผใๅฏพๅฟ๏ผๆฐใใDLLใ้ ็ฝฎใใใจ่ชๅ็ใซ่ชญใฟ่พผใพใใพใใ
%LocalAppData%\Clawleash\Skills\
โโโ my-skill.skill.yaml # YAMLๅฝขๅผ
โโโ my-skill.skill.json # ใพใใฏJSONๅฝขๅผ
| ้ ็ฎ | ไปๆง |
|---|---|
| ใใญใใณใซ | ZeroMQ (Router/Dealer) |
| ใทใชใขใฉใคใบ | MessagePack |
| ๆนๅ | Main (Server) โ Shell (Client) |
ใกใใปใผใธ็จฎๅฅ:
ShellExecuteRequest/Response- ใณใใณใๅฎ่กToolInvokeRequest/Response- ใใผใซๅผใณๅบใShellInitializeRequest/Response- ๅๆๅShellPingRequest/Response- ๆญปๆดป็ฃ่ฆ
# ใใซใ
dotnet build
# ใในใๅฎ่ก
dotnet test
# ใในใ่ฉณ็ดฐ่กจ็คบ
dotnet test --verbosity normal- ใใฎใชใใธใใชใใใฉใผใฏ
- ใใฃใผใใฃใผใใฉใณใใไฝๆ (
git checkout -b feature/amazing-feature) - ๅคๆดใใณใใใ (
git commit -m 'Add amazing feature') - ใใซใชใฏใจในใใไฝๆ
MIT License - LICENSE ใๅ็ ง
Made with โค๏ธ by actbit