202 karma · joined September 4, 2018
We built that in my current company and it works wonders to just script entire persistent workflows with a simple SDK.
harbor up omlx opencode
Slop is no fun to deal with, so we have a thesis that slop should be left for agents to read and human-to-human communication should happen outside of passing empty fluffy docs to one another. To realise that, we have a workspace with group chats where multiple agents and humans can work together and agents can engage with humans for additional information when needed. The challenge is, of course, to find the right level of autonomy for the agents and let the agent learn and follow user's workflows well enough to be useful.
Bun+OpenTUI for CLI, separate Rust binary for indexing the sessions of your coding agents. Release video made with Hyperframes.
``` harbor pull unsloth/Qwen3.6-35B-A3B-GGUF:UD-Q4_K_XL
# Open WebUI -> llama.cpp + SearXNG for Web RAG + OpenTerminal as sandbox harbor up searxng webui llamacpp openterminal ```
That's it, it's already better than Claude's or ChatGPT's app.
Spec is essentially a set of facts + fluff. List of facts is essentially the spec minus the fluff. This was my main idea when trying this approach out. It worked quite well, so I went on building the CLI and a set of skills to better guide the agent about this specific workflow.
Outside of that, I found a few things particularly useful so far: - I can seed a relatively complex project with just a few core assumptions about behaviors I have, agent will firgure out all the gaps in a formalised way - I can easily diff/compare the fact sheets against one another. One example: I built a fact sheet for a fairly hairy Python CLI, then asked the agent to update all Python-related entries to their Rust equivalents, then rebuilt this CLI in Rust in the scope of another project - It's much quicker than working with large spec formats, agent uses less tool calls to capture the context it needs to work on something - After doing large refactoring, agent doing a "fact check" is essentially a full on e2e test run
Two biggest gains for agentic use are because fact sheets are more compact and that they are all assertions about the desired state, it's much easier to reason about things that should and shouldn't be there
It looks like context is set to 32k which is the bare minimum needed for OpenCode with its ~10k initial system prompt. So overall, something like Unsloth's UD q8 XL or q6 XL quants free up a lot of memory and bandwidth moving into the next tier of usefulness.
Many folks from other tools are only getting exposed to the same functionality they got used to, but it offers much more than other harnesses, especially for remote coding.
You can start a service via `opencode serve`, it can be accessed from anywhere and has great experience on mobile except a few bugs. It's a really good way to work with your agents remotely, goes really well with TailScale.
The WebUI that they have can connect to multiple OpenCode backends at once, so you may use multiple VPS-es for various projects you have and control all of them from a single place.
Lastly, there's a desktop app, but TBH I find it redundant when WebUI has everything needed.
Make no mistakes though, it's not a perfect tool, my gripes with it:
- There are random bugs with loading/restoring state of the session
- Model/Provider selection switch across sessions/projects is often annoying
- I had a bug making Sonnet/Opus unusable from mobile phone because phone's clock was 150ms ahead of laptop's (ID generation)
- Sometimes agent get randomly stuck. It especially sucks for long/nested sessions
- WebUI on laptop just completely forgot all the projects at one day
- `opencode serve` doesn't pick up new skills automatically, it needs to be restarted
I actually assure you that no deep research from any of the provider was used to create the article itself, but I used a custom-built research pipeline for creating a dossier on promt injections as a starting point.
The article was intended as an overview of prompt injections with my prediction what will happen next in this space, which is a soft justification why the tools like OpenGuard are needed. I've spent multiple days iterating on the prose without an ill intent, mostly aiming to make it dense and informative to avoid wasting people's time, which I see backfired here.
I'm deeply sorry that it left such a bad taste despite my best effort, there's still a lot to learn for me.
OpenGuard is an OpenAI/Anthropic-compatible LLM proxy with middleware-style configuration for protocol-level inspections of the traffic that goes through it. Right now it has a small set of guards that is being actively expanded.
However, you may immediately see how using same input space essentially relies on the model itself to do the judgement which can't be ultimately trusted
# Pull Qwen 3.5 35B
harbor pull unsloth/Qwen3.5-35B-A3B-GGUF:UD-Q4_K_XL
# Set llama.cpp image to an optimised one for performance on Strix Halo
harbor config set llamacpp.image_rocm docker.io/kyuz0/amd-strix-halo-toolboxes:rocm-7.2
# Set default model for the claw
harbor config set openclaw.model unsloth/Qwen3.5-35B-A3B-GGUF:UD-Q4_K_XL
# Start both
harbor up openclaw llamacpp
Telling your agent to be "slightly more concise" or "less formal" - how can that be quantified? How do you balance between dozens of characteristics that we might want our agents to have?