Skip to content

MbappeWU/Project-Test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

MemoMind - ๅคšๆจกๆ€ไธชไบบ่ฎฐๅฟ†ๆ™บ่ƒฝไฝ“

๐Ÿง  ไธ€ไธชๅ…ทๆœ‰้•ฟ็ŸญๆœŸ่ฎฐๅฟ†็š„ๆœฌๅœฐๅŒ–ๅคšๆจกๆ€AIๅŠฉๆ‰‹

็‰นๆ€ง โ€ข ๅฟซ้€Ÿๅผ€ๅง‹ โ€ข ไฝฟ็”จๆŒ‡ๅ— โ€ข ้…็ฝฎ โ€ข ๆžถๆž„


็‰นๆ€ง

  • ๐Ÿ”’ ้š็งไผ˜ๅ…ˆ - ๆ‰€ๆœ‰ๆ•ฐๆฎๆœฌๅœฐๅญ˜ๅ‚จ๏ผŒไธไธŠไผ ไบ‘็ซฏ
  • ๐ŸŽฏ ๅคšๆจกๆ€็†่งฃ - ๆ”ฏๆŒๆ–‡ๆœฌใ€ๅ›พๅƒใ€้Ÿณ้ข‘็ญ‰ๅคš็งๆ•ฐๆฎ็ฑปๅž‹
  • ๐Ÿง  ่ฎฐๅฟ†็ณป็ปŸ - ้•ฟ็ŸญๆœŸ่ฎฐๅฟ†ๅˆ†ๅฑ‚็ฎก็†๏ผŒๆ™บ่ƒฝๆฃ€็ดขไธŽ้—ๅฟ˜
  • ๐Ÿ“š ็Ÿฅ่ฏ†ๅบ“ - ๆž„ๅปบไธชไบบ็Ÿฅ่ฏ†ๅบ“๏ผŒๆ”ฏๆŒ่ฏญไน‰ๆœ็ดข
  • ๐Ÿ’ฌ ๆ™บ่ƒฝ้—ฎ็ญ” - ๅŸบไบŽ็Ÿฅ่ฏ†ๅบ“ๅ’Œ่ฎฐๅฟ†็š„ๅขžๅผบ้—ฎ็ญ” (RAG)
  • ๐Ÿ”Œ ๅคšLLMๆ”ฏๆŒ - ๆ”ฏๆŒ Anthropic Claudeใ€OpenAIใ€Ollama ๆœฌๅœฐๆจกๅž‹

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

็Žฏๅขƒ่ฆๆฑ‚

  • Python 3.11+
  • pip ๆˆ– uv

ๅฎ‰่ฃ…

# ๅ…‹้š†ไป“ๅบ“
git clone https://github.com/MbappeWU/Project-Test.git
cd Project-Test

# ๅˆ›ๅปบ่™šๆ‹Ÿ็Žฏๅขƒ (ๆŽจ่)
python -m venv .venv
source .venv/bin/activate  # Linux/macOS
# .venv\Scripts\activate  # Windows

# ๅฎ‰่ฃ…ไพ่ต–
pip install -e .

# ๆˆ–ไฝฟ็”จ uv (ๆ›ดๅฟซ)
uv pip install -e .

้…็ฝฎ API Key

# ๅคๅˆถ็Žฏๅขƒๅ˜้‡ๆจกๆฟ
cp .env.example .env

# ็ผ–่พ‘ .env ๆ–‡ไปถ๏ผŒๅกซๅ…ฅไฝ ็š„ API Key
# ANTHROPIC_API_KEY=sk-ant-xxxxx
# ๆˆ– OPENAI_API_KEY=sk-xxxxx

ๆˆ–ไฝฟ็”จๅ‘ฝไปค่กŒ้…็ฝฎ๏ผš

# ๅˆๅง‹ๅŒ–้…็ฝฎ
memomind config init

# ่ฎพ็ฝฎ API Key (ไผšๅฎ‰ๅ…จๅญ˜ๅ‚จ)
export ANTHROPIC_API_KEY=your-key-here

้ชŒ่ฏๅฎ‰่ฃ…

# ๆฃ€ๆŸฅ็‰ˆๆœฌ
memomind version

# ๆต‹่ฏ•่ฟžๆŽฅ
memomind chat
# ่พ“ๅ…ฅ: /quit ้€€ๅ‡บ

ไฝฟ็”จๆŒ‡ๅ—

ไบคไบ’ๅผๅฏน่ฏ

# ๅฏๅŠจๅฏน่ฏๆจกๅผ
memomind chat

ๅœจๅฏน่ฏๆจกๅผไธญ๏ผš

  • ็›ดๆŽฅ่พ“ๅ…ฅๆ–‡ๅญ—่ฟ›่กŒๅฏน่ฏ
  • ่พ“ๅ…ฅ /quit ๆˆ– /exit ้€€ๅ‡บ
  • ่พ“ๅ…ฅ /clear ๆธ…้™คๅฝ“ๅ‰ไผš่ฏ
  • ่พ“ๅ…ฅ /save ไฟๅญ˜ๅฝ“ๅ‰ไผš่ฏ

็Ÿฅ่ฏ†ๅบ“็ฎก็†

# ๆทปๅŠ ๆ–‡ไปถๅˆฐ็Ÿฅ่ฏ†ๅบ“
memomind add document.txt
memomind add document.pdf
memomind add image.png          # ไฝฟ็”จ Vision LLM ็”Ÿๆˆๆ่ฟฐ
memomind add audio.mp3          # ไฝฟ็”จ Whisper ่ฝฌๅฝ•

# ๆทปๅŠ ๆ•ดไธช็›ฎๅฝ•
memomind add ./documents/

# ๅฟซ้€ŸๆทปๅŠ ็ฌ”่ฎฐ
memomind note "ไปŠๅคฉๅญฆๅˆฐไบ† Python ่ฃ…้ฅฐๅ™จ็š„็”จๆณ•"
memomind note "้‡่ฆ๏ผšๆ˜Žๅคฉไธ‹ๅˆ3็‚นๅผ€ไผš" --tags "ๆ้†’,ๅทฅไฝœ"

# ๆœ็ดข็Ÿฅ่ฏ†ๅบ“
memomind search "Python ่ฃ…้ฅฐๅ™จ"

# ๅˆ—ๅ‡บๆ‰€ๆœ‰ๆ–‡ๆกฃ
memomind list
memomind list --limit 20

่ฎฐๅฟ†็ฎก็†

# ๆŸฅ็œ‹่ฎฐๅฟ†
memomind memory list
memomind memory list --type semantic

# ๆŸฅ็œ‹็ปŸ่ฎก
memomind memory stats

# ๆธ…้™ค็ŸญๆœŸ่ฎฐๅฟ†
memomind memory clear

้…็ฝฎ็ฎก็†

# ๆŸฅ็œ‹ๅฝ“ๅ‰้…็ฝฎ
memomind config show

# ๅˆๅง‹ๅŒ–้…็ฝฎๆ–‡ไปถ
memomind config init

้…็ฝฎ

้…็ฝฎๆ–‡ไปถไฝไบŽ ~/.memomind/config.yaml๏ผš

llm:
  provider: anthropic          # anthropic, openai, ollama
  model: claude-sonnet-4-20250514
  temperature: 0.7
  max_tokens: 4096

embeddings:
  provider: local              # local, openai
  model: all-MiniLM-L6-v2

memory:
  short_term_max_messages: 20
  retrieval_top_k: 5
  importance_threshold: 0.6

knowledge:
  chunk_size: 500
  chunk_overlap: 50

็Žฏๅขƒๅ˜้‡

ๅ˜้‡ ่ฏดๆ˜Ž
ANTHROPIC_API_KEY Anthropic Claude API ๅฏ†้’ฅ
OPENAI_API_KEY OpenAI API ๅฏ†้’ฅ
MEMOMIND_LLM_PROVIDER LLM ๆไพ›ๅ•† (anthropic/openai/ollama)
MEMOMIND_DATA_DIR ๆ•ฐๆฎๅญ˜ๅ‚จ็›ฎๅฝ• (้ป˜่ฎค: ~/.memomind)

ๆžถๆž„

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      CLI Interface                       โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                   Agent Orchestrator                     โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”‚
โ”‚  โ”‚   Planner   โ”‚ โ”‚  Executor   โ”‚ โ”‚  Reflector  โ”‚       โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                    Memory System                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”‚
โ”‚  โ”‚ Short-term  โ”‚ โ”‚  Long-term  โ”‚ โ”‚   Working   โ”‚       โ”‚
โ”‚  โ”‚  (Session)  โ”‚ โ”‚ (VectorDB)  โ”‚ โ”‚  (Context)  โ”‚       โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                  Knowledge Layer                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”‚
โ”‚  โ”‚    Text     โ”‚ โ”‚   Image     โ”‚ โ”‚    Audio    โ”‚       โ”‚
โ”‚  โ”‚  Processor  โ”‚ โ”‚  (Vision)   โ”‚ โ”‚  (Whisper)  โ”‚       โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                   Infrastructure                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”‚
โ”‚  โ”‚ LLM Client  โ”‚ โ”‚  ChromaDB   โ”‚ โ”‚ File Store  โ”‚       โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

่ฏฆ็ป†ๆžถๆž„่ฏดๆ˜Ž่ฏทๅ‚่€ƒ docs/ARCHITECTURE.mdใ€‚

ๅผ€ๅ‘

ๅฎ‰่ฃ…ๅผ€ๅ‘ไพ่ต–

pip install -e ".[dev]"

่ฟ่กŒๆต‹่ฏ•

# ่ฟ่กŒๆ‰€ๆœ‰ๆต‹่ฏ•
pytest

# ่ฟ่กŒๅนถๆ˜พ็คบ่ฆ†็›–็އ
pytest --cov=memomind --cov-report=html

# ่ฟ่กŒ็‰นๅฎšๆต‹่ฏ•
pytest tests/test_models.py -v

ไปฃ็ ๆฃ€ๆŸฅ

# ๆ ผๅผๅŒ–ไปฃ็ 
black src/memomind tests

# ็ฑปๅž‹ๆฃ€ๆŸฅ
mypy src/memomind

# Lint
ruff check src/memomind

ๅฏ้€‰ๅŠŸ่ƒฝ

้Ÿณ้ข‘ๅค„็† (Whisper)

# ๅฎ‰่ฃ…้Ÿณ้ข‘ๅค„็†ไพ่ต–
pip install -e ".[audio]"

# ็Žฐๅœจๅฏไปฅๅค„็†้Ÿณ้ข‘ๆ–‡ไปถ
memomind add recording.mp3

ๅธธ่ง้—ฎ้ข˜

Q: ๅฆ‚ไฝ•ไฝฟ็”จๆœฌๅœฐๆจกๅž‹๏ผŸ

้…็ฝฎ Ollama ไฝœไธบ LLM ๆไพ›ๅ•†๏ผš

# ็กฎไฟ Ollama ๆญฃๅœจ่ฟ่กŒ
ollama serve

# ๆ‹‰ๅ–ๆจกๅž‹
ollama pull llama2

# ้…็ฝฎ MemoMind
export MEMOMIND_LLM_PROVIDER=ollama

Q: ๆ•ฐๆฎๅญ˜ๅ‚จๅœจๅ“ช้‡Œ๏ผŸ

ๆ‰€ๆœ‰ๆ•ฐๆฎๅญ˜ๅ‚จๅœจ ~/.memomind/ ็›ฎๅฝ•๏ผš

  • config.yaml - ้…็ฝฎๆ–‡ไปถ
  • data/chroma/ - ๅ‘้‡ๆ•ฐๆฎๅบ“
  • data/sessions/ - ไผš่ฏๅކๅฒ
  • data/documents/ - ๅŽŸๅง‹ๆ–‡ไปถ

Q: ๅฆ‚ไฝ•ๅค‡ไปฝๆ•ฐๆฎ๏ผŸ

# ๅค‡ไปฝๆ•ดไธชๆ•ฐๆฎ็›ฎๅฝ•
cp -r ~/.memomind ~/memomind-backup

# ๆˆ–ๅฏผๅ‡บ่ฎฐๅฟ†
memomind memory export > memories.json

่ทฏ็บฟๅ›พ

  • ๅŸบ็ก€ๅฏน่ฏๅŠŸ่ƒฝ
  • ็Ÿฅ่ฏ†ๅบ“็ฎก็†
  • ้•ฟ็ŸญๆœŸ่ฎฐๅฟ†
  • ๅคšๆจกๆ€ๆ”ฏๆŒ (ๆ–‡ๆœฌ/ๅ›พๅƒ/้Ÿณ้ข‘)
  • Web UI
  • ็Ÿฅ่ฏ†ๅ›พ่ฐฑๅฏ่ง†ๅŒ–
  • ๆต่งˆๅ™จๆ’ไปถ
  • ็งปๅŠจ็ซฏๅŒๆญฅ

่ฎธๅฏ่ฏ

MIT License

่ดก็Œฎ

ๆฌข่ฟŽๆไบค Issue ๅ’Œ Pull Request๏ผ


Made with โค๏ธ by MemoMind Team

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages