minimal.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/usr/bin/env python3
  2. """Run one minimal-agent turn through the bundled Python SDK runtime."""
  3. from __future__ import annotations
  4. import argparse
  5. import os
  6. from pathlib import Path
  7. from deepseek_harness import DeepSeekHarness
  8. CONFIG = Path(__file__).with_name("minimal.cordis.yml")
  9. def main() -> None:
  10. """Parse one task and print the agent's final response."""
  11. parser = argparse.ArgumentParser()
  12. parser.add_argument("prompt", help="Task for the minimal agent")
  13. parser.add_argument("--workspace", type=Path, default=Path.cwd())
  14. parser.add_argument("--session-root", type=Path, default=Path(".dsh-sessions"))
  15. parser.add_argument("--session-id")
  16. parser.add_argument("--provider", default="deepseek-official")
  17. parser.add_argument("--model", default=os.environ.get("DSH_MODEL", "deepseek-v4-flash"))
  18. parser.add_argument("--max-tokens", type=int)
  19. args = parser.parse_args()
  20. workspace = args.workspace.resolve()
  21. session_root = args.session_root.resolve()
  22. with DeepSeekHarness(
  23. provider=args.provider,
  24. model=args.model,
  25. max_tokens=args.max_tokens,
  26. cwd=str(workspace),
  27. session_root=str(session_root),
  28. cordis=str(CONFIG.resolve()),
  29. ) as harness:
  30. result = harness.run(args.prompt, session_id=args.session_id)
  31. print(result.final_response)
  32. if __name__ == "__main__":
  33. main()