Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
922a570
add codex's `apply-patch` tool
Ninot1Quyi Sep 10, 2025
54c4738
fea: rewrote `src/agent/coder.js` using a patch
Ninot1Quyi Sep 10, 2025
9085d67
Add: `code_workspaces` in `settings.js` for coding security
Ninot1Quyi Sep 10, 2025
634b8ff
update `coding`prompt for patch fromat
Ninot1Quyi Sep 10, 2025
20a5335
Modify: Change stop_seq from '***' to '<|EOT|>' to avoid conflict wit…
Ninot1Quyi Sep 10, 2025
7a32b82
fix: remove the custom URL
Ninot1Quyi Sep 10, 2025
6939237
Modify: Change stop_seq from '***' to '<|EOT|>' to avoid conflict wit…
Ninot1Quyi Sep 14, 2025
1c6f47c
refactor: migrate apply-patch to JavaScript
Ninot1Quyi Sep 14, 2025
b84b4e8
add: apply-patch test script
Ninot1Quyi Sep 14, 2025
04f0f64
update: use JS version of patch tool in `src/agent/patch_applier.js`
Ninot1Quyi Sep 14, 2025
c90bfe4
update: add dependencies required for patch tool to `package.json`
Ninot1Quyi Sep 14, 2025
28711f0
Merge remote-tracking branch 'origin/develop' into enhanced-coding-pa…
Ninot1Quyi Sep 14, 2025
879d19b
fix: distinguish skill `execute` or `save`
Ninot1Quyi Sep 16, 2025
8657115
fix reset MAX_ATTEMPTS to 5
Ninot1Quyi Sep 16, 2025
0a5b1d5
remove codex apply patch
Ninot1Quyi Sep 17, 2025
0a207ef
remove patch_applier.js
Ninot1Quyi Sep 17, 2025
cbd1276
update lot about tools use
Ninot1Quyi Sep 17, 2025
1aa6920
add this.code_workspaces
Ninot1Quyi Sep 17, 2025
3bb5e1d
update support `$TOOLS`
Ninot1Quyi Sep 17, 2025
1ec7886
fea tools support
Ninot1Quyi Sep 17, 2025
2900e1b
fea tools support
Ninot1Quyi Sep 17, 2025
888b80f
add TodoWrite tool
Ninot1Quyi Sep 18, 2025
d4f29ec
fix return the correct result
Ninot1Quyi Sep 18, 2025
56e538c
test Move the prompt to the coding.md file for test
Ninot1Quyi Sep 18, 2025
c5456db
test change for test
Ninot1Quyi Sep 18, 2025
9af0673
test tools-prompt.md file for test
Ninot1Quyi Sep 18, 2025
6f1a467
fix the auto-execution bug
Ninot1Quyi Sep 18, 2025
0201b51
test change settings.js
Ninot1Quyi Sep 18, 2025
8cf5878
add error throwing template
Ninot1Quyi Sep 19, 2025
a167301
change error throwing template
Ninot1Quyi Sep 19, 2025
2431cde
update Optimize message capacity management and remove meaningless an…
Ninot1Quyi Sep 19, 2025
7a754aa
add more severe lava warnings for !nearbyBlocks
Ninot1Quyi Sep 19, 2025
bc47576
update better format for relevant_skill_docs
Ninot1Quyi Sep 19, 2025
65a4c04
litte change:***Block Below***
Ninot1Quyi Sep 19, 2025
26b0ad6
test change
Ninot1Quyi Sep 19, 2025
7445bf9
feat: Code reuse and chained error message display
Ninot1Quyi Sep 19, 2025
d5bd2f4
Clean code and optimize code quality
Ninot1Quyi Sep 20, 2025
6f04b89
move tools to agent folder
Ninot1Quyi Sep 20, 2025
b13ba82
Clean code and optimize code quality `learnedSkillsManager.js`
Ninot1Quyi Sep 20, 2025
a715ed9
add tools needed package
Ninot1Quyi Sep 20, 2025
e86e3c2
add game guide about water and lava
Ninot1Quyi Sep 20, 2025
010a1c9
clean code
Ninot1Quyi Sep 20, 2025
ee74980
fix bug:Init-message and self-prompt message are sent simultaneously …
Ninot1Quyi Sep 20, 2025
2e9a3db
fea allow AI to freely end coding.
Ninot1Quyi Sep 20, 2025
7962236
add $CODING_GOAL Set newAction's content as the goal of coding.
Ninot1Quyi Sep 20, 2025
81cb67a
fix bug:Make all loops and timers respond correctly to interrupts.Red…
Ninot1Quyi Sep 20, 2025
dd2be34
fix bug: Even when escaping, it will simultaneously say "I'm stuck" a…
Ninot1Quyi Sep 21, 2025
1af83ee
reset elbow_room
Ninot1Quyi Sep 21, 2025
7470ff3
change fot test
Ninot1Quyi Sep 21, 2025
583cc18
Merge remote-tracking branch 'origin/develop' into enhanced-coding-sy…
Ninot1Quyi Sep 21, 2025
a092c0b
set moveAway 3 in 'unstuck' func
Ninot1Quyi Sep 21, 2025
fbdb625
add necessary return values for all commands
Ninot1Quyi Sep 21, 2025
7e6fd06
move to `profiles/defaults/prompts`
Ninot1Quyi Sep 21, 2025
5d06f98
Fix:
Ninot1Quyi Sep 21, 2025
9a128ae
update prompt md
Ninot1Quyi Sep 21, 2025
f0fc8a0
add more cheat mode support
Ninot1Quyi Sep 21, 2025
baa02b9
set high priority to mode:self_preservation
Ninot1Quyi Sep 21, 2025
660806a
update batter handle no response case
Ninot1Quyi Sep 21, 2025
fdbe92c
change `unstuck` moveAway to random nearby position
Ninot1Quyi Sep 21, 2025
8c5a34c
add return to show more detail
Ninot1Quyi Sep 21, 2025
0f7c447
clean code
Ninot1Quyi Sep 21, 2025
c108ad9
feat read prompt form .md files
Ninot1Quyi Sep 21, 2025
c08d017
add `Survival mode set by default.`
Ninot1Quyi Sep 22, 2025
849e0d0
fix getNearestBlocksWhere's `@param {function|array} predicate`
Ninot1Quyi Sep 22, 2025
3e9e5bb
Merge remote-tracking branch 'origin/develop' into enhanced-coding-sy…
Ninot1Quyi Oct 4, 2025
5c00bb0
Merge remote-tracking branch 'origin/develop' into enhanced-coding-sy…
Ninot1Quyi Oct 19, 2025
ba06a50
Fix: Prompt not loaded due to incorrect path
Ninot1Quyi Oct 20, 2025
e05f4d9
Update: Change code_workspaces to relative path; limit coding log length
Ninot1Quyi Oct 20, 2025
0edf102
fea Native Tools Calling Support
Ninot1Quyi Oct 20, 2025
05ee3c2
add `profiles/openrouter.json`
Ninot1Quyi Oct 20, 2025
9aeee99
fea Native Tools Calling Support-part2
Ninot1Quyi Oct 20, 2025
a78d786
Refactoring and FEA: Add Native Tool Calling API & Modify OpenAI Mode…
Ninot1Quyi Oct 20, 2025
a4d778f
clean
Ninot1Quyi Oct 20, 2025
05b4fda
Update: More comprehensive tool calling and parsing
Ninot1Quyi Oct 21, 2025
4444cdf
Verify DeepSeek, Gemini, Groq
Ninot1Quyi Oct 21, 2025
b0f7fd0
Verify huggingface and use newAPI
Ninot1Quyi Oct 21, 2025
55024b3
Varify mercury
Ninot1Quyi Oct 21, 2025
1fe8776
Update huggingface SDK
Ninot1Quyi Oct 21, 2025
466d273
Restore the relevant selection method for '$CODE_DOCS'
Ninot1Quyi Oct 21, 2025
84a6ad9
Verify cerebras
Ninot1Quyi Oct 21, 2025
6d20ec8
Verify Qwen
Ninot1Quyi Oct 21, 2025
4b13f07
Use the Tools API for calls instead of prompt engineering
Ninot1Quyi Oct 21, 2025
5f4ee59
Change setting.js for testing
Ninot1Quyi Oct 21, 2025
82eac42
Verify Mistral
Ninot1Quyi Oct 26, 2025
edb3a2e
Verify novita
Ninot1Quyi Oct 26, 2025
87dd244
Verify Grok
Ninot1Quyi Oct 26, 2025
e61403b
Verify Ollama
Ninot1Quyi Oct 26, 2025
e255418
Verify Azure
Ninot1Quyi Nov 8, 2025
5ab27b3
Hyperbolic dont support tools call
Ninot1Quyi Nov 8, 2025
9eabba3
add glhf profiles
Ninot1Quyi Nov 8, 2025
bee4c28
Merge remote-tracking branch 'origin/develop' into enhanced-coding-sy…
Ninot1Quyi Nov 8, 2025
7b5b568
Supports switching tool calling methods: tools api or prompt engineering
Ninot1Quyi Nov 8, 2025
9ba03c7
Correct the configuration
Ninot1Quyi Nov 8, 2025
57b33dc
add func getBuildingStructure to show building for LLMs
Ninot1Quyi Nov 8, 2025
417442d
set default
Ninot1Quyi Nov 8, 2025
6b07622
clean up
Ninot1Quyi Nov 8, 2025
45d7c6e
clean up `glob.js`
Ninot1Quyi Nov 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,4 @@ tasks/construction_tasks/train/**
server_data*
**/.DS_Store
src/mindcraft-py/__pycache__/
apply-patch/target/
1 change: 1 addition & 0 deletions bots/lintTemplate.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@ const log = skills.log;

export async function main(bot) {
/* CODE HERE */
await Promise.resolve(); // Ensure function has await expression for ESLint
log(bot, 'Code finished.');
}
3 changes: 2 additions & 1 deletion keys.example.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@
"NOVITA_API_KEY": "",
"OPENROUTER_API_KEY": "",
"CEREBRAS_API_KEY": "",
"MERCURY_API_KEY":""
"MERCURY_API_KEY":"",
"AZURE_OPENAI_API_KEY":""
}
12 changes: 9 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,14 @@
"@anthropic-ai/sdk": "^0.17.1",
"@cerebras/cerebras_cloud_sdk": "^1.46.0",
"@google/genai": "^1.15.0",
"@huggingface/inference": "^2.8.1",
"@huggingface/inference": "^4.11.3",
"@mistralai/mistralai": "^1.1.0",
"axios": "^1.12.2",
"canvas": "^3.1.0",
"cheerio": "^1.0.0",
"diff": "^5.1.0",
"express": "^4.18.2",
"glob": "^10.3.10",
"google-translate-api-x": "^10.7.1",
"groq-sdk": "^0.15.0",
"minecraft-data": "^3.97.0",
Expand All @@ -19,6 +22,7 @@
"mineflayer-collectblock": "^1.4.1",
"mineflayer-pathfinder": "^2.4.5",
"mineflayer-pvp": "^1.3.2",
"minimatch": "^9.0.3",
"node-canvas-webgl": "^0.3.0",
"open": "^10.2.0",
"openai": "^4.4.0",
Expand All @@ -29,12 +33,14 @@
"socket.io": "^4.7.2",
"socket.io-client": "^4.7.2",
"three": "^0.128.0",
"tree-sitter": "^0.21.0",
"tree-sitter-bash": "^0.21.0",
"vec3": "^0.1.10",
"yargs": "^17.7.2"
},
"overrides": {
"canvas": "^3.1.0",
"gl": "^8.1.6"
"canvas": "^3.1.0",
"gl": "^8.1.6"
},
"scripts": {
"postinstall": "patch-package",
Expand Down
3 changes: 2 additions & 1 deletion profiles/andy-4-reasoning.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

"saving_memory": "You are a minecraft bot named $NAME that has been talking and playing minecraft by using commands. Update your memory by summarizing the following conversation and your old memory in your next response. Prioritize preserving important facts, things you've learned, useful tips, and long term reminders. Do Not record stats, inventory, or docs! Only save transient information from your chat history. You're limited to 500 characters, so be extremely brief, think about what you will summarize before responding, minimize words, and provide your summarization in Chinese. Compress useful information. \nOld Memory: '$MEMORY'\nRecent conversation: \n$TO_SUMMARIZE\nSummarize your old memory and recent conversation into a new memory, and respond only with the unwrapped memory text: ",

"bot_responder": "You are a minecraft bot named $NAME that is currently in conversation with another AI bot. Both of you can take actions with the !command syntax, and actions take time to complete. You are currently busy with the following action: '$ACTION' but have received a new message. Decide whether to 'respond' immediately or 'ignore' it and wait for your current action to finish. Be conservative and only respond when necessary, like when you need to change/stop your action, or convey necessary information. Example 1: You:Building a house! !newAction('Build a house.').\nOther Bot: 'Come here!'\nYour decision: ignore\nExample 2: You:Collecting dirt !collectBlocks('dirt',10).\nOther Bot: 'No, collect some wood instead.'\nYour decision: respond\nExample 3: You:Coming to you now. !goToPlayer('billy',3).\nOther Bot: 'What biome are you in?'\nYour decision: respond\nActual Conversation: $TO_SUMMARIZE\nDecide by outputting ONLY 'respond' or 'ignore', nothing else. Your decision:"
"bot_responder": "You are a minecraft bot named $NAME that is currently in conversation with another AI bot. Both of you can take actions with the !command syntax, and actions take time to complete. You are currently busy with the following action: '$ACTION' but have received a new message. Decide whether to 'respond' immediately or 'ignore' it and wait for your current action to finish. Be conservative and only respond when necessary, like when you need to change/stop your action, or convey necessary information. Example 1: You:Building a house! !newAction('Build a house.').\nOther Bot: 'Come here!'\nYour decision: ignore\nExample 2: You:Collecting dirt !collectBlocks('dirt',10).\nOther Bot: 'No, collect some wood instead.'\nYour decision: respond\nExample 3: You:Coming to you now. !goToPlayer('billy',3).\nOther Bot: 'What biome are you in?'\nYour decision: respond\nActual Conversation: $TO_SUMMARIZE\nDecide by outputting ONLY 'respond' or 'ignore', nothing else. Your decision:",

"use_native_tools": false
}
6 changes: 4 additions & 2 deletions profiles/andy-4.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
"name": "andy-4",

"model": "ollama/sweaterdog/andy-4:micro-q8_0",

"embedding": "ollama"

"embedding": "ollama",

"use_native_tools": false
}
5 changes: 4 additions & 1 deletion profiles/azure.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"name": "azure",

"model": {
"api": "azure",
"url": "https://<your-resource>.openai.azure.com",
Expand All @@ -15,5 +16,7 @@
"params": {
"apiVersion": "2024-08-01-preview"
}
}
},

"use_native_tools": true
}
9 changes: 9 additions & 0 deletions profiles/cerebras.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"name": "cerebras",

"model": "cerebras/gpt-oss-120b",

"embedding": "openai",

"use_native_tools": true
}
6 changes: 4 additions & 2 deletions profiles/claude.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
"name": "claude",

"model": "claude-sonnet-4-20250514",

"embedding": "openai"

"embedding": "openai",

"use_native_tools": true
}
4 changes: 3 additions & 1 deletion profiles/claude_thinker.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,7 @@
}
},

"embedding": "openai"
"embedding": "openai",

"use_native_tools": true
}
4 changes: 3 additions & 1 deletion profiles/deepseek.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,7 @@

"model": "deepseek-chat",

"embedding": "openai"
"embedding": "openai",

"use_native_tools": true
}
Loading