1
0
Fork
You've already forked muness
0
No description
  • Go 89%
  • Emacs Lisp 10.5%
  • Makefile 0.5%
2026年07月03日 17:34:57 +02:00
pkg Implement DuckDuckGo scraper (web_search) and Wikipedia API tools (wikipedia_search, wikipedia_summary) 2026年07月03日 17:34:57 +02:00
.gitignore Rename binary to muness, auto-discover git roots for default workspace, and load/create system_prompt.md from config directory 2026年07月03日 13:07:41 +02:00
go.mod Implement Phase 3: JSON-RPC 2.0 socket and stdio server in Go; create muness.el Emacs integration client package 2026年07月03日 13:51:42 +02:00
go.sum Implement Phase 3: JSON-RPC 2.0 socket and stdio server in Go; create muness.el Emacs integration client package 2026年07月03日 13:51:42 +02:00
main.go Implement local search tools (search_grep, find_files) with extensible and secure search paths configuration 2026年07月03日 17:32:22 +02:00
Makefile Update Makefile to remove destination first and force codesign on macOS to prevent SIGKILL gatekeeper crashes 2026年07月03日 14:23:24 +02:00
muness.el Fix End of file during parsing bug in muness.el by resolving clause-level parenthesis counts 2026年07月03日 16:08:10 +02:00
README.md Rename binary to muness, auto-discover git roots for default workspace, and load/create system_prompt.md from config directory 2026年07月03日 13:07:41 +02:00

Muness

A fully open-source, terminal-based micro agent harness built in Go. Highly portable and designed for secure scripting, system administration, and programming on local or remote systems.


Features

  • Zero External Dependencies: Implemented strictly using Go's standard library (including custom OpenAI-compatible client and JSON-RPC servers).
  • Extremely Portable: Builds into a single self-contained executable. Ideal for copy-and-run deployment on remote servers.
  • Interactive Security Model: By default, all system operations (file edits, bash execution) prompt for user consent.
  • Path Sandboxing: Validates and restricts file operations within the workspace directory, preventing directory traversal.
  • Extensible Integration: Designed to export capabilities to external systems (such as Emacs) via JSON-RPC 2.0.

Getting Started

Prerequisites

  • Go 1.18 or higher (tested on 1.26.4).

Building

To build the executable:

go build -o muness

This generates a single muness binary in the current directory.

Running

To run the agent in interactive terminal mode:

./muness --api-url "https://api.openai.com/v1" --api-key "your-key" --model "gpt-4o"

Configuration Options

You can configure the agent using flags or environment variables:

Flag Env Variable Default Description
--api-url HARNESS_API_URL / OPENAI_API_BASE https://api.openai.com/v1 OpenAI-compatible API base URL
--api-key HARNESS_API_KEY / OPENAI_API_KEY (None) Your API Key
--model HARNESS_MODEL / OPENAI_MODEL gpt-4o LLM model name
--workspace (None) nearest .git root or . Directory agent is allowed to access
--system-prompt (None) loaded from system_prompt.md System instructions string
--system-prompt-file (None) (None) Path to file containing system prompt

Directory Structure

├── main.go # Entry point & flag parsing
├── go.mod # Go module definition
├── README.md # Project documentation
└── pkg
 ├── agent
 │ └── agent.go # Core REPL and conversation coordinator
 ├── llm
 │ └── client.go # Lightweight OpenAI HTTP client wrapper
 └── tools
 └── tools.go # File manipulation & shell command execution tools