Compare commits

..

5 Commits

3 changed files with 65 additions and 39 deletions

64
flake.lock generated
View File

@@ -106,11 +106,11 @@
]
},
"locked": {
"lastModified": 1769594889,
"narHash": "sha256-15Sb7QhUEFrRAzRMxaiGxCQxddkFAydA5ZtYRoL/Z00=",
"lastModified": 1769678758,
"narHash": "sha256-ktTHIW3ZlYJSNVp3PUQNm7a4qXariT7TpRKwjlzhlZc=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "4e58fc3fa871106900fab58a7ade8736c315d5af",
"rev": "ac11c0675cf12b591c4f132e726f391f95981d16",
"type": "github"
},
"original": {
@@ -198,11 +198,11 @@
]
},
"locked": {
"lastModified": 1769579508,
"narHash": "sha256-EE2bs7xFrC64qrj0N2zP6E6e/nmhcdw6v/grdYi+BiY=",
"lastModified": 1769699427,
"narHash": "sha256-dAQt3qXugGhg92A+jqaUcmH0elbgEN/mV4vy1+ohLZk=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "eec72f127831326b042d1f35003767a4ab6a9516",
"rev": "2a08ab21abc8b482f41c521b5f9b0df5b18a67eb",
"type": "github"
},
"original": {
@@ -289,11 +289,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1769611617,
"narHash": "sha256-+bDjPaUXXvZ+eGNeqGcZQM1ontShZKIkhW5aiSM0SIk=",
"lastModified": 1769711683,
"narHash": "sha256-XI7DhTfATVquiC6TEwNXn6oOrDRjhkHnN4VV8oopjOw=",
"owner": "numtide",
"repo": "llm-agents.nix",
"rev": "08381f74f518ef4963c43b562cc17f9c134173d7",
"rev": "0a6ee6135ab795b544a3f96e9bc280168423662c",
"type": "github"
},
"original": {
@@ -316,11 +316,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1769582851,
"narHash": "sha256-T2a9J3iZ+p+dSmrd8mGgehvXrzwnFlMF22BmBqYHkVg=",
"lastModified": 1769714858,
"narHash": "sha256-IHHAKi8yMonZZmVHUQxew1V9UfLBG8Um9PLbNPx3OA4=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "8942525e9d5c79f6b47cffef4992454c9b3f9b69",
"rev": "dfbb02586582d5332d0c06653583b9d743bce081",
"type": "github"
},
"original": {
@@ -374,11 +374,11 @@
"systems": "systems_3"
},
"locked": {
"lastModified": 1769590344,
"narHash": "sha256-IO71Efl9r0mKH+ZSLe9Xj4ZzKp75TE8t8otPS57/O3I=",
"lastModified": 1769677259,
"narHash": "sha256-On/Ue/+X9Ikg5vti1gnOFqP1PsOjlJgrrM6HIrngiL0=",
"owner": "marienz",
"repo": "nix-doom-emacs-unstraightened",
"rev": "3fc11d166b98a685b13de7f5f7ca787b8568b8b7",
"rev": "446cdd1a7c065865f79135745d835ccc04e6197e",
"type": "github"
},
"original": {
@@ -464,15 +464,15 @@
]
},
"locked": {
"lastModified": 1769620461,
"narHash": "sha256-0bkdu0vuxg6jrLY1Bo7SPLHsKBeClxznmDGMsxC/wt8=",
"owner": "titaniumtown",
"lastModified": 1769737152,
"narHash": "sha256-acFesH4jvsWkHi2fbqKb0370iBvBl9djVXdfInNkwxo=",
"owner": "yebei199",
"repo": "oh-my-opencode",
"rev": "95f5e85721a185c5b682cfa0157920c865849a73",
"rev": "368a92b694bb130415e576b58f838f8f5ea69d8a",
"type": "github"
},
"original": {
"owner": "titaniumtown",
"owner": "yebei199",
"ref": "nix",
"repo": "oh-my-opencode",
"type": "github"
@@ -528,11 +528,11 @@
]
},
"locked": {
"lastModified": 1769568593,
"narHash": "sha256-vf3cZf8imUlPzFtICa1uyReDzoPV0XhHOIRM3tqI5VY=",
"lastModified": 1769655783,
"narHash": "sha256-Yq4uj+RjiE2Bw7C+7Mojdiw0kTh9xwJxUo6IjofZV+c=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "6fe5039018d05cee5d01dda7df1c0846fb7943a4",
"rev": "8b94aae763a09749cc153bab0b14e6ad8fc95494",
"type": "github"
},
"original": {
@@ -609,11 +609,11 @@
]
},
"locked": {
"lastModified": 1769515380,
"narHash": "sha256-CWWK3PaQ7zhr+Jcf5zyaTR2cfRBXPo09H7+5nWApL8s=",
"lastModified": 1769691507,
"narHash": "sha256-8aAYwyVzSSwIhP2glDhw/G0i5+wOrren3v6WmxkVonM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "9911802c2822def2eec3d22e2cafd1619ede94a5",
"rev": "28b19c5844cc6e2257801d43f2772a4b4c050a1b",
"type": "github"
},
"original": {
@@ -660,11 +660,11 @@
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1769356222,
"narHash": "sha256-Q0BVubV9ZnmLs506EhBSPglM+YJK56wsQNbeecvWPUo=",
"lastModified": 1769713942,
"narHash": "sha256-0BtCSO2qzYK/akRDsERqRVLknCYD3FYErc+szreSHUo=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "cf14278b92b0a91d01587f09b4b00ea655ae24e6",
"rev": "37ec78ee26e158b71f42e113e0e7dd9d5eb6bdb0",
"type": "github"
},
"original": {
@@ -683,11 +683,11 @@
]
},
"locked": {
"lastModified": 1769589275,
"narHash": "sha256-hU6J/bU8mHhJrV/asVDQ9oY7gcH/MMSOGtr4iOYy8lc=",
"lastModified": 1769665477,
"narHash": "sha256-wD3QwqGZ1cqZDkDQanwy3HgoVL4Dooqlgta3jOu3Mng=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "a318ae926a6f96cce4cb8498ad986b33a6d44b21",
"rev": "e97c8e719c7e2567ccf86d279f73ade1dbf72373",
"type": "github"
},
"original": {

View File

@@ -76,7 +76,7 @@
# wait for https://github.com/code-yeongyu/oh-my-opencode/pull/921 to be merged
oh-my-opencode = {
url = "github:titaniumtown/oh-my-opencode/nix";
url = "github:yebei199/oh-my-opencode/nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};

View File

@@ -10,20 +10,43 @@ let
# glm 4.7-flash is an example
haiku-model = "openrouter/z-ai/glm-4.7-flash";
opus-model = "openrouter/moonshotai/kimi-k2.5";
ohMyOpencodeConfig = {
"$schema" =
"https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json";
agents = {
Sisyphus.model = opus-model;
sisyphus.model = opus-model;
oracle = {
model = "openrouter/openai/gpt-5.2";
variant = "high";
};
librarian.model = haiku-model;
explore.model = haiku-model;
oracle.model = "openrouter/openai/gpt-5.2";
frontend-ui-ux-engineer.model = "openrouter/google/gemini-3-pro-preview";
document-writer.model = opus-model;
multimodal-looker.model = haiku-model;
multimodal-looker.model = "openrouter/google/gemini-3-flash-preview";
prometheus.model = opus-model;
metis.model = opus-model;
momus = {
model = "openrouter/openai/gpt-5.2";
variant = "medium";
};
atlas.model = opus-model;
};
categories = {
visual-engineering.model = "openrouter/google/gemini-3-pro";
ultrabrain = {
model = "openrouter/openai/gpt-5.2-codex";
variant = "xhigh";
};
artistry = {
model = "openrouter/google/gemini-3-pro";
variant = "max";
};
quick.model = haiku-model;
"unspecified-low".model = opus-model;
"unspecified-high".model = opus-model;
writing.model = "openrouter/google/gemini-3-flash-preview";
};
};
in
@@ -102,6 +125,8 @@ in
Typical Flow
1. Take screenshot analyze with explore agent (get rough layout)
2. Dump UI hierarchy grep for exact element bounds
- NEVER ASSUME COORDINATES. You must ALWAYS check first.
- Do this before ANY tap action as elements on the screen may of changed.
3. Calculate center coordinates from bounds
4. Tap/interact
5. Wait screenshot verify result
@@ -122,6 +147,7 @@ in
models = {
"openai/gpt-oss-20b:free" = { };
"minimax/minimax-m2.1" = { };
"z-ai/glm-4.7-flash" = {};
};
options = {
# TODO! use agenix here instead