Skip to content

Add PraisonAI compute provider example - #18

Open
opencolin wants to merge 1 commit into
mainfrom
examples/praisonai-tenki
Open

Add PraisonAI compute provider example#18
opencolin wants to merge 1 commit into
mainfrom
examples/praisonai-tenki

Conversation

@opencolin

Copy link
Copy Markdown
Collaborator

Adds examples/praisonai-tenki: PraisonAI's Tenki compute provider gives an agent team one shared microVM (PraisonAIAgents(..., compute="tenki")), so files written by one agent are there for the next.

Not in a PyPI release yet — the provider (#3242) and the shared team/workflow wiring (#3949) both merged 2026-08-14, after the latest releases — so requirements pin both packages to the same git commit (mixing old praisonaiagents with new praisonai breaks the compute="tenki" lookup; README warns). verify.py resolves "tenki" through the real compute bridge, provisions a microVM, runs a command, round-trips a file, shuts down. Passed live.

One upstream sharp edge found and documented: Tenki's stock image has no /workspace and the shared-workspace tools don't create it — README gives the workarounds.

Root README: PraisonAI row in Agent frameworks.

🤖 Generated with Claude Code

PraisonAI's TenkiCompute provider (merged upstream 2026-08-14) gives a whole
agent team one shared Tenki microVM via compute="tenki". Both PraisonAI
packages are pinned from the same upstream git commit since the latest PyPI
releases predate the provider; verify.py proves the string registration path
and a live provision/execute/file-round-trip/shutdown cycle.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@tenki-reviewer

tenki-reviewer Bot commented Aug 14, 2026

Copy link
Copy Markdown

Review complete. No blocking issues — approved ✅; 1 nitpick below.

🧹 Nitpicks (1) — 🟢 1 low
  • 🟢 finally block raises NameError when provisioning fails (verify.py:112) — verify.py's finally block at line 112-113 calls asyncio.run(compute.shutdown(info.instance_id)) unconditionally, but info is only bound by asyncio.run(compute.provision(config)) at line 73.

This PR introduces a new examples/praisonai-tenki/ example showing how to run a PraisonAI agent inside a Tenki Firecracker microVM sandbox, plus a smoke-test script that provisions, uploads files, executes, downloads, and shuts down the sandbox. The README and requirements.txt are docs/config only.

Files Change
README.md Adds an index link to the new praisonai-tenki example.
examples/praisonai-tenki/README.md Documents setup, env vars, and usage for the example.
examples/praisonai-tenki/requirements.txt Pins the Python deps (tenki and praisonai) for the verify script.
examples/praisonai-tenki/verify.mjs Node smoke test mirroring the Python flow against the Tenki sandbox.
examples/praisonai-tenki/verify.py Python smoke test; its unguarded finally shutdown dereferences info when provisioning fails.

Reviewed commit: 04ab965

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant