Skip to content

fushengss/evcod_all

ย 
ย 

Repository files navigation

evcod_all โ€” ๆœฌๅœฐไผ˜ๅ…ˆ็š„่ฟœ็จ‹็ปˆ็ซฏ่พ…ๅŠฉๅทฅไฝœๅฐ

evcod ๆ˜ฏไธ€ไธชๆœฌๅœฐไผ˜ๅ…ˆ๏ผˆlocal-first๏ผ‰็š„่ฟœ็จ‹็ปˆ็ซฏ่พ…ๅŠฉๅทฅๅ…ท๏ผŒๅŒ…ๅซไธ‰ไธชๆ ธๅฟƒๆจกๅ—๏ผš

ๆจกๅ— ็›ฎๅฝ• ๆŠ€ๆœฏๆ ˆ ่Œ่ดฃ
Core evcod/core/ Go 1.26 HTTP/WebSocket ๅŽๅฐๆœๅŠก๏ผŒๆไพ›้‰ดๆƒใ€้กน็›ฎ็ฎก็†ใ€ๆ–‡ไปถๆ“ไฝœใ€Git ๆ“ไฝœใ€็ปˆ็ซฏใ€ไผš่ฏใ€Agent ็ผ–ๆŽ’็ญ‰่ƒฝๅŠ›
Web UI evcod/webui/ React 19 + Vite 6 + TypeScript ๆต่งˆๅ™จ็ซฏๅทฅไฝœๅฐ๏ผŒ่ฟžๆŽฅไธ€ไธชๆˆ–ๅคšไธช Core ๅฎžไพ‹๏ผŒๆไพ›็ปˆ็ซฏใ€ๅฏน่ฏใ€ๆ–‡ไปถ็ผ–่พ‘ใ€Git ้ขๆฟ็ญ‰ UI
Warp evcod_warp/ Node.js 22 (ESM) Agent ๆกฅๆŽฅๅฑ‚๏ผŒๅฐ† Claude Codeใ€OpenCodeใ€Codexใ€Geminiใ€Qwen ็ญ‰ AI Agent ็š„ไบ‹ไปถ่ง„่ŒƒๅŒ–ๅนถๅ›žๅ†™ Core

ๆ•ดไฝ“ๆžถๆž„

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                  ๆต่งˆๅ™จ (Web UI)                       โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚ ไพงๆ   โ”‚ โ”‚ ็ปˆ็ซฏ้ขๆฟ  โ”‚ โ”‚ ๅฏน่ฏ้ขๆฟ โ”‚ โ”‚ๆ–‡ไปถ้ขๆฟโ”‚ โ”‚Git้ขๆฟโ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
      โ”‚  REST +  โ”‚ WebSocket  โ”‚        โ”‚        โ”‚
      โ–ผ          โ–ผ             โ–ผ        โ–ผ        โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                evcod Core (Go)                        โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚  API  โ”‚ โ”‚Servicesโ”‚ โ”‚ Store โ”‚ โ”‚Eventsโ”‚ โ”‚Platform  โ”‚ โ”‚
โ”‚  โ”‚Router โ”‚ โ”‚        โ”‚ โ”‚(JSON) โ”‚ โ”‚  Bus โ”‚ โ”‚(mac/win) โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                  โ”‚ WebSocket Relay
                  โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚              evcod Warp (Node.js)                     โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚CoreBridgeโ”‚ โ”‚AgentCatalogโ”‚ โ”‚Normalizerโ”‚ โ”‚Backends  โ”‚ โ”‚
โ”‚  โ”‚         โ”‚ โ”‚          โ”‚ โ”‚          โ”‚ โ”‚cli/opencodeโ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๅฟซ้€Ÿๅผ€ๅง‹

ๅฏๅŠจ Core

cd evcod/core
go run ./cmd/evcod-core serve

Core ้ป˜่ฎค็›‘ๅฌ 127.0.0.1:4865๏ผŒ้ฆ–ๆฌกๅฏๅŠจไผš่‡ชๅŠจ็”Ÿๆˆ API keyใ€‚

ๆŸฅ็œ‹ API key๏ผš

go run ./cmd/evcod-core key print

ๅฏๅŠจ Web UI

cd evcod/webui
npm install
npm run dev -- --port 10066

ๆต่งˆๅ™จๆ‰“ๅผ€ http://127.0.0.1:10066๏ผŒๅœจ่ฎพ็ฝฎไธญๆทปๅŠ  Core ่ฟžๆŽฅ๏ผš

  • Alias๏ผšไปปๆ„ๅ็งฐ๏ผˆๅฆ‚ Local core๏ผ‰
  • Endpoint๏ผšhttp://127.0.0.1:4865๏ผˆๆˆ–ๆŒ‡ๅฎš็ซฏๅฃ๏ผ‰
  • API Key๏ผšCore ็š„ๅฝ“ๅ‰ๆœ‰ๆ•ˆ API key

ๅฏๅŠจ Warp๏ผˆ่ฟžๆŽฅ AI Agent๏ผ‰

cd evcod_warp
npm start -- opencode --core http://127.0.0.1:4865 --api-key <key>

ๆ”ฏๆŒ็š„ Agent ็ฑปๅž‹๏ผšclaudeใ€opencodeใ€codexใ€geminiใ€qwenใ€fake


ๆ ธๅฟƒๅŠŸ่ƒฝ

Core ๆœๅŠก็ซฏ

ๅŠŸ่ƒฝๅˆ†็ฑป API ็ซฏ็‚น ่ฏดๆ˜Ž
็ณป็ปŸ /api/systemใ€/api/settings/runtime ็ณป็ปŸไฟกๆฏไธŽ่ฟ่กŒๆ—ถ้…็ฝฎ
ไธปๆœบ /api/host/* ไธปๆœบๆฆ‚่งˆใ€ๆ€ง่ƒฝใ€่ฟ›็จ‹ใ€็ซฏๅฃใ€็ฝ‘็ปœๆŽฅๅฃ
้‰ดๆƒ /api/tokens API key ็ฎก็†ไธŽ่ฎค่ฏ
้กน็›ฎ /api/projects ้กน็›ฎ CRUD๏ผŒ็ป‘ๅฎšๆœฌๅœฐ็›ฎๅฝ•
Worktree /api/worktrees Git worktree ็ฎก็†
ๅทฅไฝœๅŒบ Tab /api/workspace/tabs ๅทฅไฝœๅŒบๆ ‡็ญพ้กต็ฎก็†๏ผˆterminal/vcs/editor/diffViewer๏ผ‰
ๆ–‡ไปถ /api/files/* ๆ–‡ไปถๅˆ—่กจใ€่ฏปๅ–ใ€ๅ†™ๅ…ฅใ€ๆœ็ดขใ€ๅˆ›ๅปบใ€ๅˆ ้™คใ€้‡ๅ‘ฝๅใ€็›ฎๅฝ•ๆต่งˆ
Git /api/git/* status/diff/log/branches/checkout/branch/stage/unstage/discard/commit/pull/push/stash
็ปˆ็ซฏ /api/terminal/panes ็ปˆ็ซฏ pane ๅˆ›ๅปบใ€่พ“ๅ…ฅใ€resizeใ€ๅฟซ็…ง
Agent /api/agent/* Agent ็›ฎๅฝ•ใ€ๅކๅฒใ€ไผš่ฏ็ฎก็†
ๅฏน่ฏ /api/conversations ๅฏน่ฏไธŽๆถˆๆฏๆŒไน…ๅŒ–
ๅฎก่ฎก /api/audit/logs ๆ–‡ไปถๅ†™ๆ“ไฝœๅฎก่ฎกๆ—ฅๅฟ—
WebSocket /ws/rpcใ€/ws/relay ๅฎžๆ—ถไบ‹ไปถๆŽจ้€ไธŽ Agent relay

Web UI ๅ‰็ซฏ

  • ๆกŒ้ขๅทฅไฝœๅฐๅธƒๅฑ€๏ผšๅทฆไพงไพงๆ ๏ผˆ้กน็›ฎ/ๅฏน่ฏๅˆ—่กจ๏ผ‰ใ€ไธญ้—ดไธปๅทฅไฝœๅŒบใ€ๅณไพง้ขๆฟ๏ผˆๆ–‡ไปถ/Git/ไบ‹ไปถ๏ผ‰
  • ็ปˆ็ซฏๆจกๅผ๏ผšๅŸบไบŽ xterm.js ็š„่ฟœ็จ‹็ปˆ็ซฏ๏ผŒๆ”ฏๆŒๅคš paneใ€่‡ชๅŠจ resize
  • ๅฏน่ฏๆจกๅผ๏ผšๆถˆๆฏๆตๅฑ•็คบใ€AI Agent ๅฏน่ฏใ€ๆตๅผ่พ“ๅ‡บๆธฒๆŸ“
  • ๆ–‡ไปถ็ฎก็†๏ผšๆ–‡ไปถๆ ‘ๆต่งˆใ€ๆ–‡ๆœฌ็ผ–่พ‘๏ผˆMonaco Editor๏ผ‰ใ€ๆ–‡ไปถๅˆ›ๅปบ/ไฟๅญ˜
  • Git ้ขๆฟ๏ผšๅ˜ๆ›ดๆ–‡ไปถๅˆ—่กจใ€diff ๆŸฅ็œ‹ใ€stage/unstage/commit
  • Core ่ฟžๆŽฅ็ฎก็†๏ผšๅคš Core ้…็ฝฎใ€ๆœฌๅœฐๆŒไน…ๅŒ–
  • ไธปๆœบ็ฎก็†๏ผšไธปๆœบๆฆ‚่งˆใ€ๆ€ง่ƒฝ็›‘ๆŽงใ€่ฟ›็จ‹ไธŽ็ซฏๅฃๆŸฅ็œ‹

Warp Agent ๆกฅๆŽฅ

  • ๆ”ฏๆŒๅคš็ง AI Agent ๅŽ็ซฏ็š„ prompt/response ่ง„่ŒƒๅŒ–
  • ๆ”ฏๆŒ JSONL ๅ’Œ JSON-RPC ไธค็งไผ ่พ“ๅ่ฎฎ
  • ็ปˆ็ซฏๅ†…ๅŽŸ็”Ÿ Agent ็•Œ้ข + Web Chat ๅŒๅ‘้•œๅƒ
  • Agent ไบ‹ไปถๆ ‡ๅ‡†ๅŒ–๏ผˆtext/reasoning/tool_call/tool_result/usage ็ญ‰๏ผ‰

้กน็›ฎ็ป“ๆž„

evcod_all/
โ”œโ”€โ”€ evcod/                          # ไธป้กน็›ฎ
โ”‚   โ”œโ”€โ”€ core/                       # Go ๅŽ็ซฏๆœๅŠก
โ”‚   โ”‚   โ”œโ”€โ”€ cmd/evcod-core/main.go  # ๅ…ฅๅฃ
โ”‚   โ”‚   โ”œโ”€โ”€ internal/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ api/                # HTTP/WS ่ทฏ็”ฑไธŽๅค„็†ๅ™จ
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ app/                # ๅบ”็”จๅˆๅง‹ๅŒ–ไธŽ็”Ÿๅ‘ฝๅ‘จๆœŸ
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ config/             # ้…็ฝฎ็ฎก็†
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ domain/             # ้ข†ๅŸŸๆจกๅž‹
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ events/             # ไบ‹ไปถๆ€ป็บฟ
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ platform/           # ๅนณๅฐๆŠฝ่ฑก (common/mac/win)
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ services/           # ไธšๅŠก้€ป่พ‘ๅฑ‚
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ store/              # JSON ๆ–‡ไปถๆŒไน…ๅŒ–
โ”‚   โ”‚   โ””โ”€โ”€ go.mod
โ”‚   โ”œโ”€โ”€ webui/                      # React ๅ‰็ซฏ
โ”‚   โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ App.tsx             # ไธปๅบ”็”จ็ป„ไปถ
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ api.ts              # Core API ๅฎขๆˆท็ซฏ
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ store.ts            # Zustand ็Šถๆ€็ฎก็†
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ components/         # UI ็ป„ไปถ
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ TerminalView.tsx
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ConversationView.tsx
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ FilesPanel.tsx
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ GitPanel.tsx
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Sidebar.tsx
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ chat/           # ๅฏน่ฏๅญ็ป„ไปถ
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ ...
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ styles.css
โ”‚   โ”‚   โ”œโ”€โ”€ tests/                  # Playwright ็ซฏๅˆฐ็ซฏๆต‹่ฏ•
โ”‚   โ”‚   โ””โ”€โ”€ package.json
โ”‚   โ”œโ”€โ”€ docs/                       # ้กน็›ฎๆ–‡ๆกฃ
โ”‚   โ”‚   โ”œโ”€โ”€ api/                    # API ๆ–‡ๆกฃ
โ”‚   โ”‚   โ””โ”€โ”€ project-overview.zh-CN.md
โ”‚   โ”œโ”€โ”€ scripts/                    # ๅผ€ๅ‘่พ…ๅŠฉ่„šๆœฌ
โ”‚   โ””โ”€โ”€ test_scripts/               # ๆต‹่ฏ•่„šๆœฌ
โ”‚
โ”œโ”€โ”€ evcod_warp/                     # Node.js Agent ๆกฅๆŽฅๅฑ‚
โ”‚   โ”œโ”€โ”€ bin/evcod-warp.js           # CLI ๅ…ฅๅฃ
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ cli.js                  # CLI ๅ‚ๆ•ฐ่งฃๆžไธŽ่ฐƒๅบฆ
โ”‚   โ”‚   โ”œโ”€โ”€ core-bridge.js          # Core WebSocket ๆกฅๆŽฅ
โ”‚   โ”‚   โ”œโ”€โ”€ session-controller.js   # ไผš่ฏ็”Ÿๅ‘ฝๅ‘จๆœŸๆŽงๅˆถ
โ”‚   โ”‚   โ”œโ”€โ”€ native-agent.js         # ๅŽŸ็”Ÿ Agent ๆŽงๅˆถๅ™จ
โ”‚   โ”‚   โ”œโ”€โ”€ opencode-tui.js         # OpenCode TUI ๆŽงๅˆถๅ™จ
โ”‚   โ”‚   โ”œโ”€โ”€ normalizer.js           # Agent ไบ‹ไปถๆ ‡ๅ‡†ๅŒ–
โ”‚   โ”‚   โ”œโ”€โ”€ registry.js             # Agent ๆณจๅ†Œ่กจ
โ”‚   โ”‚   โ”œโ”€โ”€ backends/               # Agent ๅŽ็ซฏๅฎž็Žฐ
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ claude.js           # Claude Code
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ codex.js            # Codex CLI
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ opencode.js         # OpenCode (ACP)
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ fake.js             # ๆต‹่ฏ•็”จๅ‡ๅŽ็ซฏ
โ”‚   โ”‚   โ””โ”€โ”€ transports/             # ไผ ่พ“ๅ่ฎฎ
โ”‚   โ”‚       โ”œโ”€โ”€ factory.js
โ”‚   โ”‚       โ”œโ”€โ”€ jsonl.js            # JSONL ไผ ่พ“
โ”‚   โ”‚       โ””โ”€โ”€ jsonrpc.js          # JSON-RPC ไผ ่พ“
โ”‚   โ”œโ”€โ”€ test/                       # ๅ•ๅ…ƒๆต‹่ฏ•
โ”‚   โ””โ”€โ”€ package.json
โ”‚
โ”œโ”€โ”€ chat_diff/                      # ๆžถๆž„ๅฏน้ฝๆ–‡ๆกฃ
โ”œโ”€โ”€ ๅฎกๆŸฅๆŠฅๅ‘Š/                       # ไปฃ็ ๅฎกๆŸฅๆŠฅๅ‘Š
โ”œโ”€โ”€ start-evcod.bat                 # Windows ไธ€้”ฎๅฏๅŠจ
โ””โ”€โ”€ AGENTS.md                        # Agent ๅทฅไฝœๆŒ‡ๅ—

ๆŠ€ๆœฏๆ ˆ

Core

  • ่ฏญ่จ€๏ผšGo 1.26
  • HTTP/WebSocket๏ผšๆ ‡ๅ‡†ๅบ“ net/http + gorilla/websocket
  • PTY๏ผšgo-pty + creack/pty
  • ๆŒไน…ๅŒ–๏ผšๆœฌๅœฐ JSON ็Šถๆ€ๆ–‡ไปถ
  • ๆžถๆž„๏ผšAPI โ†’ App โ†’ Services โ†’ Store + Platform ๅˆ†ๅฑ‚

Web UI

  • ๆก†ๆžถ๏ผšReact 19 + TypeScript
  • ๆž„ๅปบ๏ผšVite 6
  • ็Šถๆ€็ฎก็†๏ผšZustand 5
  • ็ปˆ็ซฏๆธฒๆŸ“๏ผšxterm.js 5 + addon-fit
  • ็ผ–่พ‘ๅ™จ๏ผšMonaco Editor
  • ๅ›พๆ ‡๏ผšlucide-react
  • ๆต‹่ฏ•๏ผšPlaywright

Warp

  • ่ฟ่กŒๆ—ถ๏ผšNode.js โ‰ฅ 22 (ESM)
  • ๆต‹่ฏ•๏ผšNode.js ๅ†…็ฝฎ node:test

ๅผ€ๅ‘ๅ‘ฝไปค

Core

gofmt -w core                          # ๆ ผๅผๅŒ–ไปฃ็ 
go -C core test ./...                  # ่ฟ่กŒๅ•ๅ…ƒๆต‹่ฏ•
go -C core build ./cmd/evcod-core      # ็ผ–่ฏ‘ๆž„ๅปบ
go -C core run ./cmd/evcod-core serve  # ๅฏๅŠจๆœๅŠก

Web UI

cd evcod/webui
npm run dev                # ๅฏๅŠจๅผ€ๅ‘ๆœๅŠกๅ™จ
npm run build              # ็ฑปๅž‹ๆฃ€ๆŸฅ + ๆž„ๅปบ
npm run test:smoke         # ๆต่งˆๅ™จๅ†’็ƒŸๆต‹่ฏ•
npm run test:full-flow     # ๅ…จๆต็จ‹ๆต‹่ฏ•
npm run test:feature-flow  # ๅŠŸ่ƒฝๅ›žๅฝ’ๆต‹่ฏ•

Warp

cd evcod_warp
npm test                   # ่ฟ่กŒๆต‹่ฏ•
npm start                  # ๅฏๅŠจ CLI

ๅฟซ้€Ÿ้ชŒ่ฏ

evcod/test_scripts/run_full_tests.sh  # Core + WebUI ๅฎŒๆ•ด้ชŒ่ฏ่„šๆœฌ

ๅฝ“ๅ‰็Šถๆ€

้กน็›ฎๅค„ไบŽ MVP ๅŠŸ่ƒฝ้—ญ็Žฏ้˜ถๆฎต๏ผš

  • Core ๆœๅŠก็ซฏๆ ธๅฟƒ API ๅฎŒๆ•ดๅฏ็”จ๏ผˆ้‰ดๆƒใ€้กน็›ฎใ€ๆ–‡ไปถใ€Gitใ€็ปˆ็ซฏใ€ๅฏน่ฏใ€Agent๏ผ‰
  • Web UI ๆกŒ้ขๅทฅไฝœๅฐๅธƒๅฑ€ใ€็ปˆ็ซฏไบคไบ’ใ€ๆ–‡ไปถ็ผ–่พ‘ใ€Git ้ขๆฟ
  • Warp Agent ๆกฅๆŽฅ๏ผˆClaude Code / OpenCode / Codex๏ผ‰
  • ่ทจๅนณๅฐๅนณๅฐๆŠฝ่ฑก๏ผˆmacOS / Windows๏ผ‰
  • ็ซฏๅˆฐ็ซฏๆต่งˆๅ™จๆต‹่ฏ•
  • ็œŸๅฎž LLM Provider ้›†ๆˆไธŽ Agent ๅพช็Žฏ
  • TLS/WSS ๅฎ‰ๅ…จไผ ่พ“
  • ๆƒ้™็ฒ’ๅบฆๆŽงๅˆถไธŽ้ซ˜ๅฑๆ“ไฝœ็กฎ่ฎค็ญ–็•ฅ
  • ๆ•ฐๆฎๅบ“ๆŒไน…ๅŒ–๏ผˆๅฝ“ๅ‰ไธบ JSON ๆ–‡ไปถ๏ผ‰

License

ๆœฌ้กน็›ฎๅฐšๆœชๆทปๅŠ ๅผ€ๆบ่ฎธๅฏ่ฏใ€‚

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 34.8%
  • JavaScript 26.4%
  • Go 24.9%
  • CSS 10.5%
  • PowerShell 1.4%
  • Batchfile 0.7%
  • Other 1.3%