通过 tmtpost-news-cli 获取钛媒体文章内容。
> 核心原则:基础设施(安装、更新、Key 配置)交给脚本处理;智能体只负责选择子命令和参数——始终先读 help,不要硬编码。
| 平台 | 脚本运行方式 | 示例 |
|---|---|---|
| ------ | ------------ | ------ |
| macOS / Linux | sh scripts/ | sh scripts/cli-state.sh |
| Windows | bun scripts/ | bun scripts/cli-state.ts |
> Windows 需先确保 bun 可用。若不可用:powershell -c "irm bun.sh/install.ps1 | iex",安装后重启终端确认 bun --version。
以下所有脚本调用均以 macOS / Linux 为例,Windows 将 .sh 替换为 .ts,sh 替换为 bun。
CLI 命令本身不要依赖 cli-state 返回的模板字符串,直接根据 platform.cliPath 组装:
| 平台 | CLI 命令模板 |
|---|---|
| ------ | ------------- |
| macOS / Linux | " |
| Windows PowerShell | & " |
> 环境已就绪时直接跳到 Phase 2。
sh scripts/cli-state.sh
解析返回的 JSON,关注以下字段:
| 字段 | 含义 |
|---|---|
| ------ | ------ |
platform.cliPath | CLI 完整路径,后续所有命令使用此路径 |
platform.cliSource | global(用户已全局安装)/ local(技能目录下载)/ none(未找到) |
cliExists | CLI 是否存在 |
update.needUpdate | 当前版本是否需要更新 |
update.error | version 检查失败时的错误信息 |
apiKey.present | API Key 是否已配置 |
apiKey.status | configured / missing / error |
apiKey.error | apikey-get 执行异常或输出异常时的错误信息 |
cliExists 为 false 时)> cliSource 为 global 时跳过此步。
sh scripts/install-cli.sh
安装/更新完成后,重新执行 cli-state.sh,用最新的 apiKey.status 决定是否进入 Step 4。
update.needUpdate 为 true,或 CLI 提示版本过旧时)"<cliPath>" update
Windows PowerShell 使用 & "。
始终使用 platform.cliPath 组装命令。若 update.error 不为空,先展示错误并让用户处理。
若 update 命令失败,或错误信息表明当前 CLI 不支持 update(如 unknown command、not found、not recognized),立即改为执行安装脚本覆盖:
sh scripts/install-cli.sh --force
Windows:
bun scripts/install-cli.ts --force
解析安装脚本返回的 JSON,并把后续命令切换到新返回的 platform.cliPath。只有覆盖安装也失败时,才引导用户参考 references/update-guide.md 手动处理。
安装/更新完成后,重新执行 cli-state.sh,用最新的 apiKey.status 决定是否进入 Step 4。
apiKey.status 不为 configured 时)missing → 引导用户前往 https://www.tmtpost.com/exchange/appkey/skills 自行获取 API Key,不要执行 open / xdg-open / start 等命令自动打开浏览器error → 展示 apiKey.error,让用户先处理(权限、网络、CLI 异常),处理后重试设置 Key(命令前缀使用 platform.cliPath,KEY 是裸值不加引号):
"<cliPath>" apikey-set KEY
Windows PowerShell 分别使用 & "、& "、& "。
验证:"
清除(仅用户明确要求时):"
详见 references/env-setup-guide.md。
> CLI 更新频繁,子命令和参数可能随版本变化。始终以当前 help 输出为准,不要假设或记忆任何子命令。
help 使用 platform.cliPath 自行拼命令:macOS / Linux 为 ",Windows PowerShell 为 & "。
help 中无匹配子命令,如实告知用户当前不支持1. **标题文字**
来源:作者名称
摘要内容……
[查看原文](https://…)
2. **标题文字**
来源:作者名称
摘要内容……
[查看原文](https://…)
**来源:钛媒体**
按类型分组,每组用二级标题标明类别:
## 热门文章
1. **标题文字**
...
2. **标题文字**
...
## 科技资讯
1. **标题文字**
...
2. **标题文字**
...
**来源:钛媒体**
序号. 标题,序号从 1 开始,多类型时每组序号独立来源: 后跟 CLI 返回的作者名称;无该字段时省略查看原文,无则不输出来源:钛媒体 在所有内容末尾出现一次CLI 命令失败后,立即停止,绝不通过 WebSearch 或其他方式获取新闻替代。
cannot be opened、not verified)→ 系统设置 → 隐私与安全性 → 「仍要打开」connection refused、防火墙拦截)→ 安全提示中点击「信任」/「允许」permission denied)→ chmod +x references/env-setup-guide.mdreferences/update-guide.md共 1 个版本