本 Skill 旨在为 Agent 提供一个统一、稳定且无感的市场洞察服务调用入口。它整合了 market-insight-agent-v2-optimized(零依赖 Gateway 版本)和 market-insight-agent-portable-sdk(官方 SDK 版本)的优点,实现了以下目标:
scripts/client.py 中 list_custom_subs_task、 pull_post、 query_clue_info 三个函数以相同的方式调用。volcengine-python-sdk 时,Skill 会自动尝试安装,实现真正的“开箱即用”。persist/ 目录中,实现会话间的状态保持和凭证复用。当需要与火山引擎市场洞察服务交互时,应使用本 Skill。具体场景包括但不限于:
Skill 内部通过 scripts/auth_resolver.py 实现了一套智能的 Provider 选择策略,其决策顺序如下:
会话粘性优先:如果上一次调用成功,则优先复用该 Provider(Gateway 或 SDK),以保证链路稳定性。
默认优先级:在没有历史成功记录的情况下,默认按以下顺序尝试:
ARK_SKILL_API_BASE 和 ARK_SKILL_API_KEY 环境变量。此路径无任何第三方 Python 库依赖,是首选。VOLCSTACK_ACCESS_KEY_ID 和 VOLCSTACK_SECRET_ACCESS_KEY 环境变量。动态降级:如果某个 Provider 连续出现鉴权失败(401/403)或网络不可达,它将被临时标记为“降级”状态,在一段时间内自动切换到备用 Provider。
最小化询问触发:当上述所有路径均因缺少凭证而无法使用时,Skill 会抛出 MissingCredentialsError,并附带清晰的提示,告知 Agent 层应如何向用户请求凭证。
更多细节请参考 references/usage.md。
为了确保安全与合规,本 Skill 严格遵守以下限制:
aime skill upload 或 aime skill enable:Skill 的打包和部署应由用户或上层 CICD 流程明确发起,Skill 本身不包含任何自动上传或启用的逻辑。persist/auth.json 文件读取,代码中不包含任何硬编码的凭证。persist/ 目录中,确保与工作空间的其他部分隔离。本 Skill 在启动时会主动去帮你“找环境变量”,并按固定顺序决定实际生效的凭证来源:
export 行( ~/.bashrc、 ~/.bash_profile、 ~/.zshrc、 ~/.profile),只读解析其中形如 export ARK_*/VOLCSTACK_* 的简单常量定义,用于收集 Gateway 与 SDK 的候选凭证;os.environ)中已经有对应的 ARK_* / VOLCSTACK_*,则认为这些值“已经生效”, 会覆盖前面从 rc 文件中收集到的候选值;persist/auth.json(由 Agent 层在最小化询问后写入),尝试补全缺失的 Gateway 或 SDK 凭证;MissingCredentialsError,由 Agent 层触发“最小化询问”,向用户要必要的少量信息。顺序: 先扫描 rc → 再读取 os.environ(若已生效覆盖候选)→ 再读 persist/auth.json → 最后触发最小化询问。
整个过程中,rc 文件的解析始终是只读的:
export VAR=VALUE 行,不会执行 source,不会展开 $VAR、 $() 等表达式;典型自查方式包括:
echo $ARK_SKILL_API_BASE 或 env | grep ARK_SKILL_API_BASEgrep -n "^export ARK_SKILL_API_BASE" ~/.bashrc ~/.bash_profile ~/.zshrc ~/.profile 2>/dev/null你可以通过运行 scripts/quick_validate.py 来进行一次静态自检,它会检查关键文件是否存在、Python 版本是否满足要求,以及环境变量的配置情况,但不会发起任何网络请求。
bash
python3 scripts/quick_validate.py