The previous LLMClient used raw httpx + Claude Messages API (/v1/messages, x-api-key, Anthropic SSE event types). Incompatible with DeepSeek. Rewrite LLMClient.__init__/chat/close to use openai.AsyncOpenAI: - /v1/chat/completions endpoint, OpenAI message format - Bearer auth, native SDK error types - Stream chunks via async for + chunk.choices[0].delta.content Tool calling protocol (ReAct text-based tags) and all surrounding helpers (_apply_progressive_decay, _fold_old_messages, _partition_tool_calls, tool_call_loop, etc.) are unchanged — endpoint-agnostic by design. New optional config params surfaced to config.yaml.agent: - reasoning_effort: "high" | "medium" | "low" — DeepSeek/o1-style depth - thinking_enabled: bool — DeepSeek extra_body.thinking switch main.py and regenerate_report.py pass these through to LLMClient. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
25 lines
533 B
TOML
25 lines
533 B
TOML
[project]
|
|
name = "masforensics"
|
|
version = "0.1.0"
|
|
description = "Multi-Agent System for Digital Forensics"
|
|
requires-python = ">=3.14"
|
|
dependencies = [
|
|
"httpx[socks]>=0.28.1",
|
|
"openai>=2.36.0",
|
|
"pyyaml",
|
|
"regipy>=6.2.1",
|
|
]
|
|
|
|
[project.scripts]
|
|
masforensics = "main:main"
|
|
|
|
[tool.setuptools]
|
|
py-modules = ["main", "llm_client", "evidence_graph", "base_agent", "orchestrator", "tool_registry", "agent_factory"]
|
|
packages = ["agents", "tools"]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pytest>=9.0.2",
|
|
"pytest-asyncio>=1.3.0",
|
|
]
|