github Python analyzed 23704a7

Ling-ye/Lingye_Agent

github

Modular Python framework for LLM agents with multiple agent patterns, memory, RAG, MCP, and context engineering.

maintainer
Ling-ye
licence
MIT
first seen
2026-08-03
last seen
2026-08-27
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 5 tools
transport streamable-http · sse counts 5 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • add
  • divide
  • greet
  • multiply
  • subtract
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 23704a7 · analyzer v33 · 2w ago

skills & prompt files 1

danger signals1

code evidence vv0.1.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 86

filesystem 13

  • fs (weak) Ling-ye-Lingye_Agent-23704a7/examples/PDF_learning_assistant.py :234 with open(report_file, 'w', encoding='utf-8') as f:
  • fs (weak) Ling-ye-Lingye_Agent-23704a7/examples/codebase_maintainer.py :424 with open(report_file, 'w', encoding='utf-8') as f:
  • fs (weak) Ling-ye-Lingye_Agent-23704a7/examples/doc_assistant.py :116 with open("report.md", "w", encoding="utf-8") as f:
  • fs Ling-ye-Lingye_Agent-23704a7/lingye_agent/memory/rag/document.py :247 with open(file_path, 'r', encoding=encoding) as f:
  • fs Ling-ye-Lingye_Agent-23704a7/lingye_agent/memory/rag/pipeline.py :201 with open(path, 'r', encoding='utf-8', errors='ignore') as f:
  • fs Ling-ye-Lingye_Agent-23704a7/lingye_agent/memory/types/perceptual.py :580 with open(image_data, 'rb') as f:
  • fs Ling-ye-Lingye_Agent-23704a7/lingye_agent/tools/note_tool.py :39 from pathlib import Path
  • fs Ling-ye-Lingye_Agent-23704a7/lingye_agent/tools/protocol/mcp_tool.py :119 with open(path, "r", encoding="utf-8") as f:
  • fs Ling-ye-Lingye_Agent-23704a7/lingye_agent/tools/rag_tool.py :328 with open(tmp_path, 'w', encoding='utf-8') as f:
  • fs Ling-ye-Lingye_Agent-23704a7/lingye_agent/tools/terminal_tool.py :26 from pathlib import Path
  • fs (weak) Ling-ye-Lingye_Agent-23704a7/scripts/verify_release_artifact.py :7 from pathlib import Path
  • fs (weak) Ling-ye-Lingye_Agent-23704a7/tests/test_release_contract.py :4 import shutil
show 1 more
  • fs (weak) Ling-ye-Lingye_Agent-23704a7/tests/test_terminal_tool.py :5 from pathlib import Path

shell / exec 2

  • shell Ling-ye-Lingye_Agent-23704a7/lingye_agent/tools/terminal_tool.py :24 import subprocess
  • shell (weak) Ling-ye-Lingye_Agent-23704a7/tests/test_release_contract.py :5 import subprocess

network 3

  • net Ling-ye-Lingye_Agent-23704a7/lingye_agent/memory/embedding.py :19 from urllib.parse import urlparse
  • net Ling-ye-Lingye_Agent-23704a7/lingye_agent/memory/storage/qdrant_store.py :76 import httpx
  • net (weak) Ling-ye-Lingye_Agent-23704a7/tests/test_mcp_tool.py :35 import socket

secrets 8

  • secrets Ling-ye-Lingye_Agent-23704a7/lingye_agent/core/database_config.py :55 api_key=os.getenv("QDRANT_API_KEY"),
  • secrets Ling-ye-Lingye_Agent-23704a7/lingye_agent/core/llm.py :76 if os.getenv("OPENAI_API_KEY"):
  • secrets Ling-ye-Lingye_Agent-23704a7/lingye_agent/memory/embedding.py :213 os.environ["DASHSCOPE_API_KEY"] = self.api_key
  • secrets Ling-ye-Lingye_Agent-23704a7/lingye_agent/memory/rag/pipeline.py :539 api_key=qdrant_api_key if qdrant_api_key is not None else os.getenv("QDRANT_API_KEY"),
  • secrets Ling-ye-Lingye_Agent-23704a7/lingye_agent/memory/types/episodic.py :76 qdrant_api_key = os.getenv("QDRANT_API_KEY")
  • secrets Ling-ye-Lingye_Agent-23704a7/lingye_agent/memory/types/perceptual.py :117 qdrant_api_key = os.getenv("QDRANT_API_KEY")
  • secrets Ling-ye-Lingye_Agent-23704a7/lingye_agent/tools/advanced_search.py :21 if os.getenv("TAVILY_API_KEY"):
  • secrets Ling-ye-Lingye_Agent-23704a7/lingye_agent/tools/rag_tool.py :59 self.qdrant_api_key = qdrant_api_key or os.getenv("QDRANT_API_KEY")

database 1

  • db Ling-ye-Lingye_Agent-23704a7/lingye_agent/memory/storage/document_store.py :10 import sqlite3

tool registrations 5

  • add Ling-ye-Lingye_Agent-23704a7/lingye_agent/tools/protocol/mcp_tool.py :158
  • subtract Ling-ye-Lingye_Agent-23704a7/lingye_agent/tools/protocol/mcp_tool.py :163
  • multiply Ling-ye-Lingye_Agent-23704a7/lingye_agent/tools/protocol/mcp_tool.py :168
  • divide Ling-ye-Lingye_Agent-23704a7/lingye_agent/tools/protocol/mcp_tool.py :173
  • greet Ling-ye-Lingye_Agent-23704a7/lingye_agent/tools/protocol/mcp_tool.py :180

declared dependencies 21

  • fastmcp@>=2.0.0
  • openai@>=1.30.0
  • pydantic@>=2.5.0
  • python-dotenv@>=1.0.0
  • httpx@>=0.27.0
  • tiktoken@>=0.9.0
  • numpy@>=1.26.0
  • qdrant-client@>=1.6.0
  • sentence-transformers@>=2.5.0
  • scikit-learn@>=1.3.0
  • neo4j@>=5.0.0
  • jieba@>=0.42.1
show 9 more
  • dashscope@>=1.14.0
  • markitdown@>=0.0.1a3
  • gradio@>=4.0.0
  • lingye-agent@*
  • pytest@>=8.0.0
  • pytest-asyncio@>=0.23.0
  • build@>=1.2.2
  • twine@>=5.1.1
  • tomli@>=2.0.1; python_version <

transport_posture 1

  • network-listening, binds all interfaces, no auth detected Ling-ye-Lingye_Agent-23704a7/lingye_agent/protocols/mcp/server.py :114 server.run(transport="http", host="0.0.0.0", port=8081)