Skip to content
Closed
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
26 changes: 23 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,18 @@ jobs:
run: pnpm run installRuntime:win:${{ matrix.arch }}

- name: Build Windows
run: pnpm run build:win:${{ matrix.arch }}
run: |
pnpm run build
pnpm exec electron-builder --win --${{ matrix.arch }} --publish=never
env:
VITE_GITHUB_CLIENT_ID: ${{ secrets.DC_GITHUB_CLIENT_ID }}
VITE_GITHUB_CLIENT_SECRET: ${{ secrets.DC_GITHUB_CLIENT_SECRET }}
VITE_GITHUB_REDIRECT_URI: ${{ secrets.DC_GITHUB_REDIRECT_URI }}
VITE_PROVIDER_DB_URL: ${{ secrets.CDN_PROVIDER_DB_URL }}

- name: Generate changelog
run: node scripts/generate-changelog.mjs --output dist/changelog.md

- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
Expand Down Expand Up @@ -111,13 +116,18 @@ jobs:
# run: pnpm run installRuntime:linux:${{ matrix.arch }}

- name: Build Linux
run: pnpm run build:linux:${{ matrix.arch }}
run: |
pnpm run build
pnpm exec electron-builder --linux --${{ matrix.arch }} --publish=never
env:
VITE_GITHUB_CLIENT_ID: ${{ secrets.DC_GITHUB_CLIENT_ID }}
VITE_GITHUB_CLIENT_SECRET: ${{ secrets.DC_GITHUB_CLIENT_SECRET }}
VITE_GITHUB_REDIRECT_URI: ${{ secrets.DC_GITHUB_REDIRECT_URI }}
VITE_PROVIDER_DB_URL: ${{ secrets.CDN_PROVIDER_DB_URL }}

- name: Generate changelog
run: node scripts/generate-changelog.mjs --output dist/changelog.md

- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
Expand Down Expand Up @@ -166,7 +176,14 @@ jobs:
run: pnpm run installRuntime:mac:${{ matrix.arch }}

- name: Build Mac
run: pnpm run build:mac:${{ matrix.arch }}
run: |
pnpm run build
if [ "${{ matrix.arch }}" = "arm64" ]; then
CONFIG=electron-builder-macarm.yml
else
CONFIG=electron-builder-macx64.yml
fi
pnpm exec electron-builder -c "$CONFIG" --mac --${{ matrix.arch }} --publish=never
env:
CSC_LINK: ${{ secrets.DEEPCHAT_CSC_LINK }}
CSC_KEY_PASSWORD: ${{ secrets.DEEPCHAT_CSC_KEY_PASS }}
Expand All @@ -180,6 +197,9 @@ jobs:
NODE_OPTIONS: '--max-old-space-size=4096'
VITE_PROVIDER_DB_URL: ${{ secrets.CDN_PROVIDER_DB_URL }}

- name: Generate changelog
run: node scripts/generate-changelog.mjs --output dist/changelog.md

- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
Expand Down
15 changes: 15 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ jobs:
cp artifacts/deepchat-win-x64/*.exe release_assets/ 2>/dev/null || true
cp artifacts/deepchat-win-x64/*.msi release_assets/ 2>/dev/null || true
cp artifacts/deepchat-win-x64/*.zip release_assets/ 2>/dev/null || true
cp artifacts/deepchat-win-x64/latest*.yml release_assets/ 2>/dev/null || true
cp artifacts/deepchat-win-x64/*.blockmap release_assets/ 2>/dev/null || true
fi

# Process Windows arm64 artifacts
Expand All @@ -64,18 +66,31 @@ jobs:
cp artifacts/deepchat-linux-x64/*.deb release_assets/ 2>/dev/null || true
cp artifacts/deepchat-linux-x64/*.rpm release_assets/ 2>/dev/null || true
cp artifacts/deepchat-linux-x64/*.tar.gz release_assets/ 2>/dev/null || true
cp artifacts/deepchat-linux-x64/latest*.yml release_assets/ 2>/dev/null || true
cp artifacts/deepchat-linux-x64/*.blockmap release_assets/ 2>/dev/null || true
fi

# Process Mac x64 artifacts
if [ -d "artifacts/deepchat-mac-x64" ]; then
cp artifacts/deepchat-mac-x64/*.dmg release_assets/ 2>/dev/null || true
cp artifacts/deepchat-mac-x64/*.zip release_assets/ 2>/dev/null || true
cp artifacts/deepchat-mac-x64/x64-mac.yml release_assets/ 2>/dev/null || true
cp artifacts/deepchat-mac-x64/latest*.yml release_assets/ 2>/dev/null || true
cp artifacts/deepchat-mac-x64/*.blockmap release_assets/ 2>/dev/null || true
fi

# Process Mac arm64 artifacts
if [ -d "artifacts/deepchat-mac-arm64" ]; then
cp artifacts/deepchat-mac-arm64/*.dmg release_assets/ 2>/dev/null || true
cp artifacts/deepchat-mac-arm64/*.zip release_assets/ 2>/dev/null || true
cp artifacts/deepchat-mac-arm64/arm64-mac.yml release_assets/ 2>/dev/null || true
cp artifacts/deepchat-mac-arm64/latest*.yml release_assets/ 2>/dev/null || true
cp artifacts/deepchat-mac-arm64/*.blockmap release_assets/ 2>/dev/null || true
fi

CHANGELOG_FILE=$(find artifacts -name "changelog.md" | head -n 1)
if [ -n "$CHANGELOG_FILE" ]; then
cp "$CHANGELOG_FILE" release_assets/ 2>/dev/null || true
fi

ls -la release_assets/
Expand Down
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Changelog

## v0.5.6-canary (2025-12-23)
- Markdown 优化,修复列表元素异常
- 修复 Ollama 视觉模型图片格式
- Improved Markdown rendering, fixed list element issues
- Fixed Ollama vision model image format

## v0.5.5 (2025-12-19)
- 全新 Yo Browser 功能,让你的模型畅游网络
- All-new Yo Browser lets your model roam the web

## v0.5.3 (2025-12-13)
- 优化 ACP 体验,增加 ACP 调试能力
- 增加了自定义软件字体能力
- add acp process warmup and debug panel
- add font settings
- add Hebrew (he-IL) Translation
86 changes: 86 additions & 0 deletions electron-builder-macarm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
appId: com.wefonk.deepchat
productName: DeepChat
directories:
buildResources: build
files:
- '!**/.claude/*'
- '!**/.github/*'
- '!**/.cursor/*'
- '!**/.vscode/*'
- '!src/*'
- '!test/*'
- '!docs/*'
- '!electron.vite.config.{js,ts,mjs,cjs}'
- '!{.eslintignore,.eslintrc.cjs,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}'
- '!{.env,.env.*,.npmrc,pnpm-lock.yaml}'
- '!{tsconfig.json,tsconfig.node.json,tsconfig.app.json}'
- '!keys/*'
- '!scripts/*'
- '!.github/*'
- '!electron-builder.yml'
- '!electron-builder-macx64.yml'
- '!electron-builder-macarm.yml'
- '!test/*'
- '!*.config.ts'
- '!*.config.js'
- '!**/{LICENSE,LICENSE.txt,*.LICENSE.txt,NOTICE.txt,README.md,CHANGELOG.md,CONTRIBUTING.md,CONTRIBUTING.zh.md,README.zh.md,README.jp.md}'
- '!**/{.DS_Store,Thumbs.db}'
- '!*.md'
asarUnpack:
- '**/node_modules/sharp/**/*'
- '**/node_modules/@img/**/*'
extraResources:
- from: ./runtime/
to: app.asar.unpacked/runtime
filter: ['**/*']
- from: ./resources/cdn/
to: app.asar.unpacked/resources/cdn
filter: ['**/*']
afterSign: scripts/notarize.js
afterPack: scripts/afterPack.js
electronLanguages:
- zh-CN
- zh-TW
- zh-HK
- en-US
- ja-JP
- ko-KR
- fr-FR
- ru-RU
- ja
- ru
- zh_CN
- zh_TW
- zh_HK
- en
- ko
- fr
- fa-IR
- fa
- pt-BR
- pt
- da-DK
- da
- he-IL
- he
mac:
entitlementsInherit: build/entitlements.mac.plist
extendInfo:
- NSCameraUsageDescription: Application requests access to the device's camera.
- NSMicrophoneUsageDescription: Application requests access to the device's microphone.
- NSDocumentsFolderUsageDescription: Application requests access to the user's Documents folder.
- NSDownloadsFolderUsageDescription: Application requests access to the user's Downloads folder.
Comment on lines +68 to +72
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Fix the YAML syntax for extendInfo.

The extendInfo section uses YAML list syntax (with dashes), but electron-builder expects a plain dictionary/object. This will cause the Info.plist to be malformed or the build to fail.

🔎 Proposed fix
  extendInfo:
-    - NSCameraUsageDescription: Application requests access to the device's camera.
-    - NSMicrophoneUsageDescription: Application requests access to the device's microphone.
-    - NSDocumentsFolderUsageDescription: Application requests access to the user's Documents folder.
-    - NSDownloadsFolderUsageDescription: Application requests access to the user's Downloads folder.
+    NSCameraUsageDescription: Application requests access to the device's camera.
+    NSMicrophoneUsageDescription: Application requests access to the device's microphone.
+    NSDocumentsFolderUsageDescription: Application requests access to the user's Documents folder.
+    NSDownloadsFolderUsageDescription: Application requests access to the user's Downloads folder.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
extendInfo:
- NSCameraUsageDescription: Application requests access to the device's camera.
- NSMicrophoneUsageDescription: Application requests access to the device's microphone.
- NSDocumentsFolderUsageDescription: Application requests access to the user's Documents folder.
- NSDownloadsFolderUsageDescription: Application requests access to the user's Downloads folder.
extendInfo:
NSCameraUsageDescription: Application requests access to the device's camera.
NSMicrophoneUsageDescription: Application requests access to the device's microphone.
NSDocumentsFolderUsageDescription: Application requests access to the user's Documents folder.
NSDownloadsFolderUsageDescription: Application requests access to the user's Downloads folder.
🤖 Prompt for AI Agents
In electron-builder-macarm.yml around lines 68 to 72, the extendInfo block is
written as a YAML sequence (items prefixed with "-") but must be a
mapping/object for electron-builder to generate a correct Info.plist; change
extendInfo to a mapping by removing the dashes and using key: value pairs
(properly indenting under extendInfo) so each NSCameraUsageDescription,
NSMicrophoneUsageDescription, NSDocumentsFolderUsageDescription and
NSDownloadsFolderUsageDescription is declared as a key with its string value.

gatekeeperAssess: false
category: public.app-category.utilities
target:
- target: dmg
arch: arm64
- target: zip
arch: arm64
artifactName: ${name}-${version}-mac-${arch}.${ext}
npmRebuild: true
publish:
provider: github
owner: ThinkInAIXYZ
repo: deepchat
channel: arm64
6 changes: 4 additions & 2 deletions electron-builder-macx64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,5 +79,7 @@ mac:
artifactName: ${name}-${version}-mac-${arch}.${ext}
npmRebuild: true
publish:
provider: generic
url: https://cdn.deepchatai.cn/upgrade/
provider: github
owner: ThinkInAIXYZ
repo: deepchat
channel: x64
5 changes: 3 additions & 2 deletions electron-builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,5 +99,6 @@ linux:
- x-scheme-handler/deepchat
npmRebuild: true
publish:
provider: generic
url: https://cdn.deepchatai.cn/upgrade/
provider: github
owner: ThinkInAIXYZ
repo: deepchat
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "DeepChat",
"version": "0.5.5",
"version": "0.5.6-canary",
"description": "DeepChat,一个简单易用的AI客户端",
"main": "./out/main/index.js",
"author": "ThinkInAIXYZ",
Expand Down Expand Up @@ -37,7 +37,7 @@
"build:win:arm64": "pnpm run build && electron-builder --win --arm64",
"install:sharp": "node scripts/install-sharp-for-platform.js",
"build:mac": "pnpm run build && electron-builder --mac",
"build:mac:arm64": "pnpm run build && electron-builder --mac --arm64",
"build:mac:arm64": "pnpm run build && electron-builder -c electron-builder-macarm.yml --mac --arm64",
"build:mac:x64": "pnpm run build && electron-builder -c electron-builder-macx64.yml --mac --x64 ",
"build:linux": "pnpm run build && electron-builder --linux",
"build:linux:x64": "pnpm run build && electron-builder --linux --x64",
Expand Down
Loading