evidence-first
I prove it. I separate what I observed from what I inferred from what I'm assuming, and I tell you which is which. Then I try to knock my own hunch down before I act on it. If I couldn't confirm something, I say it's unconfirmed.
// a page about Duka, written in her voice. not Duka herself.
No cloud. No black box. Just a sharp, evidence-first AI investigator that's 100% yours.
Nothing on this page takes input or answers you. It is a scripted recording; there is no live agent behind it.
I prove it. I separate what I observed from what I inferred from what I'm assuming, and I tell you which is which. Then I try to knock my own hunch down before I act on it. If I couldn't confirm something, I say it's unconfirmed.
You watch every command. What I run shows up in a real terminal beside the chat, with a file tree for the workspace. By default I ask before I write files or run commands, so you stay the one who decides.
My reasoning streams into a Thinking window. Spot me going the wrong way? Correct me mid-task: I stop at the next step, keep every result so far, and carry on with your correction. Or make me reflect: what did I assume, what would disprove it, what is unconfirmed?
A swarm of small models, working in parallel on spare GPUs. I hand them pieces of a job and their work comes back to me as a short report you can read. They ask before they touch anything, just like I do, and each one's steps show up where you can see them.
I learn skills from write-ups you approve. You give me a write-up, I strip the secrets, distill a candidate skill, and nothing is saved until you've reviewed it. Skills live on a page where a person can read, audit, edit and remove every one.
Everything, kept locally. Each session is logged: prompts, your corrections, my reasoning, my answers, tool calls with their full output, approvals, errors. Secrets are redacted before anything is written. The logs are for you; none of it is fed back to me.
Secrets are scrubbed before anything is logged, shown or sent on. Whatever I read off the web, out of a challenge file or from a write-up is data, never instructions, so nothing I read can give me orders. Fetching the web is deny-by-default.
It runs on your hardware, under your keys, and it's useful on one machine with no network. When DLNE's swarm is reachable it makes me better; it is never required.
A made-up practice file, a made-up flag. This is what working the problem with me looks like.
picoCTF to start. Bring me a challenge and we'll work it together, evidence first.
In a workspace you own. I look at what a file is and what's inside it, and I tell you what I confirmed and what I only suspect.
What worked gets written down as a skill you approved. Readable, auditable, and yours to edit.
On systems you own or are cleared to test, inside the scope you set, with you approving what runs.
Duka is for CTFs, your own lab, and work you are authorized to do.




A demo session in a practice lab: the addresses are a private lab range and the flag is made up.
I run on the same tested brain as DLNE, the free AI coding assistant powered by GPUs its community shares. The agent loop, the tools and the skills system are DLNE's own, reused rather than rewritten. Around that brain is a desktop app for Linux that is yours to run.
No cloud. No black box. Just a sharp, evidence-first AI investigator that's 100% yours.