aspeak

GitHub
500 61 简单 1 次阅读 1周前MIT插件音频
AI 解读 由 AI 自动生成,仅供参考

aspeak 是一款专为调用微软 Azure 语音服务(TTS)而设计的轻量级命令行工具,能将文本快速转换为自然流畅的语音。它主要解决了开发者在集成 Azure TTS 时面临的配置繁琐问题,通过简洁的命令参数即可直接生成音频,无需编写复杂的调用代码。

这款工具特别适合需要高效处理语音合成任务的开发者、研究人员以及熟悉命令行操作的普通用户。无论是用于自动化脚本、有声书制作,还是辅助功能开发,aspeak 都能提供便捷的支持。其独特的技术亮点在于从 4.0 版本起完全使用 Rust 语言重写,显著提升了运行效率与稳定性;同时支持 RESTful 和 WebSocket 两种通信模式,用户可根据网络环境灵活切换。此外,aspeak 提供了多种安装方式,包括直接下载二进制文件、通过 Python pip 安装或从源码编译,并兼容 Linux、macOS 及 Windows 主流系统。配合 Azure 提供的免费额度,用户可以低成本地体验高质量的语音合成服务。

使用场景

一位独立开发者正在为视障用户开发一款命令行新闻阅读助手,需要将每日抓取的文本资讯实时转换为自然流畅的语音。

没有 aspeak 时

  • 集成门槛高:直接调用 Azure TTS API 需要手动处理复杂的 RESTful 请求头、身份验证签名及 WebSocket 连接逻辑,代码冗余且容易出错。
  • 跨平台部署难:若使用 Python 脚本调用,需在不同操作系统上配置繁琐的环境依赖,且难以打包成单一可执行文件分发给用户。
  • 调试效率低:每次测试不同音色或语速都需要修改代码并重新运行脚本,无法通过简单的命令行参数快速预览效果。
  • 资源消耗大:自行维护的转换脚本在长时间运行时缺乏优化,占用较多内存,不适合在低配置设备上常驻运行。

使用 aspeak 后

  • 开箱即用:只需一行命令 aspeak --region <区域> --key <密钥> text "新闻内容" 即可直接调用 Azure 高质量语音,无需编写任何网络请求代码。
  • 分发便捷:下载预编译的二进制文件即可在任何主流系统上运行,彻底解决了环境配置痛点,方便用户直接集成到工作流中。
  • 灵活调试:支持通过 CLI 参数即时切换发音人、调整语调和速率,开发者能秒级验证不同配置下的听觉效果,大幅缩短迭代周期。
  • 高性能运行:基于 Rust 重构的 aspeak 拥有极低的内存占用和启动速度,确保新闻朗读服务在后台稳定运行而不拖累系统性能。

aspeak 将复杂的云端语音 API 封装为极简的命令行体验,让开发者能专注于业务逻辑而非底层通信细节。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

不需要 GPU

内存

未说明

依赖
notes该工具是 Azure TTS API 的客户端,本身不进行本地语音合成,因此无需高性能硬件。主要运行方式为下载预编译二进制文件直接运行。若需从源码构建或开发 Python 绑定,则需安装 Rust (cargo) 和 maturin。支持通过环境变量或配置文件管理 Azure 密钥。网络方面支持 HTTP 和 SOCKS5 代理。
python可选:如需使用 Python binding 需安装 Python(版本未明确指定,通常建议 3.8+);CLI 版本无需 Python
maturin (仅构建 Python wheel 时需要)
cargo (仅从源码编译时需要)
pyo3 (仅构建 Python binding 时内部依赖)
aspeak hero image

快速开始

:speaking_head: aspeak

GitHub 星标 GitHub 问题 GitHub 分支 GitHub 许可证

一个简单的 Azure TTS API 文本转语音客户端。:laughing:

注意事项

自版本 6.0.0 起,aspeak 默认使用 Azure TTS 的 RESTful API。若要使用 WebSocket API,您可以在调用 aspeak 时指定 --mode websocket,或在您的配置文件的 auth 部分设置 mode = "websocket"

自版本 4.0.0 起,aspeak 已用 Rust 重写。旧版 Python 版本可在 python 分支中找到。

您可以注册一个 Azure 账户,然后 根据需要选择付费方案(或继续使用免费层级)。 免费层级每月提供 50 万个字符的配额,无需付费。

请参阅认证部分,了解如何为 aspeak 设置认证信息。

安装

从 GitHub 发布页面下载(推荐大多数用户)

这里下载最新版本。

下载后解压,您将获得一个二进制可执行文件。

您可以将其放置在 PATH 环境变量所包含的目录中,以便在任何地方运行它。

从 AUR 安装(推荐 Arch Linux 用户)

自 v4.1.0 起,您可以通过 AUR 安装 aspeak-bin

从 PyPI 安装

通过 PyPI 安装还会为您安装 aspeak 的 Python 绑定。有关 Python 绑定的更多信息,请参阅 库使用#Python

pip install -U aspeak==6.0.0

目前预编译的 wheel 文件仅适用于 x86_64 架构。 由于一些技术问题,我尚未将源代码发布到 PyPI。 因此,要从源代码构建 wheel,您需要按照从源码安装中的说明进行操作。

由于 manylinux 兼容性问题,Linux 平台的 wheel 文件目前无法在 PyPI 上获取。(不过您仍然可以从源代码构建它们。)

从源码安装

仅命令行工具

从源码安装 aspeak 最简单的方式是使用 cargo:

cargo install aspeak -F binary

或者,您也可以从 AUR 安装 aspeak

Python Wheel

要构建 Python wheel,您需要先安装 maturin

pip install maturin

克隆仓库并进入该目录后,您可以运行以下命令来构建 wheel:

maturin build --release --strip -F python --bindings pyo3 --interpreter python --manifest-path Cargo.toml --out dist-pyo3
maturin build --release --strip --bindings bin -F binary --interpreter python --manifest-path Cargo.toml --out dist-bin
bash merge-wheel.bash

如果一切顺利,您将在 dist 目录下得到一个 wheel 文件。

使用方法

运行 aspeak help 查看帮助信息。

运行 aspeak help <子命令> 查看特定子命令的帮助信息。

认证

认证选项应放在任何子命令之前。

例如,要使用您的订阅密钥和由区域指定的官方端点,可以运行以下命令:

$ aspeak --region <YOUR_REGION> --key <YOUR_SUBSCRIPTION_KEY> text "Hello World"

如果您使用的是自定义端点,可以使用 --endpoint 选项代替 --region

为了避免重复输入,您可以将认证信息存储在 aspeak 配置文件中。 有关详细信息,请阅读下一节。

自 v5.2.0 起,您还可以通过以下环境变量设置认证凭据:

  • ASPEAK_AUTH_KEY 用于使用订阅密钥进行认证
  • ASPEAK_AUTH_TOKEN 用于使用授权令牌进行认证

自 v4.3.0 起,您可以让 aspeak 使用代理服务器连接到端点。 目前仅支持 http 和 socks5 代理(暂不支持 https)。例如:

$ aspeak --proxy http://your_proxy_server:port text "Hello World"
$ aspeak --proxy socks5://your_proxy_server:port text "Hello World"

aspeak 也会尊重 HTTP_PROXY(或 http_proxy)环境变量。

配置

aspeak v4 引入了“配置文件”的概念。 配置文件是一个配置文件,您可以在其中为命令行选项指定默认值。

运行以下命令创建您的默认配置文件:

$ aspeak config init

要编辑配置文件,运行:

$ aspeak config edit

如果您在运行上述命令时遇到困难,可以手动编辑配置文件:

首先通过运行以下命令获取配置文件路径:

$ aspeak config where

然后使用您喜欢的文本编辑器编辑该文件。

配置文件是 TOML 格式。默认配置文件如下所示:

请查看配置文件中的注释,以了解可用选项的更多信息。

# aspeak 配置文件
# GitHub: https://github.com/kxxt/aspeak

# 输出冗余度
# 0   - 默认
# 1   - 详细
# 以下输出冗余度级别仅在调试版本中支持
# 2   - 调试
# >=3 - 追踪
verbosity = 0

#
# 认证配置
#

[auth]
# TTS 的端点
# endpoint = "wss://eastus.tts.speech.microsoft.com/cognitiveservices/websocket/v1"

# 或者,如果您使用官方端点,可以指定区域
# region = "eastus"

# 合成模式,“rest”或“websocket”
# mode = "rest"

# Azure 订阅密钥
# key = "YOUR_KEY"

# 认证令牌
# token = "Your Authentication Token"

# 额外的 HTTP 头部(面向专家)
# headers = [["X-My-Header", "My-Value"], ["X-My-Header2", "My-Value2"]]

# 代理
# proxy = "socks5://127.0.0.1:7890"

# 语音列表 API 地址
# voice_list_api = "Custom voice list API url"

#
# 文本子命令的配置
#

[text]
# 要使用的语音。请注意,它优先于语言区域
# voice = "en-US-JennyNeural"
# 要使用的语言区域
locale = "en-US"
# 语速
# rate = 0
# 音高
# pitch = 0
# 角色
# role = "Boy"
# 风格,默认为“general”
# style = "general"
# 风格程度,介于 0.1 和 2.0 之间的浮点数
# style_degree = 1.0

#
# 输出配置
#

[output]
# 容器格式,仅支持 wav/mp3/ogg/webm。
container = "wav"
# 音质。运行 `aspeak list-qualities` 查看可用音质。
#
# 如果您选择的容器格式不支持此处指定的音质等级,

# 我们将自动为您选择最接近的音质等级。
quality = 0
# 音频格式(面向专家)。运行 `aspeak list-formats` 查看可用格式。
# 请注意,它优先级高于容器和音质!
# format = "audio-16khz-128kbitrate-mono-mp3"

如果您想使用默认配置文件之外的其他配置文件,可以使用 --profile 参数:

aspeak --profile <PATH_TO_A_PROFILE> text "Hello"

如果您想临时禁用配置文件,可以使用 --no-profile 参数:

aspeak --no-profile --region eastus --key <YOUR_KEY> text "Hello"

音高和语速

  • rate:语音的语速。
    • 如果您使用浮点值(例如 0.5),该值将乘以 100%,变为 50.00%
    • 您也可以使用以下值:x-slowslowmediumfastx-fastdefault
    • 您还可以直接使用百分比值:+10%
    • 您也可以使用相对浮点值(带 f 后缀),例如 1.2f
      • 根据 Azure 文档
      • 相对值表示为一个数字,作为默认语速的倍数。
      • 例如,值为 1f 表示语速不变。值为 0.5f 表示语速减半。值为 3f 表示语速提高三倍。
  • pitch:语音的音高。
    • 如果您使用浮点值(例如 -0.5),该值将乘以 100%,变为 -50.00%
    • 您也可以使用以下值:x-lowlowmediumhighx-highdefault
    • 您还可以直接使用百分比值:+10%
    • 您也可以使用相对值(例如 -2st+80Hz):
      • 根据 Azure 文档
      • 相对值表示为一个数字,前面带有 +-,后面跟 Hzst,用于指定音高的变化量。
      • 其中 st 表示变化单位为半音,即标准全音阶上的一半音程。
    • 您也可以使用绝对值:例如 600Hz

注意:不合理的高低值将被 Azure 认知服务裁剪为合理范围。

示例

以下示例假设您已在配置文件中设置好身份验证。

对默认语音合成器说“Hello, world!”。

$ aspeak text "Hello, world"

使用 SSML 进行语音合成。

$ aspeak ssml << EOF
<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xml:lang='en-US'><voice name='en-US-JennyNeural'>Hello, world!</voice></speak>
EOF

列出所有可用的语音。

$ aspeak list-voices

列出所有适用于中文的语音。

$ aspeak list-voices -l zh-CN

获取某一种语音的信息。

$ aspeak list-voices -v en-US-SaraNeural
输出
Microsoft Server Speech Text to Speech Voice (en-US, SaraNeural)
显示名:Sara
本地名:Sara @ en-US
区域设置:英语(美国)
性别:女性
ID:en-US-SaraNeural
语音类型:神经网络
状态:GA
采样率:48000Hz
每分钟字数:157
风格:["angry", "cheerful", "excited", "friendly", "hopeful", "sad", "shouting", "terrified", "unfriendly", "whispering"]

将合成的语音保存到文件。

$ aspeak text "Hello, world" -o output.wav

如果您更喜欢 mp3/ogg/webm 格式,可以使用 -c mp3/-c ogg/-c webm 选项。

$ aspeak text "Hello, world" -o output.mp3 -c mp3
$ aspeak text "Hello, world" -o output.ogg -c ogg
$ aspeak text "Hello, world" -o output.webm -c webm

列出可用的音质等级。

$ aspeak list-qualities
输出
MP3 的音质等级:
  3:audio-48khz-192kbitrate-mono-mp3
  2:audio-48khz-96kbitrate-mono-mp3
 -3:audio-16khz-64kbitrate-mono-mp3
  1:audio-24khz-160kbitrate-mono-mp3
 -2:audio-16khz-128kbitrate-mono-mp3
 -4:audio-16khz-32kbitrate-mono-mp3
 -1:audio-24khz-48kbitrate-mono-mp3
  0:audio-24khz-96kbitrate-mono-mp3

WAV 的音质等级:
 -2:riff-8khz-16bit-mono-pcm
  1:riff-24khz-16bit-mono-pcm
  0:riff-24khz-16bit-mono-pcm
 -1:riff-16khz-16bit-mono-pcm

OGG 的音质等级:
  0:ogg-24khz-16bit-mono-opus
 -1:ogg-16khz-16bit-mono-opus
  1:ogg-48khz-16bit-mono-opus

WEBM 的音质等级:
  0:webm-24khz-16bit-mono-opus
 -1:webm-16khz-16bit-mono-opus
  1:webm-24khz-16bit-24kbps-mono-opus

列出可用的音频格式(面向专家用户)

$ aspeak list-formats
输出
amr-wb-16000hz
audio-16khz-128kbitrate-mono-mp3
audio-16khz-16bit-32kbps-mono-opus
audio-16khz-32kbitrate-mono-mp3
audio-16khz-64kbitrate-mono-mp3
audio-24khz-160kbitrate-mono-mp3
audio-24khz-16bit-24kbps-mono-opus
audio-24khz-16bit-48kbps-mono-opus
audio-24khz-48kbitrate-mono-mp3
audio-24khz-96kbitrate-mono-mp3
audio-48khz-192kbitrate-mono-mp3
audio-48khz-96kbitrate-mono-mp3
ogg-16khz-16bit-mono-opus
ogg-24khz-16bit-mono-opus
ogg-48khz-16bit-mono-opus
raw-16khz-16bit-mono-pcm
raw-16khz-16bit-mono-truesilk
raw-22050hz-16bit-mono-pcm
raw-24khz-16bit-mono-pcm
raw-24khz-16bit-mono-truesilk
raw-44100hz-16bit-mono-pcm
raw-48khz-16bit-mono-pcm
raw-8khz-16bit-mono-pcm
raw-8khz-8bit-mono-alaw
raw-8khz-8bit-mono-mulaw
riff-16khz-16bit-mono-pcm
riff-22050hz-16bit-mono-pcm
riff-24khz-16bit-mono-pcm
riff-44100hz-16bit-mono-pcm
riff-48khz-16bit-mono-pcm
riff-8khz-16bit-mono-pcm
riff-8khz-8bit-mono-alaw
riff-8khz-8bit-mono-mulaw
webm-16khz-16bit-mono-opus
webm-24khz-16bit-24kbps-mono-opus
webm-24khz-16bit-mono-opus

调整音频音质

# 低于默认音质。
$ aspeak text "Hello, world" -o output.mp3 -c mp3 -q=-1
# 最佳 MP3 音质。
$ aspeak text "Hello, world" -o output.mp3 -c mp3 -q=3

从文件读取文本并朗读。

$ cat input.txt | aspeak text

或者

$ aspeak text -f input.txt

使用自定义编码:

$ aspeak text -f input.txt -e gbk

从标准输入读取并朗读。

$ aspeak text

或者您也可以这样:

$ aspeak text -l zh-CN << EOF
我能吞下玻璃而不伤身体。
EOF

用中文朗读。

$ aspeak text "你好,世界!" -l zh-CN

使用自定义语音。

$ aspeak text "你好,世界!" -v zh-CN-YunjianNeural

自定义音高、语速和风格

$ aspeak text "你好,世界!" -v zh-CN-XiaoxiaoNeural -p 1.5 -r 0.5 -S sad
$ aspeak text "你好,世界!" -v zh-CN-XiaoxiaoNeural -p=-10% -r=+5% -S cheerful
$ aspeak text "你好,世界!" -v zh-CN-XiaoxiaoNeural -p=+40Hz -r=1.2f -S fearful
$ aspeak text "你好,世界!" -v zh-CN-XiaoxiaoNeural -p=high -r=x-slow -S calm
$ aspeak text "你好,世界!" -v zh-CN-XiaoxiaoNeural -p=+1st -r=-7% -S lyrical

高级用法

使用自定义音频格式进行输出

注意:某些音频格式在输出到扬声器时不受支持。

$ aspeak text "Hello World" -F riff-48khz-16bit-mono-pcm -o high-quality.wav

库使用

Python

aspeak 的新版本是用 Rust 编写的,Python 绑定由 PyO3 提供。

以下是一个简单的示例:

from aspeak import SpeechService

service =  SpeechService(region="eastus", key="YOUR_AZURE_SUBSCRIPTION_KEY")
service.speak_text("Hello, world")

首先需要创建一个 SpeechService 实例。

在创建 SpeechService 实例时,可以指定以下参数:

  • audio_format(位置参数):输出音频的音频格式。默认为 AudioFormat.Riff24KHz16BitMonoPcm
    • 可以通过提供容器格式和质量等级来获取音频格式:AudioFormat("mp3", 2)
  • endpoint:语音服务的端点。
  • region:也可以指定语音服务的区域,而不用输入冗长的端点 URL。
  • key:语音服务的订阅密钥。
  • token:语音服务的认证令牌。如果提供了令牌,则会忽略订阅密钥。
  • headers:语音服务的额外 HTTP 头。
  • mode:选择要使用的合成器。可以是 restwebsocket
    • 在 websocket 模式下,合成器会在创建 SpeechService 实例时连接到端点。

之后,可以调用 speak_text() 来朗读文本,或调用 speak_ssml() 来朗读 SSML。也可以调用 synthesize_text()synthesize_ssml() 来获取音频数据。

对于 synthesize_text()synthesize_ssml(),如果提供了 output 参数,音频数据将会被写入该文件,并且函数会返回 None。否则,函数会返回音频数据。

以下是 speak_text()synthesize_text() 的常见选项:

  • locale:语音的语言环境。默认为 en-US
  • voice:语音名称。默认为 en-US-JennyNeural
  • rate:语音的语速。必须是一个符合本节文档中要求的字符串:音高和语速
  • pitch:语音的音高。必须是一个符合本节文档中要求的字符串:音高和语速
  • style:语音的风格。
    • 可以通过执行 aspeak -L -v <VOICE_ID> 来获取特定语音的可用风格列表。
    • 默认值为 general
  • style_degree:风格的程度。
    • 根据 Azure 文档 ,风格程度指定了说话风格的强度。 它是一个介于 0.01 和 2 之间的浮点数,包括 0.01 和 2。
    • 截至撰写本文时,风格程度调整仅适用于中文(普通话,简体)神经网络语音。
  • role:语音的角色。
    • 根据 Azure 文档role 指定了语音扮演的角色。语音会表现出不同的年龄和性别特征,但语音名称不会改变。
    • 截至撰写本文时,角色调整仅适用于以下中文(普通话,简体)神经网络语音: zh-CN-XiaomoNeuralzh-CN-XiaoxuanNeuralzh-CN-YunxiNeuralzh-CN-YunyeNeural

Rust

aspeak 添加到你的 Cargo.toml 中:

$ cargo add aspeak

然后按照 aspeak crate 的 文档 进行操作。

这里有 4 个示例供快速参考:

版本历史

v6.1.02025/03/28
v6.1.0-rc.12025/03/28
v6.0.12023/10/03
v6.0.02023/06/29
v6.0.0-rc.12023/06/28
v6.0.0-beta.32023/06/27
v6.0.0-beta.22023/06/26
v6.0.0-beta.12023/06/24
v6.0.0-alpha.32023/06/21
v6.0.0-alpha.22023/06/12
v5.2.02023/05/05
v5.1.02023/04/20
v5.0.1-alpha.22023/04/20
v5.0.02023/04/18
v4.3.12023/04/05
v4.3.02023/04/04
v4.3.0-beta.22023/03/31
v4.3.0-beta.12023/03/30
v4.2.02023/03/25
v4.1.02023/03/09

常见问题

相似工具推荐

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

OpenHands

OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。

70.6k|★★★☆☆|今天
语言模型Agent开发框架

gpt4free

gpt4free 是一个由社区驱动的开源项目,旨在聚合多种可访问的大型语言模型(LLM)和媒体生成接口,让用户能更灵活、便捷地使用前沿 AI 能力。它解决了直接调用各类模型时面临的接口分散、门槛高或成本昂贵等痛点,通过统一的标准将不同提供商的资源整合在一起。 无论是希望快速集成 AI 功能的开发者、需要多模型对比测试的研究人员,还是想免费体验最新技术的普通用户,都能从中受益。gpt4free 提供了丰富的使用方式:既包含易于上手的 Python 和 JavaScript 客户端库,也支持部署本地图形界面(GUI),更提供了兼容 OpenAI 标准的 REST API,方便无缝替换现有应用后端。 其技术亮点在于强大的多提供商支持架构,能够动态调度包括 Opus、Gemini、DeepSeek 等多种主流模型资源,并支持 Docker 一键部署及本地推理。项目秉持社区优先原则,在降低使用门槛的同时,也为贡献者提供了扩展新接口的便利框架,是探索和利用多样化 AI 资源的实用工具。

66k|★★☆☆☆|2天前
插件语言模型Agent

gstack

gstack 是 Y Combinator CEO Garry Tan 亲自开源的一套 AI 工程化配置,旨在将 Claude Code 升级为你的虚拟工程团队。面对单人开发难以兼顾产品战略、架构设计、代码审查及质量测试的挑战,gstack 提供了一套标准化解决方案,帮助开发者实现堪比二十人团队的高效产出。 这套配置特别适合希望提升交付效率的创始人、技术负责人,以及初次尝试 Claude Code 的开发者。gstack 的核心亮点在于内置了 15 个具有明确职责的 AI 角色工具,涵盖 CEO、设计师、工程经理、QA 等职能。用户只需通过简单的斜杠命令(如 `/review` 进行代码审查、`/qa` 执行测试、`/plan-ceo-review` 规划功能),即可自动化处理从需求分析到部署上线的全链路任务。 所有操作基于 Markdown 和斜杠命令,无需复杂配置,完全免费且遵循 MIT 协议。gstack 不仅是一套工具集,更是一种现代化的软件工厂实践,让单人开发者也能拥有严谨的工程流程。

64.3k|★★☆☆☆|今天
Agent插件

meilisearch

Meilisearch 是一个开源的极速搜索服务,专为现代应用和网站打造,开箱即用。它能帮助开发者快速集成高质量的搜索功能,无需复杂的配置或额外的数据预处理。传统搜索方案往往需要大量调优才能实现准确结果,而 Meilisearch 内置了拼写容错、同义词识别、即时响应等实用特性,并支持 AI 驱动的混合搜索(结合关键词与语义理解),显著提升用户查找信息的体验。 Meilisearch 特别适合 Web 开发者、产品团队或初创公司使用,尤其适用于需要快速上线搜索功能的场景,如电商网站、内容平台或 SaaS 应用。它提供简洁的 RESTful API 和多种语言 SDK,部署简单,资源占用低,本地开发或生产环境均可轻松运行。对于希望在不依赖大型云服务的前提下,为用户提供流畅、智能搜索体验的团队来说,Meilisearch 是一个高效且友好的选择。

57k|★★☆☆☆|今天
图像Agent数据工具

awesome-claude-skills

awesome-claude-skills 是一个精心整理的开源资源库,旨在帮助用户挖掘和扩展 Claude AI 的潜力。它不仅仅是一份列表,更提供了实用的“技能(Skills)”模块,让 Claude 从单纯的文本生成助手,进化为能执行复杂工作流的智能代理。 许多用户在使用 AI 时,常受限于其无法直接操作外部软件或处理特定格式文件的痛点。awesome-claude-skills 通过预设的工作流解决了这一问题:它不仅能教会 Claude 专业地处理 Word、PDF 等文档,进行代码开发与数据分析,还能借助 Composio 插件连接 Slack、邮箱及数百种常用应用,实现发送邮件、创建任务等自动化操作。这使得重复性任务变得标准化且可复用,极大提升了工作效率。 无论是希望优化日常办公流程的普通用户、需要处理复杂文档的研究人员,还是寻求将 AI 深度集成到开发管线中的开发者,都能从中找到适合的解决方案。其独特的技术亮点在于“技能”的可定制性与强大的应用连接能力,让用户无需编写复杂代码,即可通过简单的配置让 Claude 具备跨平台执行真实任务的能力。如果你希望让 Claude

51.3k|★★☆☆☆|今天
Agent插件