some changes
This commit is contained in:
@@ -51,16 +51,36 @@ def _build_prompt(message: str, context: SessionContext) -> str:
|
||||
return "\n".join(lines)
|
||||
|
||||
|
||||
MODELS = [
|
||||
"claude-sonnet-4-6",
|
||||
"claude-opus-4-6",
|
||||
"claude-haiku-4-5",
|
||||
]
|
||||
|
||||
|
||||
class ClaudeSDKProvider(AgentProvider):
|
||||
"""Uses claude_agent_sdk — requires Claude Code CLI to be installed."""
|
||||
|
||||
def __init__(self, cwd: str | None = None, max_turns: int = 5):
|
||||
def __init__(self, cwd: str | None = None, max_turns: int = 5, model: str = MODELS[0]):
|
||||
self._cwd = cwd
|
||||
self._max_turns = max_turns
|
||||
self._model = model
|
||||
|
||||
@property
|
||||
def name(self) -> str:
|
||||
return "claude-code-sdk"
|
||||
return f"claude-sdk/{self._model}"
|
||||
|
||||
@property
|
||||
def available_models(self) -> list[str]:
|
||||
return list(MODELS)
|
||||
|
||||
@property
|
||||
def model(self) -> str:
|
||||
return self._model
|
||||
|
||||
@model.setter
|
||||
def model(self, value: str):
|
||||
self._model = value
|
||||
|
||||
def stream(self, message: str, context: SessionContext) -> Iterator[str]:
|
||||
prompt = _build_prompt(message, context)
|
||||
@@ -70,6 +90,7 @@ class ClaudeSDKProvider(AgentProvider):
|
||||
async for msg in query(
|
||||
prompt=prompt,
|
||||
options=ClaudeAgentOptions(
|
||||
model=self._model,
|
||||
cwd=self._cwd or str(context.session_dir),
|
||||
allowed_tools=["Read"],
|
||||
system_prompt=SYSTEM_PROMPT,
|
||||
|
||||
Reference in New Issue
Block a user