Skip to content

Commit 3d82f42

Browse files
committed
Merge remote-tracking branch 'origin/master' into feat/heibox
2 parents aec2e3b + 5530a22 commit 3d82f42

203 files changed

Lines changed: 11221 additions & 6667 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.dockerignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ ENV/
1717
.conda/
1818
dashboard/
1919
data/
20-
changelogs/
2120
tests/
2221
.ruff_cache/
2322
.astrbot
Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,40 @@
11

2-
name: '🎉 功能建议'
2+
name: '🎉 Feature Request / 功能建议'
33
title: "[Feature]"
4-
description: 提交建议帮助我们改进。
4+
description: Submit a suggestion to help us improve. / 提交建议帮助我们改进。
55
labels: [ "enhancement" ]
66
body:
77
- type: markdown
88
attributes:
99
value: |
10-
感谢您抽出时间提出新功能建议,请准确解释您的想法。
10+
Thank you for taking the time to suggest a new feature! Please explain your idea clearly and accurately. / 感谢您抽出时间提出新功能建议,请准确解释您的想法。
1111
1212
- type: textarea
1313
attributes:
14-
label: 描述
15-
description: 简短描述您的功能建议
14+
label: Description / 描述
15+
description: Please describe the feature you want to be added in detail. / 请详细描述您希望添加的功能
1616

1717
- type: textarea
1818
attributes:
19-
label: 使用场景
20-
description: 你想要发生什么?
21-
placeholder: >
22-
一个清晰且具体的描述这个功能的使用场景。
19+
label: Use Case / 使用场景
20+
description: Please describe the use case for this feature. / 请描述这个功能的使用场景。
2321

2422
- type: checkboxes
2523
attributes:
26-
label: 你愿意提交PR吗?
24+
label: Willing to Submit PR? / 是否愿意提交PR?
2725
description: >
28-
这不是必须的,但我们欢迎您的贡献。
26+
This is not required, but if you are willing to submit a PR to implement this feature, it would be greatly appreciated! / 这不是必需的,但如果您愿意提交 PR 来实现这个功能,我们将不胜感激!
2927
options:
30-
- label: 是的, 我愿意提交PR!
28+
- label: Yes, I am willing to submit a PR. / 是的,我愿意提交 PR。
3129

3230
- type: checkboxes
3331
attributes:
3432
label: Code of Conduct
3533
options:
3634
- label: >
37-
我已阅读并同意遵守该项目的 [行为准则](https://docs.github.com/zh/site-policy/github-terms/github-community-code-of-conduct)
35+
I have read and agree to abide by the project's [Code of Conduct](https://docs.github.com/zh/site-policy/github-terms/github-community-code-of-conduct). /
3836
required: true
3937
4038
- type: markdown
4139
attributes:
42-
value: "感谢您填写我们的表单!"
40+
value: "Thank you for filling out our form!"

.github/workflows/code-format.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- name: Set up Python
1818
uses: actions/setup-python@v6
1919
with:
20-
python-version: '3.10'
20+
python-version: '3.12'
2121

2222
- name: Install UV
2323
run: pip install uv

.github/workflows/coverage_test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
mkdir -p data/temp
3838
export TESTING=true
3939
export ZHIPU_API_KEY=${{ secrets.OPENAI_API_KEY }}
40-
pytest --cov=. -v -o log_cli=true -o log_level=DEBUG
40+
pytest --cov=astrbot -v -o log_cli=true -o log_level=DEBUG
4141
4242
- name: Upload results to Codecov
4343
uses: codecov/codecov-action@v5

.github/workflows/release.yml

Lines changed: 0 additions & 165 deletions
Original file line numberDiff line numberDiff line change
@@ -102,170 +102,11 @@ jobs:
102102
cp "dashboard/AstrBot-${VERSION_TAG}-dashboard.zip" "dashboard/astrbot-webui-${VERSION_TAG}.zip"
103103
rclone copy "dashboard/astrbot-webui-${VERSION_TAG}.zip" "r2:${R2_BUCKET_NAME}" --progress
104104
105-
build-desktop:
106-
name: Build ${{ matrix.name }}
107-
runs-on: ${{ matrix.runner }}
108-
strategy:
109-
fail-fast: false
110-
matrix:
111-
include:
112-
- name: linux-x64
113-
runner: ubuntu-24.04
114-
os: linux
115-
arch: amd64
116-
- name: linux-arm64
117-
runner: ubuntu-24.04-arm
118-
os: linux
119-
arch: arm64
120-
- name: windows-x64
121-
runner: windows-2022
122-
os: win
123-
arch: amd64
124-
- name: windows-arm64
125-
runner: windows-11-arm
126-
os: win
127-
arch: arm64
128-
- name: macos-x64
129-
runner: macos-15-intel
130-
os: mac
131-
arch: amd64
132-
- name: macos-arm64
133-
runner: macos-15
134-
os: mac
135-
arch: arm64
136-
env:
137-
CSC_IDENTITY_AUTO_DISCOVERY: "false"
138-
steps:
139-
- name: Checkout repository
140-
uses: actions/checkout@v6
141-
with:
142-
fetch-depth: 0
143-
ref: ${{ inputs.ref || github.ref }}
144-
145-
- name: Resolve tag
146-
id: tag
147-
shell: bash
148-
run: |
149-
if [ "${{ github.event_name }}" = "push" ]; then
150-
tag="${GITHUB_REF_NAME}"
151-
elif [ -n "${{ inputs.tag }}" ]; then
152-
tag="${{ inputs.tag }}"
153-
else
154-
tag="$(git describe --tags --abbrev=0)"
155-
fi
156-
if [ -z "$tag" ]; then
157-
echo "Failed to resolve tag." >&2
158-
exit 1
159-
fi
160-
echo "tag=$tag" >> "$GITHUB_OUTPUT"
161-
162-
- name: Setup uv
163-
uses: astral-sh/setup-uv@v7
164-
165-
- name: Setup Python
166-
uses: actions/setup-python@v6
167-
with:
168-
python-version: "3.12"
169-
170-
- name: Setup pnpm
171-
uses: pnpm/action-setup@v4
172-
with:
173-
version: 10.28.2
174-
175-
- name: Setup Node.js
176-
uses: actions/setup-node@v6
177-
with:
178-
node-version: '24.13.0'
179-
cache: "pnpm"
180-
cache-dependency-path: |
181-
dashboard/pnpm-lock.yaml
182-
desktop/pnpm-lock.yaml
183-
184-
- name: Prepare OpenSSL for Windows ARM64
185-
if: ${{ matrix.os == 'win' && matrix.arch == 'arm64' }}
186-
shell: pwsh
187-
run: |
188-
git clone https://github.com/microsoft/vcpkg.git C:\vcpkg
189-
& C:\vcpkg\bootstrap-vcpkg.bat -disableMetrics
190-
& C:\vcpkg\vcpkg.exe install openssl:arm64-windows
191-
192-
"VCPKG_ROOT=C:\vcpkg" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
193-
"VCPKGRS_TRIPLET=arm64-windows" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
194-
"OPENSSL_DIR=C:\vcpkg\installed\arm64-windows" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
195-
"OPENSSL_ROOT_DIR=C:\vcpkg\installed\arm64-windows" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
196-
"OPENSSL_LIB_DIR=C:\vcpkg\installed\arm64-windows\lib" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
197-
"OPENSSL_INCLUDE_DIR=C:\vcpkg\installed\arm64-windows\include" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
198-
199-
- name: Install dependencies
200-
shell: bash
201-
run: |
202-
uv sync
203-
pnpm --dir dashboard install --frozen-lockfile
204-
pnpm --dir desktop install --frozen-lockfile
205-
206-
- name: Build desktop package
207-
shell: bash
208-
run: |
209-
pnpm --dir dashboard run build
210-
pnpm --dir desktop run build:webui
211-
pnpm --dir desktop run build:backend
212-
pnpm --dir desktop run sync:version
213-
pnpm --dir desktop exec electron-builder --publish never
214-
215-
- name: Normalize artifact names
216-
shell: bash
217-
env:
218-
NAME_PREFIX: AstrBot-${{ steps.tag.outputs.tag }}-${{ matrix.arch }}-${{ matrix.os }}
219-
run: |
220-
shopt -s nullglob
221-
out_dir="desktop/dist/release"
222-
mkdir -p "$out_dir"
223-
files=(
224-
desktop/dist/*.AppImage
225-
desktop/dist/*.dmg
226-
desktop/dist/*.zip
227-
desktop/dist/*.exe
228-
)
229-
if [ ${#files[@]} -eq 0 ]; then
230-
echo "No desktop artifacts found to rename." >&2
231-
exit 1
232-
fi
233-
for src in "${files[@]}"; do
234-
file="$(basename "$src")"
235-
case "$file" in
236-
*.AppImage)
237-
dest="$out_dir/${NAME_PREFIX}.AppImage"
238-
;;
239-
*.dmg)
240-
dest="$out_dir/${NAME_PREFIX}.dmg"
241-
;;
242-
*.exe)
243-
dest="$out_dir/${NAME_PREFIX}.exe"
244-
;;
245-
*.zip)
246-
dest="$out_dir/${NAME_PREFIX}.zip"
247-
;;
248-
*)
249-
continue
250-
;;
251-
esac
252-
cp "$src" "$dest"
253-
done
254-
ls -la "$out_dir"
255-
256-
- name: Upload desktop artifacts
257-
uses: actions/upload-artifact@v6
258-
with:
259-
name: AstrBot-${{ steps.tag.outputs.tag }}-${{ matrix.arch }}-${{ matrix.os }}
260-
if-no-files-found: error
261-
path: desktop/dist/release/*
262-
263105
publish-release:
264106
name: Publish GitHub Release
265107
runs-on: ubuntu-24.04
266108
needs:
267109
- build-dashboard
268-
- build-desktop
269110
steps:
270111
- name: Checkout repository
271112
uses: actions/checkout@v6
@@ -296,12 +137,6 @@ jobs:
296137
name: Dashboard-${{ steps.tag.outputs.tag }}
297138
path: release-assets
298139

299-
- name: Download desktop artifacts
300-
uses: actions/download-artifact@v7
301-
with:
302-
pattern: AstrBot-${{ steps.tag.outputs.tag }}-*
303-
path: release-assets
304-
merge-multiple: true
305140

306141
- name: Resolve release notes
307142
id: notes

.gitignore

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,6 @@ tests/astrbot_plugin_openai
3333
dashboard/node_modules/
3434
dashboard/dist/
3535
.pnpm-store/
36-
desktop/node_modules/
37-
desktop/dist/
38-
desktop/out/
39-
desktop/resources/backend/astrbot-backend*
40-
desktop/resources/backend/*.exe
41-
desktop/resources/webui/*
42-
desktop/resources/.pyinstaller/
4336
package-lock.json
4437
yarn.lock
4538

README.md

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ AstrBot 是一个开源的一站式 Agentic 个人和群聊助手,可在 QQ、
4343
2. ✨ AI 大模型对话,多模态,Agent,MCP,Skills,知识库,人格设定,自动压缩对话。
4444
3. 🤖 支持接入 Dify、阿里云百炼、Coze 等智能体平台。
4545
4. 🌐 多平台,支持 QQ、企业微信、飞书、钉钉、微信公众号、Telegram、Slack 以及[更多](#支持的消息平台)
46-
5. 📦 插件扩展,已有近 800 个插件可一键安装。
46+
5. 📦 插件扩展,已有 1000+ 个插件可一键安装。
4747
6. 🛡️ [Agent Sandbox](https://docs.astrbot.app/use/astrbot-agent-sandbox.html) 隔离化环境,安全地执行任何代码、调用 Shell、会话级资源复用。
4848
7. 💻 WebUI 支持。
4949
8. 🌈 Web ChatUI 支持,ChatUI 内置代理沙盒、网页搜索等。
@@ -56,7 +56,7 @@ AstrBot 是一个开源的一站式 Agentic 个人和群聊助手,可在 QQ、
5656
<th>💙 角色扮演 & 情感陪伴</th>
5757
<th>✨ 主动式 Agent</th>
5858
<th>🚀 通用 Agentic 能力</th>
59-
<th>🧩 900+ 社区插件</th>
59+
<th>🧩 1000+ 社区插件</th>
6060
</tr>
6161
<tr>
6262
<td align="center"><p align="center"><img width="984" height="1746" alt="99b587c5d35eea09d84f33e6cf6cfd4f" src="https://github.com/user-attachments/assets/89196061-3290-458d-b51f-afa178049f84" /></p></td>
@@ -81,6 +81,16 @@ uv tool install astrbot
8181
astrbot
8282
```
8383

84+
#### 桌面应用部署(Tauri)
85+
86+
桌面应用仓库 [AstrBot-desktop](https://github.com/AstrBotDevs/AstrBot-desktop)
87+
88+
支持多系统架构,安装包直接安装,开箱即用,最适合新手和懒人的一键桌面部署方案,不推荐服务器场景。
89+
90+
#### 启动器一键部署(AstrBot Launcher)
91+
92+
快速部署和多开方案,实现环境隔离,进入 [AstrBot Launcher](https://github.com/Raven95676/astrbot-launcher) 仓库,在 Releases 页最新版本下找到对应的系统安装包安装即可。
93+
8494
#### 宝塔面板部署
8595

8696
AstrBot 与宝塔面板合作,已上架至宝塔面板。
@@ -142,26 +152,23 @@ yay -S astrbot-git
142152
paru -S astrbot-git
143153
```
144154

145-
#### 桌面端 Electron 打包
146-
147-
桌面端(Electron 打包,`pnpm` 工作流)构建流程请参阅:[`desktop/README.md`](desktop/README.md)
148-
149155
## 支持的消息平台
150156

151157
**官方维护**
152158

153-
- QQ (官方平台 & OneBot)
159+
- QQ
160+
- OneBot v11 协议实现
154161
- Telegram
155162
- 企微应用 & 企微智能机器人
156163
- 微信客服 & 微信公众号
157164
- 飞书
158165
- 钉钉
159166
- Slack
160167
- Discord
168+
- LINE
161169
- Satori
162170
- Misskey
163171
- Whatsapp (将支持)
164-
- LINE (将支持)
165172

166173
**社区维护**
167174

@@ -181,6 +188,7 @@ paru -S astrbot-git
181188
- DeepSeek
182189
- Ollama (本地部署)
183190
- LM Studio (本地部署)
191+
- [AIHubMix](https://aihubmix.com/?aff=4bfH)
184192
- [优云智算](https://www.compshare.cn/?ytag=GPU_YY-gh_astrbot&referral_code=FV7DcGowN4hB5UuXKgpE74)
185193
- [302.AI](https://share.302.ai/rr1M3l)
186194
- [小马算力](https://www.tokenpony.cn/3YPyf)
@@ -256,13 +264,23 @@ pre-commit install
256264
特别感谢所有 Contributors 和插件开发者对 AstrBot 的贡献 ❤️
257265

258266
<a href="https://github.com/AstrBotDevs/AstrBot/graphs/contributors">
259-
<img src="https://contrib.rocks/image?repo=AstrBotDevs/AstrBot" />
267+
<img src="https://contrib.rocks/image?repo=AstrBotDevs/AstrBot&max=200&columns=14" />
260268
</a>
261269

262270
此外,本项目的诞生离不开以下开源项目的帮助:
263271

264272
- [NapNeko/NapCatQQ](https://github.com/NapNeko/NapCatQQ) - 伟大的猫猫框架
265273

274+
开源项目友情链接:
275+
276+
- [NoneBot2](https://github.com/nonebot/nonebot2) - 优秀的 Python 异步 ChatBot 框架
277+
- [Koishi](https://github.com/koishijs/koishi) - 优秀的 Node.js ChatBot 框架
278+
- [MaiBot](https://github.com/Mai-with-u/MaiBot) - 优秀的拟人化 AI ChatBot
279+
- [nekro-agent](https://github.com/KroMiose/nekro-agent) - 优秀的 Agent ChatBot
280+
- [LangBot](https://github.com/langbot-app/LangBot) - 优秀的多平台 AI ChatBot
281+
- [ChatLuna](https://github.com/ChatLunaLab/chatluna) - 优秀的多平台 AI ChatBot Koishi 插件
282+
- [Operit AI](https://github.com/AAswordman/Operit) - 优秀的 AI 智能助手 Android APP
283+
266284
## ⭐ Star History
267285

268286
> [!TIP]

0 commit comments

Comments
 (0)