Summary
调用万得 Alice Agent(A2A 协议,SSE 流式)执行指定 Skill 并获取分析结果的 CLI 工具。当用户要求"用 Alice 跑某个 Skill"、"出一份某公司的调研问题清单"、"做一页纸投资备忘"、"核验一段金融信息"等需要点名 Alice 子 Skill 的场景使用。
wind-information-co-ltd/wind-skills
调用万得 Alice Agent(A2A 协议,SSE 流式)执行指定 Skill 并获取分析结果的 CLI 工?
npx skills add wind-information-co-ltd/wind-skills --skill wind-alice
调用万得 Alice Agent(A2A 协议,SSE 流式)执行指定 Skill 并获取分析结果的 CLI 工具。当用户要求"用 Alice 跑某个 Skill"、"出一份某公司的调研问题清单"、"做一页纸投资备忘"、"核验一段金融信息"等需要点名 Alice 子 Skill 的场景使用。
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Helps users discover and install agent skills when they ask questions like "how do I do X", "fi…
3.3M installsBrowser automation CLI for AI agents. Use when the user needs to interact with websites, includ…
810.4K installsReview UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "chec…
617.3K installsBuild, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and …
576.5K installsPrepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Te…
568.3K installsOther skills from wind-information-co-ltd/wind-skills · top by installs.
npx skills add wind-information-co-ltd/wind-skills
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
main
Files included with this skill beyond the listing page.
SKILL.md
13,399 B
SUMMARY.md
322 B
一个 CLI:把用户问题 + 指定的 Alice Skill(中文或英文名均可) 送到万得 Alice Agent 接口,按 SSE 流式拉取并打印
agentResult.value。
实测:Alice 服务端不是通过 selectedSkillIds / activatedSkills 来选择 Skill 的,而是通过 prompt 文本前缀(按问句语言二选一):
问句含中文:使用「<中文 Skill 名>」技能:<原 prompt>
问句全英文:Using "<英文 Skill 名>" skill:<原 prompt>
同时把 chatMode 切到 "12"、originalChatMode 设为 "4",且不携带 metadata.agentCard。本 CLI 已在 buildBody 里封装这套行为;外部只需要传 --skill "<Skill 名>"。
因此:
--skill 同时支持中文名和英文名,不是 id。例如下列写法等价:- --skill "上市公司调研问题清单" (中文 nameZh) - --skill "Stock DD List" (英文 nameEn) - --skill "stock-dd-list" (英文模糊:忽略大小写/空格/-_) - --skill "信用报告" (口语别名,自动映射为「信用分析」)
使用「nameZh」技能:;问句全英文 -> Using "nameEn" skill:。[warn],请用 list-skills 核对正式名称。KNOWN_SKILLS 及别名表中的名称会以 [warn] 提示,但仍按字面值拼接前缀提交(portal 上新建/改名的 Skill 也能立刻使用)。满足任一条件就用:
不要用本技能的场景:用户只是普通金融问答、不在意走哪个子 Skill - 让 Alice 自己 auto 路由即可(不传 --skill)。
- 用户点名 Skill -> 直接传该 Skill 的中文名或英文名到 --skill(脚本会自动归一化并回填英文名);用户说「信用报告」等口语时传 --skill "信用报告" 亦可,CLI 会映射为「信用分析」; - 用户没点名但问题明显属于某 Skill(如「核查事实」「公司调研问题清单」「财报点评」)-> 可建议并征询后再指定; - 否则不传 --skill,走 auto。 - 禁止改写用户问句:把用户的原话作为 --prompt 传入即可(如 Can I get a one-pager for [300498]? 原样传入),不要"帮用户组织语言"、不要只提取股票代码、不要翻译或重写。CLI 会在前缀里自动拼接 Skill 标识(如 Using "Company One-Page Investment Memo" skill:),用户问句本身必须保持原样。
scripts/wind-alice.mjs 是相对当前 SKILL.md 所在的 wind-alice 目录。若当前工作目录不是该目录,先 cd 到该目录再执行。node scripts/wind-alice.mjs --prompt "<USER_QUESTION>" --skill "<中文 Skill 名>"
node scripts/wind-alice.mjs --prompt "<USER_QUESTION>" --skill "<英文 Skill 名>"
也可以先列已知 Skill 给用户挑:
```bash
node scripts/wind-alice.mjs list-skills
```
fetch)。- 优先级:%USERPROFILE%\.wind-aifinmarket\config(dotenv:WINDAPIKEY=...)> 本 skill 目录 config.json({"windapikey":"..."})> WINDAPIKEY 环境变量。 - 不得手动检查部分来源后判定缺 Key。必须直接执行 CLI;只有 CLI 返回 KEY_MISSING,才能判定全部来源均未提供有效 Key。 - Key 获取入口:<https://aifinmarket.wind.com.cn/#/user/overview>。
WINDALICEAPI_URL 覆盖默认接口地址。WINDAPIKEY、Bearer token、config.json 内容或 %USERPROFILE%\.wind-aifinmarket\config 内容。Authorization: Bearer <WINDAPIKEY> 这种占位格式;不要拼出含真实 Key 的 curl、PowerShell 或 HTTP 示例。许多 Skill(公司一页纸 / 调研问题清单 / 季报点评 / 市场规模测算 / 可比公司分析 等)的 agentResult.value 末尾会附一个可下载文件链接。
CLI 在每次调用结束时会自动扫描 value 中的可下载文件链接,直接用 WINDAPIKEY 作 Bearer Token 下载到 .agents/download/ 目录,并把下载结果(已保存路径或失败原因)打到 stderr:
=== 检测到 1 个可下载文件,正在下载到:<目标目录> ===
- <文件名>
已保存:<目标目录>\<文件名>
下载目录解析规则(按优先级):
%USERPROFILE%\.agents(POSIX 下为 ~/.agents)之下(典型如 ~/.agents/skills/wind-alice),下载到 %USERPROFILE%\.agents\download\。.agents/ 子目录的祖先目录 P,下载到 P\.agents\download\(典型如 <项目根>\.agents\download\)。.agents),统一兜底到用户级 %USERPROFILE%\.agents\download\--即与规则 1 同一物理目录。CLI 不会再把文件散落到 process.cwd()。无论命中哪一条,目录不存在时 CLI 都会按 recursive 方式自动创建,无需用户手工 mkdir;只有当 mkdir 因权限/磁盘等原因失败时,才会作为最终兜底退回 process.cwd(),并在 stderr 打 [warn] 提示。
记忆点:所有 Alice 下载的文件,要么在某个 <...>/.agents/download/ 下,要么在 ~/.agents/download/ 下,可以稳定地"按目录找文件"。
重要事实:
WINDAPIKEY(即万得 AIFin Market 提供的 apiKey),CLI 内部自带 Authorization: Bearer <WINDAPIKEY> 走 HTTP GET 下载。 (1)、 (2) 等后缀,不会覆盖已有文件。agentResult.value 主体。调用结束后无需再向用户解释"如何下载";本地下载路径已由 CLI 内联到 stdout 正文中(原文里文件出现在哪,路径就填在哪),不需要在回复末尾再追加提示;只有当 CLI stderr 报"下载失败"时才需要把 URL 与失败原因转告用户排查。
交付契约:正文用
agentResult.value,附件路径已内联在正文中,禁止读附件展示。
agentResult.value: 后的正文(去掉行首前缀),原样呈现给用户;/project/... 附件引用就地替换为本地下载路径(如 D:\...\.agents\download\xxx.md),并过滤 ### …完整报告 标题--不要再向用户复述服务端工作区路径;agentResult.value 正文(不要把报告浓缩成表格或自行重述要点);.agents/download/ 下附件正文展示给用户——agentResult.value 已是面向用户的核心分析摘要,完整 Markdown 附件供用户本地打开查阅。| ❌ 错误 | ✅ 正确 |
|---|---|
| 开头写「完整 Markdown 已保存至:…」 | 正文先交付 agentResult.value,路径已内联在正文中 |
再复述「文件保存在:/project/...」 |
CLI 已替换为本地路径;不要再向用户复述服务端路径 |
在末尾追加「已保存到:D:...」 |
路径已在正文中内联展示,无需末尾再追加 |
| 写「agentResult.value(原文):」 | 直接输出正文,不加内部标签 |
| 写「以下为 … 一页纸投资报告(由 XX 技能生成)」 | 直接输出正文(正文里通常已有标题) |
Read 下载的 .md 全文贴给用户 |
只交付 stdout 摘要(含已内联的附件路径) |
若宿主终端截断 stdout,仍只读 agentResult.value 落盘副本(若 CLI 提供);不要改读 .agents/download/ 附件替代交付正文。附件路径已内联在正文中,无需额外处理。
Get-Content -Encoding UTF8 skills\wind-alice\SKILL.md;若看到中文乱码,先按 UTF-8 重新读取,不能基于乱码内容执行。--skill 接受中文或英文 Skill 名,及常见口语别名(与 KNOWN_SKILLS / portal 一致)。脚本会按 nameEn -> nameZh -> normalize(nameEn) -> normalize(nameZh) -> 别名表 顺序匹配;命中后按问句语言拼前缀(中文问句用 nameZh,全英文问句用 nameEn)。--prompt 里可以说「信用报告」,但 --skill 应传「信用分析」或别名「信用报告」;不确定时先 list-skills。Authorization 头里使用,不会输出到 stdout/stderr。await 子进程退出;切勿改成"发完即返"。selectedSkillIds / agentCard 之类的旧字段去指定 Skill - 已实测不生效,必须走文本前缀。--prompt 必须是用户的原话,不得"帮用户组织语言"、只提取关键词、翻译或重写。例如用户问 Can I get a one-pager for [300498]?,就必须传 --prompt "Can I get a one-pager for [300498]?",不得改写为 --prompt "300498"。CLI 会自动在前面拼接 Skill 标识前缀(如 Using "Company One-Page Investment Memo" skill:),用户问句本身必须原样透传,服务端才能收到完整的原始问题。每次有效调用 wind-alice.mjs 结束后,脚本会静默触发后台更新检查:
scripts/update-check.mjs,不阻塞 Alice 主请求收尾。skills update 未落盘时改用 npx skills add ... --skill wind-alice 重装。