/contractguard-ai

๐Ÿค– ๅŸบไบŽA2Aๅ่ฎฎ็š„ๆ™บ่ƒฝๅˆๅŒ้ฃŽ้™ฉๅฎกๆŸฅ็ณป็ปŸ | AI-powered contract risk analysis system using A2A protocol

Primary LanguagePython

ๅˆๅŒๅฎกๆŸฅๅคšๆ™บ่ƒฝไฝ“็ณป็ปŸ / Contract Review Multi-Agent System

ๅŸบไบŽ Google A2A (Agent-to-Agent) ๅ่ฎฎ็š„ไธ“ไธšๅˆๅŒๅˆ†ๆžๅ’ŒๅฎกๆŸฅ็ณป็ปŸ๏ผŒ้€š่ฟ‡ๅคšไธชไธ“ไธšๆ™บ่ƒฝไฝ“ๅๅŒๅทฅไฝœ๏ผŒๆไพ›ๅ…จ้ข็š„ๅˆๅŒๅฎกๆŸฅๆœๅŠกใ€‚

A professional contract analysis and review system built on Google's A2A (Agent-to-Agent) protocol, providing comprehensive contract review services through collaborative specialized agents.

็ณป็ปŸๆžถๆž„ / System Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                          ็”จๆˆทๅฑ‚ / User Layer                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚                    ๅˆๅŒๅฎกๆŸฅ่ฏทๆฑ‚                          โ”‚ โ”‚
โ”‚  โ”‚                Contract Review Request                  โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                      โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    ๅ่ฐƒๅ™จๅฑ‚ / Coordinator Layer              โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚           ContractCoordinator (็ซฏๅฃ 7000)              โ”‚ โ”‚
โ”‚  โ”‚                                                         โ”‚ โ”‚
โ”‚  โ”‚    โ€ข ๆŽฅๆ”ถ็”จๆˆท่ฏทๆฑ‚ / Receive requests                    โ”‚ โ”‚
โ”‚  โ”‚    โ€ข ไปปๅŠกๅˆ†ๅ‘่ฐƒๅบฆ / Task distribution                   โ”‚ โ”‚
โ”‚  โ”‚    โ€ข ็ป“ๆžœๆ•ดๅˆ่พ“ๅ‡บ / Result integration                  โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                      โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                  A2Aๅ่ฎฎๅฑ‚ / A2A Protocol Layer              โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚                      BaseAgent                          โ”‚ โ”‚
โ”‚  โ”‚                                                         โ”‚ โ”‚
โ”‚  โ”‚    โ€ข A2A้€šไฟกๅ่ฎฎๅฎž็Žฐ / A2A protocol implementation      โ”‚ โ”‚
โ”‚  โ”‚    โ€ข ็ปŸไธ€ไปปๅŠกๅค„็†ๆŽฅๅฃ / Unified task interface         โ”‚ โ”‚
โ”‚  โ”‚    โ€ข ๅคงๆจกๅž‹่ฐƒ็”จๅฐ่ฃ… / LLM integration wrapper          โ”‚ โ”‚
โ”‚  โ”‚    โ€ข ้”™่ฏฏๅค„็†ๆœบๅˆถ / Error handling                     โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                      โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                   ไธ“ไธšAgentๅฑ‚ / Specialized Agent Layer      โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”‚
โ”‚  โ”‚ ๆ–‡ๆกฃๅค„็†Agent โ”‚  โ”‚   ๆณ•ๅพ‹Agent   โ”‚  โ”‚  ๅ•†ไธšAgent   โ”‚      โ”‚
โ”‚  โ”‚   (็ซฏๅฃ7005) โ”‚  โ”‚   (็ซฏๅฃ7002) โ”‚  โ”‚   (็ซฏๅฃ7003) โ”‚      โ”‚
โ”‚  โ”‚DocumentAgent โ”‚  โ”‚  LegalAgent  โ”‚  โ”‚BusinessAgent โ”‚      โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ”‚
โ”‚                                                             โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”‚
โ”‚  โ”‚  ๆ ผๅผAgent   โ”‚  โ”‚   ้ซ˜ไบฎAgent   โ”‚  โ”‚  ๆ•ดๅˆAgent   โ”‚      โ”‚
โ”‚  โ”‚   (็ซฏๅฃ7004) โ”‚  โ”‚   (็ซฏๅฃ7006) โ”‚  โ”‚   (็ซฏๅฃ7007) โ”‚      โ”‚
โ”‚  โ”‚ FormatAgent  โ”‚  โ”‚HighlightAgentโ”‚  โ”‚IntegrationAgtโ”‚      โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๅŠŸ่ƒฝ็‰น็‚น / Features

๐Ÿ” ไธ“ไธšๅˆ†ๆž่ƒฝๅŠ› / Professional Analysis

  • ๆ–‡ๆกฃๅค„็†: ๆ™บ่ƒฝ่งฃๆžๅˆๅŒ็ป“ๆž„๏ผŒๆๅ–ๅ…ณ้”ฎไฟกๆฏ
  • ๆณ•ๅพ‹ๅˆ†ๆž: ๅˆ่ง„ๆ€งๆฃ€ๆŸฅ๏ผŒ้ฃŽ้™ฉ่ฏ†ๅˆซ๏ผŒๆณ•ๅพ‹ๅปบ่ฎฎ
  • ๅ•†ไธšๅˆ†ๆž: ่ดขๅŠกๆกๆฌพๅˆ†ๆž๏ผŒๅ•†ไธšไปทๅ€ผ่ฏ„ไผฐ
  • ๆ ผๅผๆฃ€ๆŸฅ: ๆ–‡ๆกฃ่ง„่Œƒๆ€ง๏ผŒไธ“ไธšๆ€ง่ฏ„ไผฐ
  • ้‡็‚นๆ ‡ๆณจ: ๅ…ณ้”ฎๆกๆฌพ้ซ˜ไบฎ๏ผŒ้ฃŽ้™ฉ็‚นๆ ‡ๆณจ
  • ็ป“ๆžœๆ•ดๅˆ: ็ปผๅˆๆŠฅๅ‘Š็”Ÿๆˆ๏ผŒๅ†ณ็ญ–ๆ”ฏๆŒ

๐Ÿš€ ๆŠ€ๆœฏ็‰นๆ€ง / Technical Features

  • A2Aๅ่ฎฎ: ๆ ‡ๅ‡†ๅŒ–ๆ™บ่ƒฝไฝ“้—ด้€šไฟก
  • ๅนถ่กŒๅค„็†: ๅคšๆ™บ่ƒฝไฝ“ๅๅŒๅทฅไฝœ
  • ๆจกๅ—ๅŒ–: ๆพ่€ฆๅˆๆžถๆž„๏ผŒๆ˜“ไบŽๆ‰ฉๅฑ•
  • ๅฏๆ‰ฉๅฑ•: ๆ”ฏๆŒๆ–ฐๅขžไธ“ไธšๆ™บ่ƒฝไฝ“
  • ๅฎน้”™ๆœบๅˆถ: ๅฎŒๅ–„็š„้”™่ฏฏๅค„็†ๅ’Œๆขๅค

ๅฟซ้€Ÿๅผ€ๅง‹ / Quick Start

1. ็Žฏๅขƒ่ฆๆฑ‚ / Requirements

Python 3.8+

2. ๅฎ‰่ฃ…ไพ่ต– / Install Dependencies

pip install -r requirements.txt

3. ้…็ฝฎ็ณป็ปŸ / Configuration

็ผ–่พ‘ config.py ๆ–‡ไปถ๏ผŒ้…็ฝฎ LLM API๏ผš

LLM API ๅผ€้€š้“พๆŽฅ๏ผšhttps://console.bce.baidu.com/qianfan/modelcenter/model/buildIn/detail/am-c8fe1b412vwn?tab=version#ERNIE-4.5-21B-A3B

LLM_CONFIG = LLMConfig(
    api_key="your-api-key",  # ๆ›ฟๆขไธบๆ‚จ็š„APIๅฏ†้’ฅ
    model="ernie-4.5-21b-a3b",
    base_url="https://qianfan.baidubce.com/v2/chat/completions"
)

4. ๅฏๅŠจ็ณป็ปŸ / Start System

python start_system.py start

5. ไฝฟ็”จ็ณป็ปŸ / Usage

ๅ‘้€ๅˆๅŒๅฎกๆŸฅ่ฏทๆฑ‚ๅˆฐๅ่ฐƒๅ™จ๏ผš

from python_a2a import A2AClient, Message, TextContent, MessageRole

# ่ฟžๆŽฅๅˆฐๅ่ฐƒๅ™จ
client = A2AClient("http://localhost:7000/a2a")

# ๅ‘้€ๅˆๅŒๆ–‡ๆœฌ่ฟ›่กŒๅฎกๆŸฅ
contract_text = "ๆ‚จ็š„ๅˆๅŒๅ†…ๅฎน..."
message = Message(
    content=TextContent(text=contract_text),
    role=MessageRole.USER
)

# ่Žทๅ–ๅฎกๆŸฅ็ป“ๆžœ
response = client.send_message(message)
print(response.content.text)

ๆ™บ่ƒฝไฝ“่ฏดๆ˜Ž / Agent Description

ๅ่ฐƒๅ™จ ContractCoordinator (็ซฏๅฃ 7000)

  • ่Œ่ดฃ: ไธปๅ่ฐƒๅ™จ๏ผŒ่ดŸ่ดฃๆŽฅๆ”ถ็”จๆˆท่ฏทๆฑ‚๏ผŒๅˆ†ๅ‘ไปปๅŠก๏ผŒๆ•ดๅˆ็ป“ๆžœ
  • ๅŠŸ่ƒฝ: ๅทฅไฝœๆต็จ‹่ง„ๅˆ’๏ผŒไปปๅŠก่ฐƒๅบฆ๏ผŒ็ป“ๆžœๆฑ‡ๆ€ป
  • ่พ“ๅ…ฅ: ็”จๆˆท็š„ๅˆๅŒๅฎกๆŸฅ่ฏทๆฑ‚
  • ่พ“ๅ‡บ: ็ปผๅˆๆ€งๅˆๅŒๅฎกๆŸฅๆŠฅๅ‘Š

ๆ–‡ๆกฃๅค„็†ๆ™บ่ƒฝไฝ“ DocumentProcessingAgent (็ซฏๅฃ 7005)

  • ่Œ่ดฃ: ๆ–‡ๆกฃ่งฃๆžๅ’Œ็ป“ๆž„ๅˆ†ๆž
  • ๅŠŸ่ƒฝ:
    • ๆ–‡ๆกฃ็ป“ๆž„่ฏ†ๅˆซ๏ผˆ็ซ ่Š‚ใ€ๆกๆฌพใ€้™„ไปถ๏ผ‰
    • ๅ…ณ้”ฎไฟกๆฏๆๅ–๏ผˆๅฝ“ไบ‹ไบบใ€้‡‘้ขใ€ๆ—ฅๆœŸ๏ผ‰
    • ๅˆๅŒ็ฑปๅž‹่ฏ†ๅˆซ
    • ๆ–‡ๆœฌ็ปŸ่ฎกๅˆ†ๆž
  • ่พ“ๅ‡บ: ็ป“ๆž„ๅŒ–็š„ๆ–‡ๆกฃๅˆ†ๆžๆŠฅๅ‘Š

ๆณ•ๅพ‹ๆ™บ่ƒฝไฝ“ LegalAgent (็ซฏๅฃ 7002)

  • ่Œ่ดฃ: ๆณ•ๅพ‹ๅˆ่ง„ๆ€งๅˆ†ๆžๅ’Œ้ฃŽ้™ฉ่ฏ„ไผฐ
  • ๅŠŸ่ƒฝ:
    • ๅˆๅŒๆ•ˆๅŠ›่ฆไปถๆฃ€ๆŸฅ
    • ๅฟ…่ฆๆกๆฌพๅฎŒๆ•ดๆ€งๅˆ†ๆž
    • ๆณ•ๅพ‹้ฃŽ้™ฉ่ฏ†ๅˆซๅ’Œ่ฏ„็บง
    • ่ฟ็บฆ่ดฃไปปๆกๆฌพๅˆ†ๆž
    • ไบ‰่ฎฎ่งฃๅ†ณๆœบๅˆถ่ฏ„ไผฐ
  • ่พ“ๅ‡บ: ๆณ•ๅพ‹้ฃŽ้™ฉๆŠฅๅ‘Šๅ’Œๅˆ่ง„ๅปบ่ฎฎ

ๅ•†ไธšๆ™บ่ƒฝไฝ“ BusinessAgent (็ซฏๅฃ 7003)

  • ่Œ่ดฃ: ๅ•†ไธšๆกๆฌพๅ’Œ่ดขๅŠกๅˆ†ๆž
  • ๅŠŸ่ƒฝ:
    • ่ดขๅŠกๆกๆฌพๅˆ†ๆž๏ผˆไปทๆ ผใ€ๆ”ฏไป˜ๆกไปถ๏ผ‰
    • ๅ•†ไธš้ฃŽ้™ฉ่ฏ„ไผฐ
    • ๆŠ•่ต„ๅ›žๆŠฅๅˆ†ๆž
    • ๅธ‚ๅœบๆกไปถ่ฏ„ไผฐ
    • ่ฟ่ฅ่ฆๆฑ‚ๅˆ†ๆž
  • ่พ“ๅ‡บ: ๅ•†ไธšไปทๅ€ผๅ’Œ้ฃŽ้™ฉ่ฏ„ไผฐๆŠฅๅ‘Š

ๆ ผๅผๆ™บ่ƒฝไฝ“ FormatAgent (็ซฏๅฃ 7004)

  • ่Œ่ดฃ: ๆ–‡ๆกฃๆ ผๅผๅ’Œ่ง„่Œƒๆ€งๆฃ€ๆŸฅ
  • ๅŠŸ่ƒฝ:
    • ๅˆๅŒ็ป“ๆž„่ง„่Œƒๆ€งๆฃ€ๆŸฅ
    • ็ซ ่Š‚็ผ–ๅทไฝ“็ณปๅˆ†ๆž
    • ๆ ผๅผไธ€่‡ดๆ€ง่ฏ„ไผฐ
    • ไธ“ไธšๆ€งๅ’Œๅฏ่ฏปๆ€ง่ฏ„ไผฐ
  • ่พ“ๅ‡บ: ๆ ผๅผ่ง„่Œƒๆ€งๆŠฅๅ‘Šๅ’Œๆ”น่ฟ›ๅปบ่ฎฎ

้ซ˜ไบฎๆ™บ่ƒฝไฝ“ HighlightAgent (็ซฏๅฃ 7006)

  • ่Œ่ดฃ: ้‡็‚นๅ†…ๅฎนๆ ‡ๆณจๅ’Œ้ฃŽ้™ฉๆ็คบ
  • ๅŠŸ่ƒฝ:
    • ๅ…ณ้”ฎๆกๆฌพ่ฏ†ๅˆซๅ’Œๆ ‡ๆณจ
    • ้ฃŽ้™ฉ็‚น้ซ˜ไบฎๆ˜พ็คบ
    • ้‡่ฆไฟกๆฏๅˆ†็ฑปๆ ‡่ฎฐ
    • ๆณจๆ„ไบ‹้กนๆ้†’
  • ่พ“ๅ‡บ: ๅธฆๆ ‡ๆณจ็š„ๅˆๅŒๆ–‡ๆกฃๅ’Œ้‡็‚น่ฏดๆ˜Ž

ๆ•ดๅˆๆ™บ่ƒฝไฝ“ IntegrationAgent (็ซฏๅฃ 7007)

  • ่Œ่ดฃ: ๅˆ†ๆž็ป“ๆžœๆ•ดๅˆๅ’Œๆœ€็ปˆๆŠฅๅ‘Š็”Ÿๆˆ
  • ๅŠŸ่ƒฝ:
    • ๅคš็ปดๅบฆๅˆ†ๆž็ป“ๆžœๆ•ดๅˆ
    • ็ปผๅˆ้ฃŽ้™ฉ่ฏ„็บง
    • ๅ†ณ็ญ–ๆ”ฏๆŒไฟกๆฏ็”Ÿๆˆ
    • ๆ ‡ๅ‡†ๅŒ–ๆŠฅๅ‘Š่พ“ๅ‡บ
  • ่พ“ๅ‡บ: ็ปผๅˆๅˆ†ๆžๆŠฅๅ‘Šๅ’Œ่กŒๅŠจๅปบ่ฎฎ

็ณป็ปŸ็ฎก็† / System Management

ๅฏๅŠจ็ณป็ปŸ / Start System

python start_system.py start

ๆŸฅ็œ‹็Šถๆ€ / Check Status

python start_system.py status

ๅœๆญข็ณป็ปŸ / Stop System

python start_system.py stop

ๅธฎๅŠฉไฟกๆฏ / Help

python start_system.py help

API ๆŽฅๅฃ / API Interface

ๆ‰€ๆœ‰ๆ™บ่ƒฝไฝ“้ƒฝๆไพ›ๆ ‡ๅ‡†็š„ A2A ๆŽฅๅฃ๏ผš

็ซฏ็‚น / Endpoints

  • ๅ่ฐƒๅ™จ: http://localhost:7000/a2a
  • ๆณ•ๅพ‹ๆ™บ่ƒฝไฝ“: http://localhost:7002/a2a
  • ๅ•†ไธšๆ™บ่ƒฝไฝ“: http://localhost:7003/a2a
  • ๆ ผๅผๆ™บ่ƒฝไฝ“: http://localhost:7004/a2a
  • ๆ–‡ๆกฃๆ™บ่ƒฝไฝ“: http://localhost:7005/a2a
  • ้ซ˜ไบฎๆ™บ่ƒฝไฝ“: http://localhost:7006/a2a
  • ๆ•ดๅˆๆ™บ่ƒฝไฝ“: http://localhost:7007/a2a

ๆถˆๆฏๆ ผๅผ / Message Format

{
    "content": {
        "type": "text",
        "text": "ๅˆๅŒๅ†…ๅฎนๆˆ–ๅˆ†ๆž่ฏทๆฑ‚"
    },
    "role": "user",
    "message_id": "uuid",
    "conversation_id": "uuid"
}

้…็ฝฎ่ฏดๆ˜Ž / Configuration

็Žฏๅขƒๅ˜้‡ / Environment Variables

# LLM API ้…็ฝฎ
QIANFAN_API_KEY=your-api-key
OPENAI_API_KEY=your-openai-key
ANTHROPIC_API_KEY=your-anthropic-key

้…็ฝฎๆ–‡ไปถ / Configuration File

็ผ–่พ‘ config.py ๆฅไฟฎๆ”น๏ผš

  • LLM ๆจกๅž‹้…็ฝฎ
  • ๆ™บ่ƒฝไฝ“็ซฏๅฃ่ฎพ็ฝฎ
  • ็ณป็ปŸๅ‚ๆ•ฐ่ฐƒๆ•ด

ๅผ€ๅ‘ๆŒ‡ๅ— / Development Guide

ๆทปๅŠ ๆ–ฐๆ™บ่ƒฝไฝ“ / Adding New Agents

  1. ็ปงๆ‰ฟ BaseAgent ็ฑป
  2. ๅฎž็Žฐ process_text_message ๆ–นๆณ•
  3. ๅœจ config.py ไธญๆทปๅŠ ้…็ฝฎ
  4. ๅœจ start_system.py ไธญๆณจๅ†Œ

็คบไพ‹๏ผš

from base_agent import BaseAgent

class CustomAgent(BaseAgent):
    def __init__(self):
        super().__init__("CustomAgent", "ๆ‚จ็š„็ณป็ปŸๆ็คบ่ฏ")
    
    def process_text_message(self, message):
        # ๅฎž็Žฐๆ‚จ็š„ไธšๅŠก้€ป่พ‘
        return self.create_response_message(message, "ๅˆ†ๆž็ป“ๆžœ")

ๆ‰ฉๅฑ•ๅ่ฐƒๅ™จ / Extending Coordinator

ไฟฎๆ”น coordinator.py ไธญ็š„ๅทฅไฝœๆต็จ‹้€ป่พ‘ๆฅ้›†ๆˆๆ–ฐๆ™บ่ƒฝไฝ“ใ€‚

ๆ•…้šœๆŽ’้™ค / Troubleshooting

ๅธธ่ง้—ฎ้ข˜ / Common Issues

  1. ็ซฏๅฃๅ†ฒ็ช: ไฟฎๆ”น config.py ไธญ็š„็ซฏๅฃ่ฎพ็ฝฎ
  2. ไพ่ต–็ผบๅคฑ: ่ฟ่กŒ pip install -r requirements.txt
  3. API ๅฏ†้’ฅ: ๆฃ€ๆŸฅ config.py ไธญ็š„ LLM API ้…็ฝฎ
  4. ๅฏๅŠจๅคฑ่ดฅ: ๆŸฅ็œ‹ๆ—ฅๅฟ—่พ“ๅ‡บ๏ผŒๆฃ€ๆŸฅๆ–‡ไปถๆƒ้™

ๆ—ฅๅฟ—ๆŸฅ็œ‹ / Logging

็ณป็ปŸไผšๅœจๆŽงๅˆถๅฐ่พ“ๅ‡บ่ฏฆ็ป†็š„่ฟ่กŒๆ—ฅๅฟ—๏ผŒๅŒ…ๆ‹ฌ๏ผš

  • ๆ™บ่ƒฝไฝ“ๅฏๅŠจ็Šถๆ€
  • ่ฏทๆฑ‚ๅค„็†่ฟ‡็จ‹
  • ้”™่ฏฏไฟกๆฏๅ’Œ่ญฆๅ‘Š

ๆ€ง่ƒฝไผ˜ๅŒ– / Performance Optimization

ๅปบ่ฎฎ้…็ฝฎ / Recommended Configuration

  • ๅ†…ๅญ˜: ่‡ณๅฐ‘ 4GB RAM
  • CPU: ๅคšๆ ธๅค„็†ๅ™จๆŽจ่
  • ็ฝ‘็ปœ: ็จณๅฎš็š„็ฝ‘็ปœ่ฟžๆŽฅ๏ผˆ็”จไบŽ LLM API ่ฐƒ็”จ๏ผ‰

ไผ˜ๅŒ–ๅปบ่ฎฎ / Optimization Tips

  1. ไฝฟ็”จ้ซ˜ๆ€ง่ƒฝ็š„ LLM API ๆœๅŠก
  2. ้€‚ๅฝ“่ฐƒๆ•ดๅนถๅ‘ๅค„็†ๆ•ฐ้‡
  3. ็ผ“ๅญ˜ๅธธ็”จ็š„ๅˆ†ๆž็ป“ๆžœ
  4. ็›‘ๆŽง็ณป็ปŸ่ต„ๆบไฝฟ็”จๆƒ…ๅ†ต

ๅฎ‰ๅ…จ่€ƒ่™‘ / Security Considerations

ๆ•ฐๆฎๅฎ‰ๅ…จ / Data Security

  • ๅˆๅŒๆ•ฐๆฎไป…ๅœจๅ†…ๅญ˜ไธญๅค„็†๏ผŒไธๆŒไน…ๅŒ–ๅญ˜ๅ‚จ
  • ๆ”ฏๆŒๆœฌๅœฐ้ƒจ็ฝฒ๏ผŒๆ•ฐๆฎไธ็ฆปๅผ€ๆ‚จ็š„็Žฏๅขƒ
  • LLM API ่ฐƒ็”จไฝฟ็”จๅŠ ๅฏ†ไผ ่พ“

่ฎฟ้—ฎๆŽงๅˆถ / Access Control

  • ๅฏๅœจ็ฝ‘็ปœๅฑ‚้ข้™ๅˆถ่ฎฟ้—ฎ
  • ๆ”ฏๆŒๆทปๅŠ ่บซไปฝ้ชŒ่ฏๆœบๅˆถ
  • ๅฎก่ฎกๆ—ฅๅฟ—่ฎฐๅฝ•ๆ‰€ๆœ‰ๆ“ไฝœ

่ฎธๅฏ่ฏ / License

ๆœฌ้กน็›ฎๅŸบไบŽ MIT ่ฎธๅฏ่ฏๅผ€ๆบใ€‚

่ดก็Œฎ / Contributing

ๆฌข่ฟŽๆไบค Issue ๅ’Œ Pull Request ๆฅๆ”น่ฟ›่ฟ™ไธช้กน็›ฎใ€‚

่”็ณปๆ–นๅผ / Contact

ๅฆ‚ๆœ‰้—ฎ้ข˜ๆˆ–ๅปบ่ฎฎ๏ผŒ่ฏทๆไบค GitHub Issueใ€‚


ๆณจๆ„: ่ฟ™ๆ˜ฏไธ€ไธชๆผ”็คบ็ณป็ปŸ๏ผŒ่ฏทๆ นๆฎๅฎž้™…้œ€ๆฑ‚่ฟ›่กŒ้€‚ๅฝ“็š„ๅฎ‰ๅ…จ้…็ฝฎๅ’Œไผ˜ๅŒ–ใ€‚ๅœจ็”Ÿไบง็Žฏๅขƒไธญไฝฟ็”จๅ‰๏ผŒ่ฏทๅ……ๅˆ†ๆต‹่ฏ•ๅนถ็กฎไฟ็ฌฆๅˆๆ‚จ็š„ๅฎ‰ๅ…จๅ’Œๅˆ่ง„่ฆๆฑ‚ใ€‚