Apparently with improved memory (no compression) and what it calls “dream and distil”: background organising of its understanding of a project’s code base and the user’s workflow habits, and writing skills for itself to support your workflow.

It’ll be interesting to see how that latter option turns out.

  • CriticalResist8@lemmygrad.ml
    link
    fedilink
    arrow-up
    14
    ·
    edit-2
    17 days ago

    oh damn. @[email protected]

    edit: going to install it… wish me luck lol

    edit2: it comes out with a free model out of the box. I’m not sure about the usage limits but if you were wondering about getting started with agentic this could be a solution! Didn’t have to connect anything, just start the app and start chatting. It’s multimodal and seems to understand images pretty well!

    Can’t generate them though. Generating images has a very good use: using placeholders that the AI understands well and can compose in your project (like placing them on a canvas). You’re limited to image vision. Well, that’s what the model itself says lol who knows.

    The free agent thinks it’s on Opencode lol, not Mimocode.

    Free model seems to have 1 million tokens context - at 50k tokens, it said I only used 5%. But again, I haven’t found out what the rate limits are yet.

    Like with factory opencode, there are very few permission requests out of the box. You’ll need to add an opencode.json file to enable them to your liking, otherwise it will do most things without ever asking you.

    Mimocode (start with ‘mimo’ in terminal) does a few things differently from opencode. It has a ‘Compose’ agent - TBA on this one but the assistant explains it’s an orchestration layer. I know these are becoming popular in coding agents, I still don’t quite get it though. I think compose is to like, follow specific skills in the process instead of reinventing the wheel every time and just yolo’ing it. It’s tailored for software dev in this case, so if you build software, you would use Compose instead of Build.

    ‘Plan’ saves a plan file to .config/mimo about the project, so it can refer to it later. Probably ties in with the memory features they talked about. It has a ‘plan_exit’ hook that triggered: I asked it to explain a project I was working on just to see, it saved the explanation as a plan then ran ‘plan_exit’ which asked me if I wanted to start building right away. I said no because I was asking it to explain the plan, not just jump to building whatever it was going to build.

    In ‘plan’, the agent is able to ask you questions about implementation etc to properly plan out, well, your plan. This is already available in opencode, but Mimocode asked me a multiple-choice question where I could select more than 1 item. Never saw that in opencode.

    It’s interesting that it can ‘spawn’ sub-agents (as opposed to ‘running’ them). Spawning lets the model let a sub-agent work in the background while it keeps doing its stuff. Basically, it removes wait times and the bottleneck of “I must now stay completely still while the sub-agent finishes its work”. I’m not sure opencode does that - if it does, deepseek never used it.

    Token usage seems a bit high… their system prompt is definitely bigger than opencode’s default one (about 20k tokens versus 10k tokens).

    It also introduces an auto-complete feature which is… fun? for five seconds, but then gets in the way. What I mean by auto-complete is the LLM suggests your next prompt, which you send by just pressing tab. Doubt I’d use it but hey it’s a feature and I’m here reviewing features so.

    I don’t have any project to give it right now unfortunately to test its abilities, but I might tomorrow.

    I imagine since it’s the free model they train with your data on it but… the PRC can have whatever it needs from me 🫡 (never transfer API keys and passwords over APIs regardless)

  • loathsome dongeater@lemmygrad.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    17 days ago

    How would one use something like this on an Android project? There is a dead Android app that I really like. I am hoping I can use something like this to maintain the code and add some missing features.

    Android Studio has its own Gemini integration but I don’t want to touch that with with a 50 foot pole.

    • CriticalResist8@lemmygrad.ml
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      17 days ago

      Dump the source code into a folder on your machine, cd to it, then open mimo/opencode (it opens in the folder you are currently in terminal). In plan mode (tab to switch to it) tell it exactly what you want, e.g. “this is a dead android app, I want to add the following features to it: 1. 2. 3.” (use ctrl+J to line break, I don’t think it changes anything for the LLM but it’s easier on our eyes lol). Initial prompts are usually very long, you can really fill it in.

      If you only have the apk you can tell it that as well, “what do I need to do to add these features” and it will figure out your options. It’s scarily fast at first but you get used to it. It will guide you through a plan that you can refine, brainstorm, etc and when you’re ready, switch to compose with tab and say something like “ready to implement what we planned” (or “okay, let’s do it” if you want to sound cool).

      Careful: mimocode and opencode has no permission gates out of the box, meaning it will start running commands and tools without asking you. You only get asked for permission if it tries to do something outside of the working directory. On opencode I have a json file that gates some commands (anything that isn’t purely read-only needs to ask me for confirmation), but I haven’t found where to put it yet on mimo.

      json code
      {
      "$schema": "https://opencode.ai/config.json",
        "permission": {
          "*": "ask",
          "read": "allow",
          "glob": "allow",
          "grep": "allow",
          "list": "allow",
          "lsp": "allow",
          "repo_overview": "allow",
          "skill": "allow",
          "external_directory": "allow",
          "todowrite": "allow",
          "bash": {
            "*": "ask",
            "tutor init":"deny",
            "tutor *": "allow",
            "ls *": "allow",
            "cat *": "allow",
            "head *": "allow",
            "tail *": "allow",
            "wc *": "allow",
            "nl *": "allow",
            "rg *": "allow",
            "grep *": "allow",
            "file *": "allow",
            "stat *": "allow",
            "realpath *": "allow",
            "readlink *": "allow",
            "dirname *": "allow",
            "basename *": "allow",
            "du *": "allow",
            "df *": "allow",
            "uname *": "allow",
            "echo *": "allow",
            "whoami": "allow",
            "id": "allow",
            "printenv *": "allow",
            "which *": "allow",
            "pwd": "allow",
            "type *": "allow",
            "uptime": "allow",
            "free": "allow",
            "ps *": "allow",
            "lscpu": "allow",
            "lsblk *": "allow",
            "git status": "allow",
            "git diff *": "allow",
            "git log *": "allow",
            "git show *": "allow",
            "git ls-files *": "allow",
            "git describe *": "allow",
            "git rev-parse *": "allow",
            "git stash list": "allow",
            "git blame *": "allow",
            "qalc *": "allow",
            "tmux has-session *": "allow",
            "tmux capture-pane *": "allow",
            "tmux list-sessions": "allow",
            "tmux list-panes *": "allow",
            "tmux display *": "allow"
          }
      }
      }
      
      • loathsome dongeater@lemmygrad.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        17 days ago

        Isn’t there a mode or something like that where it never tried to modify any file or run any command? I would rather it just help me figure out what to do.

        • Munrock ☭@lemmygrad.mlOP
          link
          fedilink
          arrow-up
          2
          ·
          17 days ago

          Yeah that’s plan mode. You can also literally tell it that’s what you want. Something like:

          Add this to your long term memory: I don't want you to actually modify any code, just guide me. You can write tutorials and guidance documents. Don't edit code.