{"id":51623775,"url":"https://github.com/6ixgodd/moyu","last_synced_at":"2026-07-12T22:01:51.831Z","repository":{"id":366031400,"uuid":"1274670374","full_name":"6ixGODD/moyu","owner":"6ixGODD","description":"A 600KB pixel desktop pet agent runtime in C + Lua. Single-threaded 1Hz event loop, software rasterizer to a transparent Win32 window, sandboxed Lua 5.4 behaviour rules, OpenAI-compatible LLM with LRU cache, and an MCP HTTP client. Platform.h is the only abstraction.","archived":false,"fork":false,"pushed_at":"2026-06-19T23:41:53.000Z","size":366,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-20T01:13:30.099Z","etag":null,"topics":["agent","c","deepseek","desktop-pet","embedded","llm","lua","mcp","pixel-art","win32"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/6ixGODD.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-19T19:04:37.000Z","updated_at":"2026-06-19T23:41:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/6ixGODD/moyu","commit_stats":null,"previous_names":["6ixgodd/moyu"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/6ixGODD/moyu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/6ixGODD%2Fmoyu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/6ixGODD%2Fmoyu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/6ixGODD%2Fmoyu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/6ixGODD%2Fmoyu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/6ixGODD","download_url":"https://codeload.github.com/6ixGODD/moyu/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/6ixGODD%2Fmoyu/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35403795,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-12T02:00:06.386Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","c","deepseek","desktop-pet","embedded","llm","lua","mcp","pixel-art","win32"],"created_at":"2026-07-12T22:01:50.021Z","updated_at":"2026-07-12T22:01:51.820Z","avatar_url":"https://github.com/6ixGODD.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MOYU\n\nMOYU is a lightweight autonomous desktop companion and a small C/Lua agent runtime.\n\nIt is not a random animation widget and not a generic office assistant. Within user-approved boundaries, it forms beliefs, habits, and a small active intention, observes the world through built-in tools or MCP, stores durable memories in human-readable files, and lets the human correct, shape, and prune that memory over time.\n\nChinese README: [README.zh-CN.md](README.zh-CN.md)\n\n## Core capabilities\n\n- Persistent identity: `~/.moyu/SOUL.md`, `MEMORY.md`, and SQLite state survive restarts.\n- Bounded autonomy: one intention at a time, up to three steps, persistent budget, permissions, and deadlines.\n- Human shaping: allow, deny, correct, remember, and forget all change later behavior.\n- Real MCP: stdio and Streamable HTTP tool discovery are supported.\n- Two chat surfaces: double-click the pet for a compact inline prompt, or open `moyu-chat.exe` from the tray menu for a full terminal session.\n- Desktop interaction: tray icon, native Windows context menu, drag-and-drop intake, hover feedback, and draggable repositioning.\n- Personality-driven motion: 20 built-in actions include roaming, sneaking toward the pointer, boredom, peeking, stretching, yawning, playful feints, fear, and cursor-driven dodging.\n- Multimodal intake: text files are previewed locally and summarized by the main model; images can be analyzed by a separate vision model.\n- Low resource usage: event-driven rendering and blocking model work on a background worker.\n\n## Build\n\nWindows requires Visual Studio 2022 C++ Build Tools and `clang-cl`:\n\n```bat\nbuild.bat\n```\n\nOutputs:\n\n```text\nbuild/moyu.exe\nbuild/moyu-chat.exe\nbuild/moyu-tests.exe\nbuild/moyu-mcp-git.exe\nbuild/moyu-mcp-notes.exe\nbuild/moyu-mcp-weather.exe\n```\n\nRun tests:\n\n```bat\nbuild\\moyu-tests.exe\n```\n\nSmoke-test the current LLM configuration:\n\n```bat\nbuild\\moyu.exe --smoke-llm\n```\n\n## Run\n\n```bat\nbuild\\moyu.exe\n```\n\nOn first launch MOYU creates `~/.moyu/`, default SOUL and MEMORY files, a SQLite state database, and onboarding prompts for an observation root and low-frequency autonomy.\n\nInteraction:\n\n- Double-click the pet to open a compact pixel-style prompt beside it. The prompt stays inside the active monitor, grows from one to five lines, then scrolls; send with the round check button.\n- Right-click the pet to open a native Windows context menu.\n- Right-click the tray icon for the system-themed native Windows menu and terminal chat entry.\n- Drag a file or folder onto the pet to feed it something to inspect or keep.\n- Drag the pet to move it to another place on the desktop.\n\n## Configuration\n\nLong-lived configuration lives in `~/.moyu/config.json`.\n\n- Runtime config is loaded from disk at startup. It is not compiled into the binaries.\n- API keys are stored in `~/.moyu/secrets.dat` through Windows DPAPI, not plaintext config.\n- The config can include `llm`, `vision`, `owner`, `appearance`, `privacy`, `autonomy`, and `mcp_servers`.\n\nSee the complete example in [assets/config.example.json](assets/config.example.json).\n\nExample stdio MCP server:\n\n```json\n{\n  \"name\": \"git-local\",\n  \"transport\": \"stdio\",\n  \"command\": \"D:\\\\path\\\\moyu-mcp-git.exe\",\n  \"args\": []\n}\n```\n\nExample Streamable HTTP MCP server:\n\n```json\n{\n  \"name\": \"weather-local\",\n  \"transport\": \"streamable_http\",\n  \"url\": \"http://127.0.0.1:7788/mcp\"\n}\n```\n\n## Notes\n\n- Windows is the fully supported platform today. Linux and macOS backends are still compile stubs.\n- `observe` permissions can be durable, `draft` writes only private output, and `mutate` requires an explicit human action.\n- User files are not copied wholesale into SQLite. Large tool results are not retained indefinitely.\n\n## Documentation\n\n- [Architecture](docs/architecture.md)\n- [Design](docs/design.md)\n- [Context and Memory](docs/context.md)\n- [MCP and Tools](docs/mcp.md)\n- [Lua Policy API](docs/lua_api.md)\n- [Build and Test](docs/build.md)\n- [User Guide](docs/user-guide.md)\n- [Chinese User Guide](docs/user-guide.zh-CN.md)\n\n## License\n\nMIT. Lua and cJSON are MIT; the SQLite amalgamation is public domain. See `third_party/`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F6ixgodd%2Fmoyu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F6ixgodd%2Fmoyu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F6ixgodd%2Fmoyu/lists"}