Skip to content

Misc improvement ideas#18

Open
autonull wants to merge 10 commits intopatham9:mainfrom
autonull:main
Open

Misc improvement ideas#18
autonull wants to merge 10 commits intopatham9:mainfrom
autonull:main

Conversation

@autonull
Copy link
Copy Markdown

Some ideas, based on patham9's fork.

  • Add containerization support
    Introduce a Dockerfile (based on Arch Linux) along with a run.sh script that handles building, running, shell access, cleaning, and volume mounting. This makes the entire environment reproducible and isolated while allowing host-mounted source code and persistent memory.

  • Create a flexible environment configuration system
    Add .env.example (and support for .env) to easily configure multiple LLM providers via environment variables. Pair this with container_run.sh to auto-detect the provider and generate the appropriate provider_init.metta file at startup.

  • Integrate LiteLLM for unified LLM access
    Update the Python helper (lib_llm_ext.py) to use LiteLLM. This removes hardcoded model logic and adds seamless support for OpenAI, Anthropic (Claude), Ollama, Groq, OpenRouter, and any other LiteLLM-compatible backend.

  • Enhance observability and logging
    Introduce agent_run.py as a wrapper that filters noisy PeTTa output, supports a “dry-run” mode (for testing without calling LLMs), and writes structured JSON-line logs to agent.log with timestamps and event types.

  • Strengthen memory management
    Update src/memory.metta to include configurable limits (maxHistory, maxRecallItems), time-based episode recall, and better response cleaning.

  • Revised system prompt
    Also enhance the system prompt in memory/prompt.txt with clearer instructions for goal pursuit, memory usage, and error handling.

  • Refine the core agent loop
    Modify src/loop.metta to use helper functions for parenthesis balancing, response cleaning, and smoother state transitions. This improves command parsing and overall stability of the interaction loop.

  • Add proper project hygiene files
    Include a solid .gitignore (covering Python artifacts, .env, memory files, etc.) and a .dockerignore to keep Docker builds lean and prevent accidental leakage of secrets or cache files.

  • Introduce version tracking and documentation overhaul
    Add a VERSION file and significantly expand README.md with quick-start guides, provider setup examples, command references, architecture notes, and local development instructions.

  • Enable persistent memory with volume mounts
    Configure Docker volumes so the memory/ directory (including history.metta) is read-write mounted from the host. This preserves agent memory and learned skills across container restarts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant