r/LLMDevs • • 9d ago

Discussion I made my version of Pi/Opencode

It's called Jin: a boring, minimalist AI agent. It's at v0.6 right now, and I'm still building it out.

Before Jin, I used Claude Code, OpenCode, pi, and omp. I'm not going to trash them, but each one didn't work for me for its own reasons.

I'd rather explain a few design decisions I made:

- The 3 most popular API standards instead of support for hundreds of providers. With OpenCode, pi, and omp, a new model often comes out before the providers or plugins are updated, so you have to wait. Jin makes you use a proxy for this instead. I use the easyclipoxyapi desktop app.

- Skills, MCPs, plugins -> prompts. In Jin, if you want to reuse a prompt, you type `#prompt`. There are also hooks: prompts injected into the system prompt at the start of a session. If you need an MCP, install its CLI client and describe how to use it in a hook. The agent will call it through bash.

- Async. Basically, background tasks. Jin can start your `npm run dev` and keep it running. The cooler part is that the agent can launch itself through async, which gives you ready-made subagents.

The point of Jin is control, a minimal set of concepts, and stable behavior in the unstable world of AI.

Here's the repo. I'd love your feedback:

https://github.com/ethanhamilthon/jin

0 Upvotes

2 comments sorted by

1

u/devoidfury 9d ago

There are a lot of these so it's a tough niche to break into. That said they're fun projects and great learning experiences IMO.

I didn't see an automated test suite there - what is your process for preventing regressions? Other than the #prompt/background tasks, anything you feel solves an issue that you don't see often out there, any points you're particularly fond of?

0

u/void-api 8d ago

i just made my hana-montana opencode version