Skip to content
Merged

0.2.9 #239

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
fd9dd5a
fix(git): walk up directory tree to find nearest .git root
Jun 8, 2026
30fef2e
test(git): add getGitBranches integration tests for subdirectory work…
Jun 8, 2026
3d794b3
fix: enforce plan-mode tool isolation and auto-scroll on new user mes…
MarkYangKp Jun 9, 2026
a6b5df9
fix: remove bash from plan read-only tools and add test coverage
MarkYangKp Jun 9, 2026
96ba615
fix: remove duplicate usage stats from chat topbar
Jun 10, 2026
39d28db
fix: harden plan mode, usage tracking, and desktop confirms
XingYu-Zhong Jun 10, 2026
45baa09
feat(kun): enforce per-turn sandbox mode and finalize stuck turn items
XingYu-Zhong Jun 10, 2026
8e5da5d
perf(kun): fix startup ready timeouts and cut thread store I/O
XingYu-Zhong Jun 10, 2026
46e81b9
perf(runtime): batch SSE events per network chunk across IPC
XingYu-Zhong Jun 10, 2026
05b9416
perf(write): cut per-keystroke costs in the write workspace
XingYu-Zhong Jun 10, 2026
8047b11
feat(write): replace markdown editing with Tiptap rich mode behind a …
XingYu-Zhong Jun 10, 2026
601d90c
feat(sdd): close the requirement-to-development loop with traceable R…
XingYu-Zhong Jun 10, 2026
c080b56
✨ feat(imagegen): add OpenAI-compatible image generation across chat …
XingYu-Zhong Jun 10, 2026
0f8703c
fix: remove duplicate usage stats from chat topbar (#185)
XingYu-Zhong Jun 10, 2026
140aab7
fix(git): walk up directory tree to find nearest .git root (#112)
XingYu-Zhong Jun 10, 2026
11ef40b
fix: enforce plan-mode tool isolation and auto-scroll on new user mes…
XingYu-Zhong Jun 10, 2026
e7e8252
chore: post-merge cleanup for #167
XingYu-Zhong Jun 10, 2026
5a44d06
feat: improve IM turn handling
XingYu-Zhong Jun 10, 2026
7870d35
feat: move image generation settings to dedicated tab
XingYu-Zhong Jun 10, 2026
df05c0a
fix: stop SSE replays from duplicating streamed output (#186 #187)
XingYu-Zhong Jun 10, 2026
d77cdce
fix(kun): stop goal continuation loop on repeated no-tool replies
XingYu-Zhong Jun 10, 2026
75bcf48
fix: settle interrupted turn UI before awaiting runtime interrupt
XingYu-Zhong Jun 10, 2026
48db57c
fix(kun): bound in-memory event bus retention (#195)
XingYu-Zhong Jun 10, 2026
2837cb2
fix(kun): move volatile context instructions after history (#197)
XingYu-Zhong Jun 10, 2026
a8d63d8
fix(kun): surface tool execution failures as tool results (#144)
XingYu-Zhong Jun 10, 2026
41e9b27
fix: unstick message queue after busy watchdog exhaustion (#178)
XingYu-Zhong Jun 10, 2026
f110c3f
fix(kun): truncate web_fetch bodies instead of failing on size (#146)
XingYu-Zhong Jun 10, 2026
d8da73e
fix: keep WeChat channel responsive during long agent turns (#191)
XingYu-Zhong Jun 10, 2026
c167f2b
fix: probe kun /health during startup and extend ready deadline (#188)
XingYu-Zhong Jun 10, 2026
b7c1c96
docs: update branding to Kun
XingYu-Zhong Jun 10, 2026
4cf5f05
fix: adjust headers for streaming requests in DeepseekCompatModelClient
XingYu-Zhong Jun 10, 2026
7c1ed2f
Fix approval handling for auto and IM agents
XingYu-Zhong Jun 11, 2026
fba8f7a
fix: deliver generated images across IM and write editor
XingYu-Zhong Jun 13, 2026
de8efc3
feat: rename app to Kun and add iKun visuals
XingYu-Zhong Jun 13, 2026
03b3dc6
fix: cap agent turns and handle suppressed tools
XingYu-Zhong Jun 13, 2026
363fdf5
feat: add configurable model providers
XingYu-Zhong Jun 13, 2026
5472bed
feat: expand Kun desktop capabilities
XingYu-Zhong Jun 13, 2026
71fad8e
fix: apply pending PR bug fixes
XingYu-Zhong Jun 13, 2026
f5963de
feat: add write prototype and design draft generation
XingYu-Zhong Jun 13, 2026
3a87ffa
feat: add configurable kun hooks
XingYu-Zhong Jun 13, 2026
1ee6789
feat: add UI plugin workshop
XingYu-Zhong Jun 13, 2026
1a51dd9
chore: checkpoint local changes
XingYu-Zhong Jun 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 17 additions & 0 deletions .claude/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"version": "0.0.1",
"configurations": [
{
"name": "dsgui-site",
"runtimeExecutable": "npm",
"runtimeArgs": ["run", "dev", "--prefix", "/Users/zxy/codeproject/ds_project/dsgui-admin"],
"autoPort": true
},
{
"name": "renderer-live",
"runtimeExecutable": "sleep",
"runtimeArgs": ["86400"],
"port": 5173
}
]
}
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
name: Bug report
description: Report a reproducible bug or regression in DeepSeek GUI
description: Report a reproducible bug or regression in Kun
title: "[Bug] "
labels:
- bug
body:
- type: markdown
attributes:
value: |
Thanks for helping us improve DeepSeek GUI.
Thanks for helping us improve Kun.
Please include enough detail for someone else to reproduce the issue.
- type: textarea
id: summary
Expand Down Expand Up @@ -45,7 +45,7 @@ body:
- type: input
id: version
attributes:
label: DeepSeek GUI version
label: Kun version
placeholder: e.g. v0.1.0
validations:
required: true
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ contact_links:
url: mailto:security@deepseek-gui.com
about: Please report security issues privately instead of opening a public issue.
- name: Contribution guide
url: https://github.com/XingYu-Zhong/DeepSeek-GUI/blob/master/docs/CONTRIBUTING.md
url: https://github.com/KunAgent/Kun/blob/master/docs/CONTRIBUTING.md
about: Read the contribution workflow and validation expectations before opening a PR.
1 change: 1 addition & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

## Validation

- [ ] I agree that this contribution is submitted under the [Contributor License Agreement](https://github.com/KunAgent/Kun/blob/develop/CLA.md).
- [ ] `npm run test`
- [ ] `npm run typecheck`
- [ ] `npm run build`
Expand Down
35 changes: 21 additions & 14 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ jobs:
runs-on: macos-latest
needs: prepare
env:
KUN_APP_VERSION: ${{ needs.prepare.outputs.version }}
KUN_UPDATE_CHANNEL: stable
DEEPSEEK_GUI_APP_VERSION: ${{ needs.prepare.outputs.version }}
DEEPSEEK_GUI_UPDATE_CHANNEL: stable
RELEASE_CHANNEL: stable
Expand Down Expand Up @@ -127,16 +129,18 @@ jobs:
if-no-files-found: error
retention-days: 7
path: |
dist/DeepSeek-GUI-*-mac-*.dmg
dist/DeepSeek-GUI-*-mac-*.zip
dist/DeepSeek-GUI-*-mac-*.blockmap
dist/Kun-*-mac-*.dmg
dist/Kun-*-mac-*.zip
dist/Kun-*-mac-*.blockmap
dist/latest-mac.yml

build-windows:
name: Build Windows
runs-on: windows-latest
needs: prepare
env:
KUN_APP_VERSION: ${{ needs.prepare.outputs.version }}
KUN_UPDATE_CHANNEL: stable
DEEPSEEK_GUI_APP_VERSION: ${{ needs.prepare.outputs.version }}
DEEPSEEK_GUI_UPDATE_CHANNEL: stable
RELEASE_CHANNEL: stable
Expand Down Expand Up @@ -167,15 +171,17 @@ jobs:
if-no-files-found: error
retention-days: 7
path: |
dist/DeepSeek-GUI-*-win-x64.exe
dist/DeepSeek-GUI-*-win-x64.exe.blockmap
dist/Kun-*-win-x64.exe
dist/Kun-*-win-x64.exe.blockmap
dist/latest.yml

build-linux:
name: Build Linux
runs-on: ubuntu-latest
needs: prepare
env:
KUN_APP_VERSION: ${{ needs.prepare.outputs.version }}
KUN_UPDATE_CHANNEL: stable
DEEPSEEK_GUI_APP_VERSION: ${{ needs.prepare.outputs.version }}
DEEPSEEK_GUI_UPDATE_CHANNEL: stable
RELEASE_CHANNEL: stable
Expand Down Expand Up @@ -211,8 +217,8 @@ jobs:
if-no-files-found: error
retention-days: 7
path: |
dist/DeepSeek-GUI-*-linux-x86_64.AppImage
dist/DeepSeek-GUI-*-linux-x86_64.AppImage.blockmap
dist/Kun-*-linux-x86_64.AppImage
dist/Kun-*-linux-x86_64.AppImage.blockmap
dist/latest-linux.yml

publish:
Expand All @@ -230,6 +236,7 @@ jobs:
RELEASE_NAME: ${{ needs.prepare.outputs.release_name }}
PREVIOUS_TAG: ${{ needs.prepare.outputs.previous_tag }}
RELEASE_CHANNEL: stable
KUN_UPDATE_CHANNEL: stable
DEEPSEEK_GUI_UPDATE_CHANNEL: stable
R2_BUCKET: ${{ secrets.R2_BUCKET }}
R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }}
Expand Down Expand Up @@ -265,12 +272,12 @@ jobs:
run: |
set -euo pipefail
required=(
"DeepSeek-GUI-*-mac-arm64.dmg"
"DeepSeek-GUI-*-mac-x64.dmg"
"DeepSeek-GUI-*-mac-arm64.zip"
"DeepSeek-GUI-*-mac-x64.zip"
"DeepSeek-GUI-*-win-x64.exe"
"DeepSeek-GUI-*-linux-x86_64.AppImage"
"Kun-*-mac-arm64.dmg"
"Kun-*-mac-x64.dmg"
"Kun-*-mac-arm64.zip"
"Kun-*-mac-x64.zip"
"Kun-*-win-x64.exe"
"Kun-*-linux-x86_64.AppImage"
"latest-mac.yml"
"latest.yml"
"latest-linux.yml"
Expand Down Expand Up @@ -348,7 +355,7 @@ jobs:
set -euo pipefail
mapfile -d '' assets < <(
find release-artifacts -type f \
\( -name 'DeepSeek-GUI-*' -o -name 'latest*.yml' \) \
\( -name 'Kun-*' -o -name 'latest*.yml' \) \
-print0
)

Expand Down
85 changes: 85 additions & 0 deletions CLA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Contributor License Agreement

Version 1.0

This Contributor License Agreement ("Agreement") applies to any contribution
submitted to Kun, including code, documentation, design assets, tests, examples,
configuration, issue text, pull request text, and any other material submitted
for inclusion in the project ("Contribution").

By submitting a Contribution, you agree to the terms below.

## 1. Ownership

You retain copyright and any other rights you have in your Contribution.
This Agreement does not transfer ownership of your Contribution to the project
owner.

## 2. Copyright License

You grant the project owner a perpetual, worldwide, non-exclusive,
irrevocable, royalty-free, sublicensable, transferable, and relicensable
copyright license to use, reproduce, modify, prepare derivative works of,
publicly display, publicly perform, distribute, sublicense, and otherwise
exploit your Contribution, in whole or in part, under any license terms.

This license includes the right for the project owner to license, sublicense,
or relicense your Contribution as part of Kun or related works under
noncommercial, commercial, proprietary, source-available, open-source, or other
license terms, without needing additional permission from you.

## 3. Patent License

If your Contribution is covered by patent claims that you can license, you
grant the project owner a perpetual, worldwide, non-exclusive, irrevocable,
royalty-free, sublicensable, transferable, and relicensable patent license to
make, have made, use, sell, offer for sale, import, and otherwise transfer your
Contribution and derivative works of it.

## 4. Moral Rights

To the maximum extent allowed by law, you waive and agree not to assert any
moral rights, author's rights, or similar rights that would interfere with the
project owner's exercise of the licenses granted in this Agreement.

## 5. Right To Submit

You represent that:

- you have the legal right to submit the Contribution and grant these licenses;
- the Contribution is your original work, or you have sufficient rights to
submit it under this Agreement;
- if your employer, client, school, or another party may have rights in the
Contribution, you have received any necessary permission before submitting it;
- the Contribution does not knowingly violate any third-party intellectual
property right, confidentiality obligation, or legal restriction.

## 6. Project License

The project owner may make the project available under the license stated in
the repository, currently the PolyForm Noncommercial License 1.0.0, and may
also offer separate commercial licenses or other license terms.

You understand that commercial licensing decisions for Kun are controlled by
the project owner and do not require additional approval from contributors who
submitted Contributions under this Agreement.

## 7. No Obligation

The project owner is not required to accept, use, publish, maintain, or
distribute any Contribution.

## 8. No Warranty

You provide your Contribution "as is", without warranties or conditions of any
kind, express or implied, to the maximum extent allowed by law.

## 9. Not A Contribution

If you want to submit material that is not covered by this Agreement, clearly
mark it as "Not a Contribution" in writing before or at the time you submit it.

## 10. Agreement Scope

This Agreement applies to all Contributions you submit to Kun unless the
project owner agrees in writing to different terms.
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Our Pledge

We as contributors and maintainers pledge to make participation in the DeepSeek GUI community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
We as contributors and maintainers pledge to make participation in the Kun community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

Expand Down
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## 我们的承诺

作为贡献者和维护者,我们承诺让每个人都能在 DeepSeek GUI 社区的参与中获得无骚扰的体验,无论其年龄、体型、明显或不可见的残疾、种族、性别特征、性别认同和表达、经验水平、教育程度、社会经济地位、国籍、个人外表、种族、宗教或性认同和取向。
作为贡献者和维护者,我们承诺让每个人都能在 Kun 社区的参与中获得无骚扰的体验,无论其年龄、体型、明显或不可见的残疾、种族、性别特征、性别认同和表达、经验水平、教育程度、社会经济地位、国籍、个人外表、种族、宗教或性认同和取向。

我们承诺以有助于建设开放、热情、多元化、包容和健康社区的方式行事和互动。

Expand Down
22 changes: 12 additions & 10 deletions DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# invented. Anything not in this block is editorial, not authoritative.

schema_version: 1
project: DeepSeek-GUI
project: Kun
single_runtime: kun
themes: [light, dark, system]

Expand Down Expand Up @@ -224,8 +224,8 @@ window:
app_region: drag # html/body/-webkit-app-region
no_drag_class: ds-no-drag # add to anything clickable in the title bar
macos_top_inset_px: 42 # safe area for traffic-light controls
app_icon: src/asset/img/deepseek.png
secondary_logos: [deepseek.svg]
app_icon: src/asset/img/kun.png
secondary_logos: [kun_mac.png, kun_tray.png]

# ---------- 9. Iconography ----------
icons:
Expand Down Expand Up @@ -286,7 +286,7 @@ i18n:

# ---------- 13. Brand & voice ----------
brand:
product_name: "DeepSeek GUI"
product_name: "Kun"
tagline: "把 Kun 的本地智能体能力带进桌面窗口"
hero_kw: [Code, Write, Connect phone]
pillars:
Expand Down Expand Up @@ -323,7 +323,7 @@ dont:
- "Use a border radius smaller than 4px on a clickable surface."
---

# DeepSeek GUI — DESIGN.md
# Kun — DESIGN.md

> 单一权威设计文档。所有屏幕、所有组件、所有视觉决策,都从这里出。

Expand Down Expand Up @@ -353,8 +353,8 @@ the frontmatter wins, and the markdown needs an update.

## 1. Project at a glance

DeepSeek GUI is a local desktop workbench for the **Kun**
runtime. The desktop shell is Electron; the runtime is a TypeScript
Kun (formerly DeepSeek GUI) is a local desktop workbench built
around its namesake **Kun** runtime. The desktop shell is Electron; the runtime is a TypeScript
package that speaks HTTP/SSE; the renderer is React 19 + Zustand 5;
the visual system is TailwindCSS 3 with a hand-built token layer on
top.
Expand Down Expand Up @@ -588,7 +588,7 @@ containing many cells. Do not animate the composer.

### 3.9 Layout grammar

Every screen in DeepSeek GUI follows the same macro-grammar:
Every screen in Kun follows the same macro-grammar:

- **Topbar**: a translucent strip with the back button, session
title, mode switcher, and right-side action cluster. The topbar
Expand Down Expand Up @@ -619,7 +619,8 @@ first.
Write, and Connect phone"), second person for the user. No emoji. No
marketing language. Error messages are full sentences ending in
punctuation; never a raw stack trace.
- The product name is "DeepSeek GUI". The runtime is "Kun".
- The product name is "Kun" (formerly "DeepSeek GUI"). The bundled
runtime shares the name; say "Kun runtime" when the distinction matters.
The main workbenches are "Code" and "Write"; the phone/IM surface is
"Connect phone" in English and "连接手机" in zh copy. Internal code may
still say `claw`, but production copy should not expose it as the product name.
Expand Down Expand Up @@ -1118,7 +1119,8 @@ only which renderer and local workflow state the store pulls in.
| GUI logs | OS app-data dir / `log/` | NDJSON | `logger.ts` |
| Inline completion debug | OS app-data dir | NDJSON | `write-inline-completion-service.ts` |

Default OS app-data paths:
Default OS app-data paths (derived from the Electron `productName`,
which current builds still ship as `DeepSeek GUI`):

- macOS: `~/Library/Application Support/DeepSeek GUI`
- Windows: `%APPDATA%\DeepSeek GUI`
Expand Down
Loading
Loading