minimal.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. from pathlib import Path
  6. from deepseek_harness import DeepSeekHarness
  7. CONFIG = Path(__file__).with_name("minimal.cordis.yml")
  8. def main() -> None:
  9. """Parse one task and print the agent's final response."""
  10. parser = argparse.ArgumentParser()
  11. parser.add_argument("prompt", help="Task for the minimal agent")
  12. parser.add_argument("--workspace", type=Path, default=Path.cwd())
  13. parser.add_argument("--session-root", type=Path, default=Path(".dsh-sessions"))
  14. parser.add_argument("--session-id")
  15. parser.add_argument("--provider", default="deepseek-official")
  16. parser.add_argument("--model", default="deepseek-v4-flash")
  17. parser.add_argument("--max-tokens", type=int)
  18. args = parser.parse_args()
  19. workspace = args.workspace.resolve()
  20. session_root = args.session_root.resolve()
  21. with DeepSeekHarness(
  22. provider=args.provider,
  23. model=args.model,
  24. max_tokens=args.max_tokens,
  25. cwd=str(workspace),
  26. session_root=str(session_root),
  27. cordis=str(CONFIG.resolve()),
  28. ) as harness:
  29. result = harness.run(args.prompt, session_id=args.session_id)
  30. print(result.final_response)
  31. if __name__ == "__main__":
  32. main()