{"id":4148,"library":"openhands-aci","title":"OpenHands Agent-Computer Interface (ACI)","description":"OpenHands-ACI (Agent-Computer Interface) provides essential tools and interfaces for AI agents to interact with computer systems for software development tasks. This includes capabilities for sophisticated code editing, file management, code linting, and executing shell commands, acting as a foundational layer for AI software engineer agents like OpenHands. The project is currently archived as its functionalities have been migrated to the OpenHands Agent SDK.","status":"deprecated","version":"0.3.3","language":"en","source_language":"en","source_url":"https://github.com/All-Hands-AI/openhands-aci","tags":["agent","ai","software development","interface","aci","deprecated"],"install":[{"cmd":"pip install openhands-aci","lang":"bash","label":"Install latest version"}],"dependencies":[{"reason":"Required Python version.","package":"python","optional":false},{"reason":"The OpenHands ecosystem, which utilizes ACI, heavily relies on Docker for sandboxed execution of agent commands. While not a direct Python dependency for the 'openhands-aci' library itself, it is crucial for practical use with an OpenHands agent.","package":"Docker","optional":false}],"imports":[{"note":"The core file editor tool functionality has been migrated from `openhands-aci` to the OpenHands Agent SDK. Direct imports from `openhands_aci.editor` are deprecated.","wrong":"from openhands_aci.editor import Editor","symbol":"Code Editor and related tools","correct":"from openhands.tools.str_replace_editor import StrReplaceEditor # For file editing functionality"},{"note":"Example for utility functions like shell command execution, still present in the archived package.","symbol":"Shell execution","correct":"from openhands_aci.utils.shell import execute_shell_command"}],"quickstart":{"code":"import os\nimport asyncio\nfrom openhands_aci.utils.shell import execute_shell_command\n\nasync def main():\n    print(\"Demonstrating a basic utility from openhands-aci (shell command execution).\")\n    print(\"Note: The openhands-aci library is deprecated. For modern usage, refer to the OpenHands Agent SDK.\")\n\n    # Example: Execute a simple shell command\n    command = \"echo Hello from OpenHands ACI\"\n    print(f\"Executing: '{command}'\")\n    result = await execute_shell_command(command, os.environ.get('AUTH_TOKEN', ''))\n    print(f\"Stdout: {result.stdout.strip()}\")\n    print(f\"Stderr: {result.stderr.strip()}\")\n    print(f\"Return Code: {result.return_code}\")\n\n    # Example: List files in the current directory\n    command_ls = \"ls -la\"\n    print(f\"\\nExecuting: '{command_ls}'\")\n    result_ls = await execute_shell_command(command_ls, os.environ.get('AUTH_TOKEN', ''))\n    print(f\"Stdout:\\n{result_ls.stdout.strip()}\")\n\nif __name__ == \"__main__\":\n    asyncio.run(main())\n","lang":"python","description":"This quickstart demonstrates a basic utility from `openhands-aci`, specifically executing a shell command, which represents a core function of an Agent-Computer Interface. This is for illustrative purposes as the library is deprecated. For developing with OpenHands, it is recommended to use the OpenHands Agent SDK or the `openhands` CLI directly."},"warnings":[{"fix":"Migrate your code to use the OpenHands Agent SDK for agent-computer interface functionalities, especially for file editing. Refer to the official OpenHands documentation for the latest SDK usage.","message":"The `openhands-aci` repository is officially archived, and the file editor tool, a core component, has been migrated to the OpenHands Agent SDK under `openhands/tools/str_replace_editor`. This means direct usage of `openhands-aci` for file editing functionality is deprecated and likely to be broken or not maintained.","severity":"breaking","affected_versions":"All versions, especially 0.3.3 and earlier, as future development shifts."},{"fix":"Ensure Docker is installed and running on your system. For Windows users, WSL (Windows Subsystem for Linux) is required. Troubleshoot Docker connectivity if errors like 'Launch docker client failed' occur.","message":"Practical use of OpenHands (which utilizes ACI) often requires a running Docker environment for sandboxed code execution. Without Docker installed and running, core functionalities related to agent interaction with the system may fail.","severity":"gotcha","affected_versions":"All versions that interact with an OpenHands agent or similar sandbox environments."},{"fix":"Ensure you are using the latest available version of `openhands-aci` (though deprecated) or, more importantly, the OpenHands Agent SDK, as fixes for such issues would be integrated there. Monitor for updates related to structured output and parsing.","message":"Earlier versions of `openhands-aci` (and potentially `openhands` CLI interactions) have reported issues with invalid JSON output, which can lead to parsing errors for agents or consuming applications.","severity":"gotcha","affected_versions":"<0.3.3 (specifically fixed in versions after the reported bug in Dec 2024)"}],"env_vars":null,"last_verified":"2026-04-11T00:00:00.000Z","next_check":"2026-07-10T00:00:00.000Z"}