{
  "schemaVersion": "1.0",
  "item": {
    "slug": "opend",
    "name": "OpenD CLI for MooMoo",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/oscraters/opend",
    "canonicalUrl": "https://clawhub.ai/oscraters/opend",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/opend",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=opend",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "agents/openai.yaml",
      "credentials.py",
      "get_market_snapshot.py",
      "opend_cli.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "opend",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-06T13:38:09.149Z",
      "expiresAt": "2026-05-13T13:38:09.149Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=opend",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=opend",
        "contentDisposition": "attachment; filename=\"opend-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "opend"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/opend"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/opend",
    "agentPageUrl": "https://openagent3.xyz/skills/opend/agent",
    "manifestUrl": "https://openagent3.xyz/skills/opend/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/opend/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "OpenD Skill",
        "body": "Use this skill to execute local OpenD operations through a single CLI surface."
      },
      {
        "title": "Quick Start",
        "body": "Ensure OpenD is running on 127.0.0.1:11111, or override with OPEND_HOST and OPEND_PORT.\nInstall one provider SDK: moomoo or futu.\nPrefer OpenClaw-managed secret refs for hosted use:\n\nexport OPEND_PASSWORD_SECRET_REF='{\"source\":\"env\",\"id\":\"MOOMOO_PASSWORD\"}'\nProvide the actual MOOMOO_PASSWORD through OpenClaw gateway secret injection, not plain shell export.\n\n\nOptional local-only helpers: pip install keyring cryptography."
      },
      {
        "title": "Primary Interface",
        "body": "Use Bash CLI ./openclaw for routine operations. If the wrapper is unavailable in a published bundle, use python3 opend_cli.py directly and treat that as a packaging bug.\n\nExamples:\n\nSnapshot:\n\n./openclaw snapshot --codes HK.00700,US.AAPL\n\n\nAccounts:\n\n./openclaw accounts\n\n\nPositions:\n\n./openclaw --trd-env SIMULATE positions\n\n\nPlace simulated order:\n\n./openclaw --market HK --trd-env SIMULATE place-order --code HK.00700 --price 100 --qty 100 --side BUY\n\n\nCancel order:\n\n./openclaw --market HK --trd-env SIMULATE cancel-order --order-id <ORDER_ID>"
      },
      {
        "title": "Credential Methods",
        "body": "Default: openclaw\n\nReads OPEND_PASSWORD_SECRET_REF first.\nCurrent local resolver accepts OpenClaw-style env refs only: {\"source\":\"env\",\"id\":\"ENV_VAR_NAME\"}.\nfile and exec refs must be resolved by the OpenClaw gateway before launching this skill.\n\n\nLegacy compatibility:\n\nenv: reads MOOMOO_PASSWORD\nconfig: reads MOOMOO_CONFIG_KEY and decrypts config.enc\nkeyring: prompts once and stores password in the OS keyring\n\n\nDeliberate warning:\n\nenv, config, and keyring bypass the preferred OpenClaw secret-ref audit path. Use them only for local development or controlled offline workflows."
      },
      {
        "title": "Agentic Defaults",
        "body": "Prefer --output json so downstream steps can parse results.\nPrefer SIMULATE unless the user explicitly requests live trading.\nQuery accounts first for unknown environments, then pass explicit --acc-id.\nFor live trading, unlock is required. Simulated accounts skip unlock automatically."
      },
      {
        "title": "Safety and Secret Handling",
        "body": "This repository is an open-source wrapper around a commercial trading API provider. Users are expected to inspect and modify it as needed.\nHosted or shared deployments should use OpenClaw secret management, not raw shell environment variables.\nsetup_config.py and config.enc are legacy compatibility helpers. They no longer print reusable keys to stdout, but they still create local secret material and should be treated as sensitive.\nkeyring stores credentials in the OS keychain. Confirm that storage model is acceptable before using it.\nOPEND_SDK_PATH changes where Python imports moomoo or futu from. Only point it at trusted code."
      },
      {
        "title": "Environment and Runtime Inputs",
        "body": "Secrets:\n\nOPEND_PASSWORD_SECRET_REF\nMOOMOO_PASSWORD\nMOOMOO_CONFIG_KEY\n\nNon-secret overrides:\n\nOPEND_HOST\nOPEND_PORT\nOPEND_MARKET\nOPEND_SECURITY_FIRM\nOPEND_TRD_ENV\nOPEND_CREDENTIAL_METHOD\nOPEND_OUTPUT\nOPEND_SDK_PATH"
      },
      {
        "title": "Files",
        "body": "openclaw: Bash CLI entrypoint.\nopend_cli.py: structured command interface.\nopend_core.py: shared OpenD logic.\ncredentials.py: secret-ref, env, keyring, and config password loading.\nreferences/api_docs.md: official API links and key limits.\nreferences/release_checklist.md: pre-publish validation checklist."
      },
      {
        "title": "Legacy Compatibility",
        "body": "Older scripts delegate to opend_cli.py:\n\nget_market_snapshot.py\nquery_positions.py\nplace_order.py\nplace_order_env.py\nplace_order_keyring.py\nplace_order_config.py"
      }
    ],
    "body": "OpenD Skill\n\nUse this skill to execute local OpenD operations through a single CLI surface.\n\nQuick Start\nEnsure OpenD is running on 127.0.0.1:11111, or override with OPEND_HOST and OPEND_PORT.\nInstall one provider SDK: moomoo or futu.\nPrefer OpenClaw-managed secret refs for hosted use:\nexport OPEND_PASSWORD_SECRET_REF='{\"source\":\"env\",\"id\":\"MOOMOO_PASSWORD\"}'\nProvide the actual MOOMOO_PASSWORD through OpenClaw gateway secret injection, not plain shell export.\nOptional local-only helpers: pip install keyring cryptography.\nPrimary Interface\n\nUse Bash CLI ./openclaw for routine operations. If the wrapper is unavailable in a published bundle, use python3 opend_cli.py directly and treat that as a packaging bug.\n\nExamples:\n\nSnapshot:\n./openclaw snapshot --codes HK.00700,US.AAPL\nAccounts:\n./openclaw accounts\nPositions:\n./openclaw --trd-env SIMULATE positions\nPlace simulated order:\n./openclaw --market HK --trd-env SIMULATE place-order --code HK.00700 --price 100 --qty 100 --side BUY\nCancel order:\n./openclaw --market HK --trd-env SIMULATE cancel-order --order-id <ORDER_ID>\nCredential Methods\nDefault: openclaw\nReads OPEND_PASSWORD_SECRET_REF first.\nCurrent local resolver accepts OpenClaw-style env refs only: {\"source\":\"env\",\"id\":\"ENV_VAR_NAME\"}.\nfile and exec refs must be resolved by the OpenClaw gateway before launching this skill.\nLegacy compatibility:\nenv: reads MOOMOO_PASSWORD\nconfig: reads MOOMOO_CONFIG_KEY and decrypts config.enc\nkeyring: prompts once and stores password in the OS keyring\nDeliberate warning:\nenv, config, and keyring bypass the preferred OpenClaw secret-ref audit path. Use them only for local development or controlled offline workflows.\nAgentic Defaults\nPrefer --output json so downstream steps can parse results.\nPrefer SIMULATE unless the user explicitly requests live trading.\nQuery accounts first for unknown environments, then pass explicit --acc-id.\nFor live trading, unlock is required. Simulated accounts skip unlock automatically.\nSafety and Secret Handling\nThis repository is an open-source wrapper around a commercial trading API provider. Users are expected to inspect and modify it as needed.\nHosted or shared deployments should use OpenClaw secret management, not raw shell environment variables.\nsetup_config.py and config.enc are legacy compatibility helpers. They no longer print reusable keys to stdout, but they still create local secret material and should be treated as sensitive.\nkeyring stores credentials in the OS keychain. Confirm that storage model is acceptable before using it.\nOPEND_SDK_PATH changes where Python imports moomoo or futu from. Only point it at trusted code.\nEnvironment and Runtime Inputs\n\nSecrets:\n\nOPEND_PASSWORD_SECRET_REF\nMOOMOO_PASSWORD\nMOOMOO_CONFIG_KEY\n\nNon-secret overrides:\n\nOPEND_HOST\nOPEND_PORT\nOPEND_MARKET\nOPEND_SECURITY_FIRM\nOPEND_TRD_ENV\nOPEND_CREDENTIAL_METHOD\nOPEND_OUTPUT\nOPEND_SDK_PATH\nFiles\nopenclaw: Bash CLI entrypoint.\nopend_cli.py: structured command interface.\nopend_core.py: shared OpenD logic.\ncredentials.py: secret-ref, env, keyring, and config password loading.\nreferences/api_docs.md: official API links and key limits.\nreferences/release_checklist.md: pre-publish validation checklist.\nLegacy Compatibility\n\nOlder scripts delegate to opend_cli.py:\n\nget_market_snapshot.py\nquery_positions.py\nplace_order.py\nplace_order_env.py\nplace_order_keyring.py\nplace_order_config.py"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/oscraters/opend",
    "publisherUrl": "https://clawhub.ai/oscraters/opend",
    "owner": "oscraters",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/opend",
    "downloadUrl": "https://openagent3.xyz/downloads/opend",
    "agentUrl": "https://openagent3.xyz/skills/opend/agent",
    "manifestUrl": "https://openagent3.xyz/skills/opend/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/opend/agent.md"
  }
}