用途:在 OpenAlgo 中新增印度券商插件,或修改已有插件,将券商特有的接口形态翻译为 OpenAlgo 的通用约定(符号格式、通用 API、通用 WebSocket 格式)。核心原则是每个文件只做“券商特有形状与通用契约”的双向转换,尽量复制最接近的参考券商再改差异。
主要能力与结构:仓库已有 36 个插件。按鉴权家族选模板最省时间:OAuth2/校验和重定向类(zerodha 等,复制 broker/zerodha/)、Noren/Finvasia 系(shoonya、flattrade 等)、Symphony XTS 系(fivepaisaxts 等,双凭证 BROKER_API_KEY_MARKET)、直接登录+TOTP 系(angel 等)。白标券商通常与家族模板高度一致,可先查端点路径判断。
必要用法:先读通用契约文档,包括 docs/prompt/symbol-format.md、order-constants.md、LotSize.md、websockets-format.md、services_documentation.md、docs/api/**、rate-limiting.md 与 docs/broker-integration-guide.md;符号转换必须用 database.token_db 的 get_token、get_symbol、get_br_symbol、get_oa_symbol、get_brexchange、get_symbol_info、get_tokens_bulk。模块需固定命名:api/auth_api.authenticate_broker、api/order_api 的 place/modify/cancel 等函数、api/data 的 BrokerData、api/funds、api/margin_api、api/gtt_api 及 mapping/、database/master_contract_db、streaming/ 适配器。HTTP 统一走 utils/httpx_client.get_httpx_client(),日志统一用 utils.logging,不要绕过。券商文档缺失时,可下载其官方 Python SDK 读源码确认字段与端点,例如:pip download <broker-sdk-package> --no-deps -d /tmp/sdk && cd /tmp/sdk && unzip -o *.whl。
适用场景与限制:适合具备 Python 与接口调试经验的开发者;登录未打通前无法测试其它模块。不要改动 restx_api/,不要自行发布事件(event_bus 属服务层)。analyze 模式不会进入券商模块。GTT、多档深度等能力若 OpenAlgo 无端点,需先改服务层再改 restx_api。资料未提供具体券商 SDK 包名、环境变量细节与完整验证步骤。