Skip to content

heidsoft/itsm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

478 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

๐Ÿค– AI-Native ITSM

ไผไธš็บงITๆœๅŠก็ฎก็†ๅนณๅฐ | AI First, Not AI After

Go Next.js TypeScript License Backend CI Frontend CI AI-Native Stars Forks Issues Contributors

๐Ÿš€ LLM-first ๆ™บ่ƒฝๅˆ†่ฏŠ | Guidance-Harness-Skill ๅทฅ็จ‹ไฝ“็ณป | ๅผ€ๆบๅ…่ดน

๐ŸŒ ๅฎ˜็ฝ‘ ยท ๐Ÿ“– ๆžถๆž„่งฃๆž


โญ AI-Native ๆ˜ฏไป€ไนˆ

AI-Native โ‰  AI้™„ๅŠ 

ไผ ็ปŸITSM + AI = "ๅœจ้ฉฌ่ฝฆๅŽ้ขๅŠ ไธชๅ‘ๅŠจๆœบ" AI-Native = "ไปŽไธ€ๅผ€ๅง‹ๅฐฑๆ˜ฏไธบ่‡ชๅŠจ้ฉพ้ฉถ่ฎพ่ฎก็š„"

ไธ€ๅฅ่ฏๅฎšไน‰

AI-Native ๆ˜ฏๆŒ‡็ณป็ปŸไปŽ่ฎพ่ฎกไน‹ๅˆๅฐฑๆŠŠ AI ่ƒฝๅŠ›ไฝœไธบๆ ธๅฟƒๅผ•ๆ“Ž๏ผŒ่€Œ้žๅŽๆœŸ้™„ๅŠ ็š„ๅŠŸ่ƒฝๆจกๅ—ใ€‚

ๆ ธๅฟƒๅŒบๅˆซ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    ไผ ็ปŸ ITSM + AI                               โ”‚
โ”‚                                                                 โ”‚
โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚   โ”‚   ไผ ็ปŸITSM   โ”‚ โ”€โ”€โ”€โ–บ โ”‚   AIๆจกๅ—    โ”‚ โ”€โ”€โ”€โ–บ โ”‚   ไบบๅทฅๅ…œๅบ•   โ”‚ โ”‚
โ”‚   โ”‚  (ๆ ธๅฟƒ็ณป็ปŸ)   โ”‚      โ”‚  (้™„ๅŠ ๅฑ‚)    โ”‚      โ”‚  (LLMๅคฑ่ดฅๆ—ถ) โ”‚ โ”‚
โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚                                                                 โ”‚
โ”‚   ็‰น็‚น๏ผšAI ๆ˜ฏ้…่ง’๏ผŒ็ณป็ปŸๆŒ‚ไบ† AI ่ฟ˜่ƒฝ่ท‘                            โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    AI-Native ITSM                               โ”‚
โ”‚                                                                 โ”‚
โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚   โ”‚   AI ๅผ•ๆ“Ž    โ”‚ โ—„โ”€โ”€โ–บ โ”‚   ITSMๆต็จ‹   โ”‚ โ—„โ”€โ”€โ–บ โ”‚  ๅ…ณ้”ฎ่ฏๅ…œๅบ•  โ”‚ โ”‚
โ”‚   โ”‚  (ๆ ธๅฟƒ็ณป็ปŸ)   โ”‚      โ”‚  (AI้ฉฑๅŠจ)    โ”‚      โ”‚  (ไฝŽ็ฝฎไฟกๆ—ถ)  โ”‚ โ”‚
โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚                                                                 โ”‚
โ”‚   ็‰น็‚น๏ผšAI ๆ˜ฏไธป่ง’๏ผŒ็ณป็ปŸไพ่ต– AI ๆ‰่ƒฝ่ท‘ๅพ—ๅฅฝ                        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๅ››ไธชๅˆคๆ–ญๆ ‡ๅ‡†

ๅˆคๆ–ญ็ปดๅบฆ AI้™„ๅŠ  AI-Native
ๆžถๆž„ไฝ็ฝฎ ่พน็ผ˜ๅฑ‚/้™„ๅŠ ๅฑ‚ ๆ ธๅฟƒๅผ•ๆ“Žๅฑ‚
ๆ•ฐๆฎๆตๅ‘ ็ณป็ปŸ โ†’ AI โ†’ ไบบๅทฅ AI โ†’ ็ณป็ปŸ โ†’ ๅ้ฆˆ้—ญ็Žฏ
่ดจ้‡ไฟ้šœ AIไธๅฏๆต‹ใ€ไธๅฏๆŽง Harness่ฏ„ไผฐใ€Guidance็บฆๆŸ
ๆ‰ฉๅฑ•ๆ–นๅผ ็กฌ็ผ–็ ๆ–ฐๅขžAI Skillๆ’ๆ‹”ใ€ๆตๆฐด็บฟ็ผ–ๆŽ’

ไปฃ็ ๅฏนๆฏ”

ไผ ็ปŸ AI้™„ๅŠ  - ๅ…ณ้”ฎ่ฏไผ˜ๅ…ˆ๏ผŒLLMๅค‡้€‰๏ผš

// ๅ…ˆ็”จๅ…ณ้”ฎ่ฏ๏ผŒๅ‘ฝไธญไธไบ†ๆ‰่ฐƒLLM
result := keywordMatch(text)
if result == nil {
    result = llmClassify(text)  // LLMๆ˜ฏๅค‡่ƒŽ
}

AI-Native - LLMไผ˜ๅ…ˆ๏ผŒๅ…ณ้”ฎ่ฏๅ…œๅบ•๏ผš

// ๅ…ˆ็”จLLM๏ผŒ็ฝฎไฟกๅบฆไฝŽๆ‰้™็บงๅˆฐๅ…ณ้”ฎ่ฏ
result, err := llmClassify(text)
if err != nil || result.Confidence < 0.5 {
    keywordResult := keywordMatch(text)
    if keywordResult.Confidence > result.Confidence {
        return keywordResult  // ๅ…ณ้”ฎ่ฏๆ›ดๅ‡†ๅฐฑ็”จๅ…ณ้”ฎ่ฏ
    }
}
return result

ๅฎž้™…ๆ•ˆๆžœๅทฎๅผ‚

ๅœบๆ™ฏ AI้™„ๅŠ  AI-Native
ๆ–ฐ็ฑปๅž‹ๅทฅๅ• LLMๆฒก่ฎญ็ปƒ่ฟ‡๏ผŒๅˆ†้”™ LLM็†่งฃ่ฏญไน‰๏ผŒๅˆ†็ฑปๆญฃ็กฎ
่พน็•Œcase ๅ…ณ้”ฎ่ฏๅŒน้…ๅคฑ่ดฅ๏ผŒๆ— ็ญ”ๆกˆ ็ฝฎไฟกๅบฆไฝŽๆ—ถ่‡ชๅŠจ้™็บง
AIๆŒ‚ไบ† ็ณป็ปŸ้™็บงๅˆฐ็บฏไบบๅทฅ ็ณป็ปŸ้™็บงๅˆฐๅ…ณ้”ฎ่ฏ๏ผŒไปๆœ‰AI่ƒฝๅŠ›
ๆ–ฐๅขžAI่ƒฝๅŠ› ๆ”นๆ ธๅฟƒไปฃ็  ๆ–ฐๅขžSkillๆ’ๆ‹”ๅณๅฏ

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

ไธ€้”ฎๅฏๅŠจ๏ผˆๆŽจ่๏ผ‰

# ๅ…‹้š†้กน็›ฎ
git clone https://github.com/heidsoft/itsm.git
cd itsm

# ๆ–นๅผ1: ้ƒจ็ฝฒ่„šๆœฌ๏ผˆๆŽจ่๏ผ‰
./scripts/deploy-dev.sh up

# ๆ–นๅผ2: Docker Compose
docker compose up -d --build

# ๆˆ–ไฝฟ็”จ Makefile
make dev-up

# ๆŸฅ็œ‹ๆœๅŠก็Šถๆ€
docker compose ps

# ่ฎฟ้—ฎๅบ”็”จ
# ๅ‰็ซฏ:    http://localhost:3000
# ๅŽ็ซฏ:    http://localhost:8090
# APIๆ–‡ๆกฃ: http://localhost:8090/swagger

้ฆ–ๆฌก็™ปๅฝ•: ็”จๆˆทๅ admin๏ผŒๅฏ†็  admin123

ไธญๅ›ฝ็ฝ‘็ปœ: ๅฆ‚้‡ Docker ๆž„ๅปบ่ถ…ๆ—ถ๏ผŒ่ฏท้…็ฝฎ้•œๅƒๅŠ ้€Ÿ: ~/.docker/config.json

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

# ๆฃ€ๆŸฅๆœๅŠกๅฅๅบท็Šถๆ€
curl http://localhost:8090/health

# ๆŸฅ็œ‹ๆ—ฅๅฟ—
docker compose logs -f

# ๅœๆญขๆœๅŠก
docker compose down

# ๅฎŒๅ…จๆธ…็†๏ผˆๅŒ…ๆ‹ฌๆ•ฐๆฎๅท๏ผ‰
docker compose down -v

ๆœฌๅœฐๅผ€ๅ‘ๆจกๅผ

# ไป…ๅฏๅŠจๆ•ฐๆฎๅบ“ๅ’ŒRedis
docker compose -f docker-compose.dev.yml up -d postgres redis

# ๆœฌๅœฐ่ฟ่กŒๅŽ็ซฏ๏ผˆ้œ€่ฆGo 1.25+๏ผ‰
cd itsm-backend && go run main.go

# ๆœฌๅœฐ่ฟ่กŒๅ‰็ซฏ๏ผˆ้œ€่ฆNode 18+๏ผ‰
cd itsm-frontend && npm run dev

๐Ÿ“ธ ไบงๅ“ๆˆชๅ›พ

ๆ ธๅฟƒ็ฎก็†็•Œ้ข

ไปช่กจ็›˜ ๅทฅๅ•็ฎก็†
ไปช่กจ็›˜ ๅทฅๅ•็ฎก็†
ไบ‹ไปถ็ฎก็† ้—ฎ้ข˜็ฎก็†
ไบ‹ไปถ็ฎก็† ้—ฎ้ข˜็ฎก็†
ๅ˜ๆ›ด็ฎก็† CMDB ้…็ฝฎ็ฎก็†
ๅ˜ๆ›ด็ฎก็† CMDB
ๆœๅŠก็›ฎๅฝ• ็Ÿฅ่ฏ†ๅบ“
ๆœๅŠก็›ฎๅฝ• ็Ÿฅ่ฏ†ๅบ“
ๅทฅไฝœๆตๅผ•ๆ“Ž ่ง’่‰ฒ็ฎก็†
ๅทฅไฝœๆต ่ง’่‰ฒ็ฎก็†

็™ปๅฝ•็•Œ้ข

็™ปๅฝ•


โœจ AI-Native ๆ ธๅฟƒ่ƒฝๅŠ›

๐Ÿค– Guidance-Harness-Skill ๆžถๆž„

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                     Skill Orchestrator                               โ”‚
โ”‚    ๆตๆฐด็บฟ็ผ–ๆŽ’ โ”‚ ่พ“ๅ…ฅ่พ“ๅ‡บ่ฝฌๆข โ”‚ ้”™่ฏฏๅค„็† โ”‚ ้™็บง็ญ–็•ฅ                     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
              โ”‚                   โ”‚               โ”‚
              โ–ผ                   โ–ผ               โ–ผ
    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ”‚ TriageSkill    โ”‚ โ”‚ SummarizeSkill  โ”‚ โ”‚ KBSkill        โ”‚
    โ”‚ (Guidance็จ‹ๅบ) โ”‚ โ”‚ (Guidance็จ‹ๅบ)  โ”‚ โ”‚ (Guidance็จ‹ๅบ) โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
              โ”‚                   โ”‚               โ”‚
              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                  โ”‚
                                  โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      Harness Controller                              โ”‚
โ”‚    Prompt็ฎก็† โ”‚ ๅ‚ๆ•ฐ้…็ฝฎ โ”‚ ๆ‰ง่กŒๆŽงๅˆถ โ”‚ ็ป“ๆžœ่งฃๆž                        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                  โ”‚
                                  โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                 Evaluator (่ดจ้‡่ฏ„ไผฐ้—ญ็Žฏ)                             โ”‚
โ”‚    ๅ‡†็กฎๆ€ง่ฏ„ไผฐ โ”‚ ๆ€ง่ƒฝ็›‘ๆŽง โ”‚ ๅ›žๅฝ’ๆต‹่ฏ• โ”‚ Bad Case ็งฏ็ดฏ                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐ŸŽฏ AI ๆ™บ่ƒฝๅŠŸ่ƒฝ

ๅŠŸ่ƒฝ ่ฏดๆ˜Ž ๆ•ˆๆžœ
๐ŸŽฏ LLM-first ๆ™บ่ƒฝๅˆ†็ฑป ไผ˜ๅ…ˆ็”จ LLM ๅˆคๆ–ญ๏ผŒๅ…ณ้”ฎ่ฏๅ…œๅบ• ๅˆ†็ฑปๅ‡†็กฎ็އ 95%+
๐Ÿ“ ่‡ชๅŠจๆ‘˜่ฆ LLM ็”Ÿๆˆๅทฅๅ•/ไบ‹ไปถๆ‘˜่ฆ ่Š‚็œ 70% ้˜…่ฏปๆ—ถ้—ด
๐Ÿ” RAG ็Ÿฅ่ฏ†ๅบ“ ๅ‘้‡ๆฃ€็ดข + ๅคงๆจกๅž‹้—ฎ็ญ” ็Ÿฅ่ฏ†ๆŸฅๆ‰พ็ง’็บงๅ“ๅบ”
๐Ÿ’ก ๆ™บ่ƒฝๆŽจ่ ๆŽจ่่งฃๅ†ณๆ–นๆกˆใ€็›ธไผผๅทฅๅ• ๆๅ‡่งฃๅ†ณๆ•ˆ็އ 50%+
๐Ÿ‘ท ๆ™บ่ƒฝๅˆ†้… ๅŸบไบŽๆŠ€่ƒฝ/่ดŸ่ฝฝ็š„่‡ชๅŠจๆดพๅ• ๆดพๅ•ๅ‡†็กฎ็އ 90%+

๐Ÿ”ง Skill ๆ‰ฉๅฑ•ไฝ“็ณป

Skill ๅŠŸ่ƒฝ ็Šถๆ€
TriageSkill ๅทฅๅ•ๆ™บ่ƒฝๅˆ†็ฑป โœ… ๅทฒๅฎž็Žฐ
SummarizeSkill ๅทฅๅ•/ไบ‹ไปถๆ‘˜่ฆ โœ… ๅทฒๅฎž็Žฐ
KBSkill RAG ็Ÿฅ่ฏ†ๅบ“้—ฎ็ญ” โœ… ๅทฒๅฎž็Žฐ
SecurityTriageSkill ๅฎ‰ๅ…จไบ‹ไปถไธ“้กนๅˆ†็ฑป ๐Ÿ”œ ๅพ…ๅผ€ๅ‘
ImpactAnalysisSkill ๅ˜ๆ›ดๅฝฑๅ“่Œƒๅ›ดๅˆ†ๆž ๐Ÿ”œ ๅพ…ๅผ€ๅ‘
SLAForecastSkill SLA ่พพๆˆ็އ้ข„ๆต‹ ๐Ÿ”œ ๅพ…ๅผ€ๅ‘

๐Ÿ”€ ไผ ็ปŸ ITSM ๅŠŸ่ƒฝ

๐ŸŽซ ๆœๅŠก็ฎก็†

ๅทฅๅ•็ฎก็† ไบ‹ไปถ็ฎก็† ้—ฎ้ข˜็ฎก็† ๅ˜ๆ›ด็ฎก็†
ๆ™บ่ƒฝๅˆ†้…
SLA ไฟ้šœ
่‡ชๅŠจๅŒ–ๆต่ฝฌ
ๅฎžๆ—ถ็›‘ๆŽง
ๆ™บ่ƒฝๅ‘Š่ญฆ
ๅ‡็บง็ญ–็•ฅ
ๆ นๅ› ๅˆ†ๆž
RFC ๅ…ณ่”
็Ÿฅ่ฏ†ๆฒ‰ๆท€
้ฃŽ้™ฉ่ฏ„ไผฐ
ๅคš็บงๅฎกๆ‰น
ๅ›žๆปšๆ–นๆกˆ
ๅ‘ๅธƒ็ฎก็† ๆœๅŠก่ฏทๆฑ‚ ๆœๅŠก็›ฎๅฝ• ็Ÿฅ่ฏ†ๅบ“
ๅ‘ๅธƒ่ฎกๅˆ’
้˜ถๆฎตๆŽงๅˆถ
ๅ›žๆปšๆ”ฏๆŒ
่‡ชๅŠฉ้—จๆˆท
ๅฎกๆ‰นๆต็จ‹
่ฟ›ๅบฆ่ฟฝ่ธช
ๆœๅŠกOffering
SLA ๅฎšไน‰
่‡ชๅŠฉ็”ณ่ฏท
RAG ๆฃ€็ดข
ๆ™บ่ƒฝ้—ฎ็ญ”
็Ÿฅ่ฏ†ๆŽจ่

๐Ÿ”€ BPMN ๅทฅไฝœๆตๅผ•ๆ“Ž

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ๐Ÿ—๏ธ ๅฏ่ง†ๅŒ–่ฎพ่ฎกๅ™จ    โ”‚  ๐Ÿ“Š ๆต็จ‹็›‘ๆŽง    โ”‚  ๐Ÿ”’ ๆƒ้™ๆŽงๅˆถ   โ”‚  ๐Ÿ“ ๅฎก่ฎกๆ—ฅๅฟ—  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  ๆ‹–ๆ‹ฝๅผๆต็จ‹่ฎพ่ฎก    โ”‚  ๅฎžๆ—ถ่ฟฝ่ธช      โ”‚  ็ฒพ็ป†ๆƒ้™      โ”‚  ๅ…จ็จ‹่ฎฐๅฝ•     โ”‚
โ”‚  BPMN 2.0 ๆ ‡ๅ‡†    โ”‚  ๆ€ง่ƒฝๅˆ†ๆž      โ”‚  ่ง’่‰ฒ็ป‘ๅฎš      โ”‚  ๅˆ่ง„่ฟฝๆบฏ     โ”‚
โ”‚  ็‰ˆๆœฌ็ฎก็†         โ”‚  SLA ้›†ๆˆ      โ”‚  ๆ•ฐๆฎ้š”็ฆป      โ”‚  ๆŠฅ่กจๅฏผๅ‡บ     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐ŸŒ MSP ๅคš็งŸๆˆท

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    ๐Ÿข MSP ๆœๅŠกๅ•†                         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  ๐Ÿข ็งŸๆˆท A  โ”‚  ๐Ÿข ็งŸๆˆท B  โ”‚  ๐Ÿข ็งŸๆˆท C  โ”‚  ...         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  ๐Ÿ“Š ่ต„ๆบ้…้ข    โ”‚  ๐Ÿ’ฐ ่ฎก่ดน็ฎก็†    โ”‚  ๐Ÿ” ็›‘ๆŽงๅ‘Š่ญฆ     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“Š SLA ็›‘ๆŽงไฝ“็ณป

  • ๅคš็บงๅˆซ SLA ็ญ–็•ฅ้…็ฝฎ
  • ๅฎžๆ—ถๅˆ่ง„็އ็›‘ๆŽง้ขๆฟ
  • ่ฟ็บฆ้ข„่ญฆไธŽ่‡ชๅŠจๅ‡็บง
  • ๅฎŒๆ•ด็š„ SLA ๆŠฅ่กจๅˆ†ๆž

๐Ÿ— ๆŠ€ๆœฏๆžถๆž„

ๆŠ€ๆœฏๆ ˆ

ๅŽ็ซฏ | Go 1.25+ | Gin | Ent ORM | PostgreSQL | Redis | BPMN Engine

ๅ‰็ซฏ | Next.js 15 | React 19 | TypeScript | Ant Design 6 | Tailwind CSS | Zustand

AI | OpenAI | Claude | Ollama (็งๆœ‰ๅŒ–) | Guidance

็ณป็ปŸๆžถๆž„ๅ›พ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                         ๐Ÿ–ฅ๏ธ ๅฎขๆˆท็ซฏๅฑ‚                              โ”‚
โ”‚     Web (Next.js)      โ”‚      ็งปๅŠจ็ซฏ PWA      โ”‚    API        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      ๐ŸŒ ๆŽฅๅ…ฅๅฑ‚ (Nginx)                          โ”‚
โ”‚              ่ดŸ่ฝฝๅ‡่กก / SSL ็ปˆๆญข / ้™ๆ€่ต„ๆบ็ผ“ๅญ˜                   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
              โ–ผ                               โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚    ๐ŸŒ Next.js ๅ‰็ซฏ      โ”‚       โ”‚     โš™๏ธ Go ๅŽ็ซฏ API      โ”‚
โ”‚       ็ซฏๅฃ: 3000        โ”‚       โ”‚       ็ซฏๅฃ: 8090         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
              โ”‚                               โ”‚
              โ”‚                               โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
              โ”‚                               โ–ผ              โ–ผ
              โ”‚                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
              โ”‚                    โ”‚ PostgreSQL  โ”‚  โ”‚  Redis  โ”‚
              โ”‚                    โ”‚   ็ซฏๅฃ:5432  โ”‚  โ”‚  6379   โ”‚
              โ”‚                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
              โ”‚                               โ”‚
              โ”‚                               โ–ผ
              โ”‚                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
              โ”‚                    โ”‚     ๐Ÿค– AI ๆœๅŠกๅฑ‚        โ”‚
              โ”‚                    โ”‚  Guidance-Harness-Skill โ”‚
              โ”‚                    โ”‚     LLM Gateway         โ”‚
              โ”‚                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        ๐Ÿ’พ ๅญ˜ๅ‚จๅฑ‚                                 โ”‚
โ”‚    ๆ–‡ไปถๅญ˜ๅ‚จ (MinIO/S3)   โ”‚   ๅ‘้‡ๅญ˜ๅ‚จ (Chroma)   โ”‚   ๅฏน่ฑกๅญ˜ๅ‚จ   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆ•ฐๆฎๆจกๅž‹ (100+ ๅฎžไฝ“)

ๆ ธๅฟƒๆจกๅ—          ๆ‰ฉๅฑ•ๆจกๅ—           BPMN ๅทฅไฝœๆต         MSP ๅคš็งŸๆˆท
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€        โ”€โ”€โ”€โ”€โ”€โ”€โ”€           โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€         โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ”œโ”€ ๅทฅๅ•           โ”œโ”€ ๆœๅŠก็›ฎๅฝ•        โ”œโ”€ ๆต็จ‹ๅฎšไน‰          โ”œโ”€ ็งŸๆˆท
โ”œโ”€ ไบ‹ไปถ           โ”œโ”€ ็Ÿฅ่ฏ†ๅบ“          โ”œโ”€ ๆต็จ‹ๅฎžไพ‹          โ”œโ”€ ้ƒจ้—จ
โ”œโ”€ ้—ฎ้ข˜           โ”œโ”€ SLA             โ”œโ”€ ๆต็จ‹ไปปๅŠก          โ”œโ”€ ๅ›ข้˜Ÿ
โ”œโ”€ ๅ˜ๆ›ด           โ”œโ”€ ๅฎกๆ‰น้“พ          โ”œโ”€ ๆต็จ‹ๅ˜้‡          โ”œโ”€ ้กน็›ฎ
โ”œโ”€ ๅ‘ๅธƒ           โ”œโ”€ ้€š็Ÿฅ             โ”œโ”€ ๅฎก่ฎกๆ—ฅๅฟ—          โ””โ”€ ่ต„ๆบๅˆ†้…
โ”œโ”€ ่ต„ไบง           โ””โ”€ ๆŠฅ่กจ            โ””โ”€ ๆƒ้™ๆŽงๅˆถ
โ””โ”€ ่ฎธๅฏ่ฏ

ๆ–‡ๆกฃๅฏผ่ˆช

ๅผ€ๅ‘ๆŒ‡ๅ— ้ƒจ็ฝฒๆŒ‡ๅ— ้…็ฝฎๅ‚่€ƒ
ๅผ€ๅ‘็Žฏๅขƒๆญๅปบ Docker/K8s ้ƒจ็ฝฒ ็Žฏๅขƒๅ˜้‡่ฏฆ่งฃ
ๆ•ฐๆฎๅบ“ ่ฟ็ปดๆ‰‹ๅ†Œ AIๆžถๆž„่งฃๆž
่ฟ็งปไธŽๅค‡ไปฝ ๆ—ฅๅฟ—ไธŽ็›‘ๆŽง Guidance-Harness-Skill ไธ‰ๅฑ‚ไฝ“็ณป
ๆต‹่ฏ•ๆก†ๆžถ ้ƒจ็ฝฒ่„šๆœฌ ่ดก็ŒฎๆŒ‡ๅ—
API/UI/ๆ•ฐๆฎๅบ“ๆต‹่ฏ• ไธ€้”ฎๅฏๅŠจ PR ๆต็จ‹

ๅธธ็”จๅ‘ฝไปค

# ้ƒจ็ฝฒ่„šๆœฌ
./scripts/deploy-dev.sh up        # ๅฏๅŠจๅผ€ๅ‘็Žฏๅขƒ
./scripts/deploy-dev.sh down      # ๅœๆญขๅผ€ๅ‘็Žฏๅขƒ
./scripts/deploy-dev.sh logs      # ๆŸฅ็œ‹ๆ—ฅๅฟ—
./scripts/deploy-dev.sh doctor    # ่ฏŠๆ–ญ้—ฎ้ข˜
./scripts/deploy-prod.sh deploy   # ้ƒจ็ฝฒ็”Ÿไบง็Žฏๅขƒ

# Docker ๅผ€ๅ‘็Žฏๅขƒ (Makefile)
make dev-up         # ๅฏๅŠจๅผ€ๅ‘็Žฏๅขƒ
make dev-down       # ๅœๆญขๅผ€ๅ‘็Žฏๅขƒ
make dev-logs       # ๆŸฅ็œ‹ๆ—ฅๅฟ—
make dev-shell      # ่ฟ›ๅ…ฅๅŽ็ซฏๅฎนๅ™จ

# ๆž„ๅปบ
make build          # ๆž„ๅปบๅ‰ๅŽ็ซฏ้•œๅƒ
make build-backend  # ๆž„ๅปบๅŽ็ซฏ้•œๅƒ
make build-frontend # ๆž„ๅปบๅ‰็ซฏ้•œๅƒ

# ๆœฌๅœฐ่ฟ่กŒ
make run            # ๅฏๅŠจๅŽ็ซฏๆœๅŠก๏ผˆๆœฌๅœฐ๏ผ‰
make frontend-run   # ๅฏๅŠจๅ‰็ซฏๆœๅŠก๏ผˆๆœฌๅœฐ๏ผ‰

# ๆต‹่ฏ•
make test           # ่ฟ่กŒๆ‰€ๆœ‰ๆต‹่ฏ•
make test-backend   # ่ฟ่กŒๅŽ็ซฏๆต‹่ฏ•
make test-frontend  # ่ฟ่กŒๅ‰็ซฏๆต‹่ฏ•

๐Ÿค ๅ‚ไธŽ่ดก็Œฎ

ๆฌข่ฟŽๆไบค Pull Request๏ผ่ฏท้˜…่ฏป CONTRIBUTING.md ไบ†่งฃ่ฏฆๆƒ…ใ€‚

# 1. Fork ้กน็›ฎ
# 2. ๅˆ›ๅปบๅˆ†ๆ”ฏ
git checkout -b feature/amazing-feature

# 3. ๆไบคๆ›ดๆ”น
git commit -m "feat: add amazing-feature"

# 4. ๆŽจ้€ๅˆ†ๆ”ฏ
git push origin feature/amazing-feature

ไปฃ็ ่ง„่Œƒ

  • โœ… Go: ไฝฟ็”จ gofumpt ๆ ผๅผๅŒ–
  • โœ… TypeScript: ESLint + Prettier
  • โœ… ๆไบคไฟกๆฏ: Conventional Commits
  • โœ… ๆต‹่ฏ•: ๆ–ฐๅขžๅŠŸ่ƒฝ้œ€้…ๅฅ—ๆต‹่ฏ•

๐Ÿ“„ ่ฎธๅฏ่ฏ

Apache License 2.0 - ๅผ€ๆบๅ…่ดน๏ผŒๅ…่ฎธ่‡ช็”ฑไฝฟ็”จไบŽๅ•†ไธšไบงๅ“ใ€‚

  • โœ… ไธชไบบๅญฆไน ไธŽไฝฟ็”จ
  • โœ… ๅ•†ไธšไบงๅ“้›†ๆˆ
  • โœ… ้—ญๆบ้กน็›ฎไฝฟ็”จ
  • โœ… ไบŒๆฌกๅผ€ๅ‘ไธŽๅˆ†ๅ‘

่ฏฆ่ง LICENSE ๅ’Œ NOTICE ๆ–‡ไปถใ€‚


๐Ÿ“ž ่”็ณปๆˆ‘ไปฌ

๐Ÿ™ GitHub: heidsoft/itsm

๐Ÿ’ฌ ่ฎจ่ฎบ: Discussions

๐Ÿ› ้—ฎ้ข˜: Issues

๐Ÿ“ง Email: heidsoft@qq.com


โญ ๅฆ‚ๆžœ่ฟ™ไธช้กน็›ฎๅฏนๆ‚จๆœ‰ๅธฎๅŠฉ๏ผŒ่ฏท Star ๆ”ฏๆŒ๏ผ

๐Ÿค– AI-Native ITSM: AI First, Not AI After

่ดก็Œฎ่€… | ๆ„Ÿ่ฐขๆ‚จ็š„ๅ‚ไธŽ๏ผ

Made with โค๏ธ by ITSM Team

About

Enterprise IT Service Management Platform built with Go/Gin and Next.js

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors