{"id":10007,"library":"openclaw","title":"OpenClaw","description":"OpenClaw is an open-source Python library designed for agent orchestration, serving as a plugin for the CMDOP platform. It provides tools and a framework for building and deploying intelligent agents that can interact with the CMDOP ecosystem. Currently at version 2026.3.20, it follows a YYYY.MM.DD versioning scheme, indicating active and continuous development.","status":"active","version":"2026.3.20","language":"python","source_language":"en","source_url":"https://github.com/commandoperator/cmdop-sdk","tags":["agent","orchestration","cmdop","plugin","ai","automation"],"install":[{"cmd":"pip install openclaw","lang":"bash","label":"Install OpenClaw"}],"dependencies":[{"reason":"OpenClaw is built on and strictly tied to the CMDOP SDK, requiring a matching version for proper functionality.","package":"cmdop-sdk","optional":false},{"reason":"Used for making HTTP requests to the CMDOP platform.","package":"requests","optional":false},{"reason":"Used for data validation and settings management within the library.","package":"pydantic","optional":false}],"imports":[{"wrong":"from openclaw import Agent","symbol":"Agent","correct":"from openclaw import Agent"}],"quickstart":{"code":"import asyncio\nimport os\nfrom openclaw.agent import Agent\nfrom openclaw.config import OpenClawConfig\nfrom openclaw.tools import tool\n\n# Define a tool for the agent to use\n@tool\ndef greet(name: str) -> str:\n    \"\"\"Greets the given name.\"\"\"\n    return f\"Hello, {name}!\"\n\nasync def main():\n    # Configure OpenClaw agent\n    # Obtain your API key from the CMDOP platform\n    config = OpenClawConfig(\n        api_key=os.environ.get(\"OPENCLAW_API_KEY\", \"sk-DUMMY_API_KEY\"),\n        agent_id=\"my-first-openclaw-agent\"\n    )\n\n    # Initialize the agent with the configuration\n    agent = Agent(config)\n\n    print(f\"OpenClaw Agent '{config.agent_id}' running...\")\n    # The agent.run() method is asynchronous and connects to the CMDOP platform\n    await agent.run()\n    print(\"Agent stopped.\")\n\nif __name__ == \"__main__\":\n    try:\n        asyncio.run(main())\n    except KeyboardInterrupt:\n        print(\"Agent interrupted and stopping.\")\n    except Exception as e:\n        print(f\"An error occurred: {e}\")","lang":"python","description":"This quickstart demonstrates how to initialize an OpenClaw agent, define a simple tool using the `@tool` decorator, and run the agent asynchronously. It uses an environment variable for the API key for security. The agent will connect to the CMDOP platform and make its defined tools available."},"warnings":[{"fix":"Always install `openclaw` directly via `pip install openclaw`. This ensures the correct `cmdop-sdk` version is pulled. Avoid manually installing or upgrading `cmdop-sdk` independently of `openclaw` unless explicitly instructed.","message":"OpenClaw has a strict, exact version dependency on `cmdop-sdk`. Mismatching versions (e.g., installing `cmdop-sdk` manually with a different version) will lead to runtime errors, unexpected behavior, or even `ImportError`.","severity":"breaking","affected_versions":"All versions where `cmdop-sdk` is an exact dependency."},{"fix":"Wrap your agent execution logic in an `async def` function and call it using `asyncio.run()`. Ensure all calls to `agent.run()` and other async methods are preceded by `await`.","message":"Key agent methods, particularly `agent.run()`, are asynchronous coroutines. Failing to `await` these methods or run them within an `asyncio` event loop will result in `TypeError: 'coroutine' object is not awaited` or the agent simply not starting.","severity":"gotcha","affected_versions":"All versions where agent methods are async."},{"fix":"Ensure the `OPENCLAW_API_KEY` environment variable is correctly set with a valid key from your CMDOP account. Verify that the `agent_id` is unique and adheres to CMDOP's naming conventions. For local development, `base_url` might also need to be configured.","message":"Incorrect or missing `api_key` or `agent_id` in `OpenClawConfig` will prevent the agent from authenticating and connecting to the CMDOP platform, leading to connection failures or API errors.","severity":"gotcha","affected_versions":"All versions."}],"env_vars":null,"search_vec":"'2026.3.20':44 'activ':52 'agent':12,33,56 'ai':60 'autom':61 'build':29 'cmdop':20,39,58 'continu':54 'current':41 'deploy':31 'design':10 'develop':55 'ecosystem':40 'follow':46 'framework':27 'indic':51 'intellig':32 'interact':36 'librari':9 'open':6 'open-sourc':5 'openclaw':1,2 'orchestr':13,57 'platform':21 'plugin':17,59 'provid':23 'python':8 'scheme':50 'serv':14 'sourc':7 'tool':24 'version':43,49 'yyyy.mm.dd':48","created_at":"2026-04-17T01:21:53.195014+00:00","updated_at":"2026-04-17T01:21:53.195014+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\n  File \"/tmp/tmp35wl7oqm/venv/lib/python3.12/site-packages/openclaw/__init__.py\", line 10, in <module>\n    from cmdop import CMDOPClient, AsyncCMDOPClient\nImportError: cannot import name 'CMDOPClient' from 'cmdop' (/tmp/tmp35w"},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"2026.3.20","cli_name":"","cli_version":null,"type":"library","homepage":"https://cmdop.com","github":"https://github.com/commandoperator/cmdop-sdk","docs":"https://cmdop.com/docs/sdk/python/","changelog":null,"pypi":"https://pypi.org/project/openclaw/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["llm-agents","workflow"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}