Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 14 additions & 7 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,9 @@ jobs:
package_name=$(node -p "JSON.parse(require('fs').readFileSync('mcp/package.json', 'utf8')).name")
package_version=$(node -p "JSON.parse(require('fs').readFileSync('mcp/package.json', 'utf8')).version.split('-')[0]")
stable_tag_pattern='^v[0-9]+\.[0-9]+\.[0-9]+$'
release_tag_pattern='^v[0-9]+\.[0-9]+\.[0-9]+([-.][0-9A-Za-z.-]+)?$'

latest_stable_tag=$(
git tag --merged HEAD --list 'v*' \
git tag --list 'v*' \
| grep -E "$stable_tag_pattern" \
| sort -V \
| tail -n 1 \
Expand Down Expand Up @@ -71,20 +70,28 @@ jobs:
notes_start_tag=""

if [[ "${GITHUB_REF_NAME}" == "dev" ]]; then
# Dev prereleases should always advance from the latest published stable release.
base_version="${next_patch_version}"
full_version="${base_version}-dev.${GITHUB_RUN_NUMBER}.${GITHUB_RUN_ATTEMPT}"
release_tag="v${full_version}"
release_title="Release ${release_tag}"
asset_name="meting-agent-skill-${full_version}.zip"
npm_tag="prerelease"
is_prerelease="true"
notes_start_tag=$(
git tag --merged HEAD --list 'v*' \
| grep -E "$release_tag_pattern" \

previous_dev_tag=$(
git tag --list "v${base_version}-dev.*" \
| grep -E "^v${base_version//./\\.}-dev\.[0-9]+\.[0-9]+$" \
| sort -V \
| tail -n 1 \
|| true
)

if [[ -n "$previous_dev_tag" ]]; then
notes_start_tag="$previous_dev_tag"
else
notes_start_tag="${latest_stable_tag}"
fi
else
head_stable_tag=$(
git tag --points-at HEAD --list 'v*' \
Expand All @@ -97,7 +104,7 @@ jobs:
if [[ -n "$head_stable_tag" ]]; then
base_version="${head_stable_tag#v}"
notes_start_tag=$(
git tag --merged HEAD --list 'v*' \
git tag --list 'v*' \
| grep -E "$stable_tag_pattern" \
| grep -vx "$head_stable_tag" \
| sort -V \
Expand Down Expand Up @@ -181,7 +188,7 @@ jobs:
shell: bash
run: |
cd dist
zip -r "${{ needs.versioning.outputs.assetName }}" meting-agent-skill
zip -r "${{ needs.versioning.outputs.assetName }}" skills
- name: Publish GitHub release asset
env:
GH_TOKEN: ${{ github.token }}
Expand Down
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,15 @@
- **MCP**:[@eldment/meting-agent](https://www.npmjs.com/package/@eldment/meting-agent)
- **Skill**:[skills/meting-agent](https://github.com/ELDment/Meting-Agent/releases)

## 能力
<details>
<summary><b>运行截图</b></summary>

![Meting-Agent Showcase](./mcp/SHOWCASE.png)
</details>

## 功能

统一接口:

- `search`:按关键字搜索歌曲、专辑、歌手或平台特定资源
- `song`:按歌曲 ID 获取歌曲详情
Expand Down
2 changes: 1 addition & 1 deletion docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

直接克隆后会遇到两个现实限制:

- skill 的可分发产物位于 `dist/meting-agent-skill/scripts/meting/`,这个目录需要运行构建脚本后才会生成
- skill 的可分发产物位于 `dist/skills/meting-agent/scripts/meting/`,这个目录需要运行构建脚本后才会生成
- `mcp/` 的构建虽然会在其 npm scripts 中自动执行 `sync:core`,但如果你跳过同步前置步骤,直接按生成文件视角排查问题,很容易得到错误结论

简化理解就是:这个仓库不是“每个交付物目录都自带完整、静态、可直接维护的源码副本”,而是先维护 `shared/meting/`,再生成给 `mcp/src/meting/` 和 skill 使用的副本
Expand Down
14 changes: 10 additions & 4 deletions mcp/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
# Meting-Agent

`Meting-Agent` 是基于 **[metowolf/Meting](https://github.com/metowolf/Meting)** 构建的 MCP Server,支持 [网易云音乐](https://music.163.com/)(`netease`)、[腾讯音乐](https://y.qq.com/)(`tencent`)、[酷狗音乐](https://www.kugou.com/)(`kugou`)、[千千音乐](https://music.taihe.com/)(`baidu`)、[酷我音乐](https://www.kuwo.cn/)(`kuwo`) 等音乐平台,提供搜索、歌曲、专辑、歌手、歌单、播放链接、歌词、封面等能力
`Meting-Agent` 是基于 **[metowolf/Meting](https://github.com/metowolf/Meting)** 构建的 MCP 服务,支持 [网易云音乐](https://music.163.com/)(`netease`)、[腾讯音乐](https://y.qq.com/)(`tencent`)、[酷狗音乐](https://www.kugou.com/)(`kugou`)、[千千音乐](https://music.taihe.com/)(`baidu`)、[酷我音乐](https://www.kuwo.cn/)(`kuwo`) 等音乐平台,提供搜索、歌曲、专辑、歌手、歌单、播放链接、歌词、封面等能力

## 下载
<details>
<summary><b>运行截图</b></summary>

通过 npm 发布,下载入口是 [@eldment/meting-agent](https://www.npmjs.com/package/@eldment/meting-agent)
![Meting-Agent Showcase](./SHOWCASE.png)
</details>

## 获取

通过 npm 发布,项目详情: [@eldment/meting-agent](https://www.npmjs.com/package/@eldment/meting-agent)

## MCP 工具

Expand Down Expand Up @@ -64,7 +70,7 @@ env = {
tool_timeout_sec = 60
```

## Cookie 优先级
## Cookie 规则

运行时按以下优先级取 Cookie:

Expand Down
Binary file added mcp/SHOWCASE.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions mcp/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"files": [
"src",
"README.md",
"SHOWCASE.png",
"LICENSE"
],
"scripts": {
Expand Down
4 changes: 3 additions & 1 deletion scripts/build-skill-release.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ const scriptDirectory = dirname(scriptPath);
const repositoryRoot = resolve(scriptDirectory, "..");
const sharedRoot = resolve(repositoryRoot, "shared", "meting");
const skillSourceRoot = resolve(repositoryRoot, "skills", "meting-agent");
const outputRoot = resolve(repositoryRoot, "dist", "meting-agent-skill");
const legacyOutputRoot = resolve(repositoryRoot, "dist", "meting-agent-skill");
const outputRoot = resolve(repositoryRoot, "dist", "skills", "meting-agent");
const outputMetingRoot = resolve(outputRoot, "scripts", "meting");

async function PathExists(path) {
Expand Down Expand Up @@ -91,6 +92,7 @@ async function Main() {
throw new Error("skills/meting-agent not found.");
}

await rm(legacyOutputRoot, { recursive: true, force: true });
await rm(outputRoot, { recursive: true, force: true });
await mkdir(outputRoot, { recursive: true });

Expand Down
6 changes: 3 additions & 3 deletions skills/meting-agent/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Meting-Agent

`Meting-Agent` 是基于 **[metowolf/Meting](https://github.com/metowolf/Meting)** 构建的 Skills 资产,支持 [网易云音乐](https://music.163.com/)(`netease`)、[腾讯音乐](https://y.qq.com/)(`tencent`)、[酷狗音乐](https://www.kugou.com/)(`kugou`)、[千千音乐](https://music.taihe.com/)(`baidu`)、[酷我音乐](https://www.kuwo.cn/)(`kuwo`) 等音乐平台,提供搜索、歌曲、专辑、歌手、歌单、播放链接、歌词、封面等能力
`Meting-Agent` 是基于 **[metowolf/Meting](https://github.com/metowolf/Meting)** 构建的 Skill 封装,支持 [网易云音乐](https://music.163.com/)(`netease`)、[腾讯音乐](https://y.qq.com/)(`tencent`)、[酷狗音乐](https://www.kugou.com/)(`kugou`)、[千千音乐](https://music.taihe.com/)(`baidu`)、[酷我音乐](https://www.kuwo.cn/)(`kuwo`) 等音乐平台,提供搜索、歌曲、专辑、歌手、歌单、播放链接、歌词、封面等能力

## 下载
## 获取

不通过 npm 发布,下载入口是 [GitHub Releases](https://github.com/ELDment/Meting-Agent/releases)
下载入口: [GitHub Releases](https://github.com/ELDment/Meting-Agent/releases)

## Cookie 规则

Expand Down
Loading