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
79 changes: 78 additions & 1 deletion CHANGELOG.md

Large diffs are not rendered by default.

79 changes: 78 additions & 1 deletion CHANGELOG.zh.md

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions README.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ Full history on the [website changelog](https://deepseekbot.app/en/changelog/).

| Version | What's new |
| ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **[1.5.0](https://github.com/BotHarness/DeepSeekBot/releases/tag/v1.5.0)** (2026-10-22) | **DeepSeekBot Connect** pairs a phone through your account without Tailscale; **Storage** clears old media and messages; the Bot Marketplace becomes a panel; plugins update from Bot settings; Bot mode is fast again on long conversations; the VRM companion installs on its own. |
| **[1.4.1](https://github.com/BotHarness/DeepSeekBot/releases/tag/v1.4.1)** (2026-10-20) | A five-step intro from Tob the first time you enter Bot mode; Bot mode gets its own **themes, see-through panels and a wallpaper library**; `/compact` and Idle Compaction keep long conversations fast; quick search jumps to any setting; Memory previews images and Markdown; the mobile Beta adds notification switches. |
| **[1.4.0](https://github.com/BotHarness/DeepSeekBot/releases/tag/v1.4.0)** (2026-10-19) | **Tob** on Home manages Bots, models and groups through chat; the desktop becomes a drag-and-drop **panel workspace** that remembers each Channel's layout; a reviewer model can handle approvals; pair a phone; the CLI covers almost everything the UI does. Supports DSH 0.2.0-rc.2 through 0.2.x. |
| **[1.3.1](https://github.com/BotHarness/DeepSeekBot/releases/tag/v1.3.1)** (2026-10-14) | Installing `deepseekbot` from the Plugins page takes one step again, with no build approval; needs DSH 0.2.0-rc.2. The `deepseekbot` CLI can configure a Host, drive a Bot's Browser and Computer, and manage IM apps; the Browser panel updates live. |
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ _截图来自隔离的本地 DSH,对话是虚构的天文台展览示例。_

| 版本 | 新内容 |
| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **[1.5.0](https://github.com/BotHarness/DeepSeekBot/releases/tag/v1.5.0)**(2026-10-22) | **DeepSeekBot Connect**:手机不装 Tailscale、登录账号一点就能配对;**存储空间**可清理旧媒体和旧消息;Bot 市场变成面板;插件在 Bot 设置里一键更新;长对话里的 Bot 模式重新流畅;VRM 伴侣可单独安装。 |
| **[1.4.1](https://github.com/BotHarness/DeepSeekBot/releases/tag/v1.4.1)**(2026-10-20) | 第一次进入 Bot 模式时,托布五步带你上手;Bot 模式有自己的**主题、半透明面板和壁纸库**;`/compact` 和空闲压缩让长对话保持轻快;快速搜索直达任意设置项;记忆里能预览图片和 Markdown;手机端 Beta 加了通知开关。 |
| **[1.4.0](https://github.com/BotHarness/DeepSeekBot/releases/tag/v1.4.0)**(2026-10-19) | 首页迎来管家**托布**,用聊天就能管理 Bot、模型和群;桌面端换成可自由拖放的**面板工作区**,每个频道记住自己的布局;审批可交给审核模型;可以配对手机;命令行覆盖了几乎所有界面操作。支持 DSH 0.2.0-rc.2 到 0.2.x。 |
| **[1.3.1](https://github.com/BotHarness/DeepSeekBot/releases/tag/v1.3.1)**(2026-10-14) | 从插件页安装 `deepseekbot` 重新只要一步,不再要求批准构建;需要 DSH 0.2.0-rc.2。`deepseekbot` 命令行可以配置 Host、操作 Bot 的浏览器和 Computer、管理 IM 应用;浏览器面板实时刷新。 |
Expand Down
62 changes: 43 additions & 19 deletions apps/docs/test/changelog-public-surfaces.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,24 @@ function built(path: string): string {
describe("built release and Development status surfaces", () => {
it(
"exposes one concise bilingual history unit across human and agent routes",
{ timeout: process.platform === 'win32' ? 360_000 : 120_000 },
{ timeout: process.platform === "win32" ? 360_000 : 120_000 },
() => {
execFileSync(process.execPath, [resolve(DOCS, "node_modules/astro/bin/astro.mjs"), "build"], {
cwd: DOCS,
env: { ...process.env, NO_COLOR: "1" },
stdio: "pipe",
});
execFileSync(
process.execPath,
[resolve(DOCS, "node_modules/astro/bin/astro.mjs"), "build"],
{
cwd: DOCS,
env: { ...process.env, NO_COLOR: "1" },
stdio: "pipe",
},
);

const englishFeed = built("changelog/index.html");
const chineseFeed = built("zh/changelog/index.html");
expect(englishFeed).toContain("Pre-release development");
expect(englishFeed).toContain("this is development history, not a released or installable version");
expect(englishFeed).toContain(
"this is development history, not a released or installable version",
);
expect(englishFeed).not.toContain("Added durable PersonaBot identity");
expect(englishFeed).not.toContain("Unreleased");
expect(chineseFeed).toContain("首个版本前的开发进展");
Expand All @@ -39,13 +45,13 @@ describe("built release and Development status surfaces", () => {
expect(chineseDetail).toContain("新增持久的 PersonaBot identity");
expect(englishDetail).toContain('hreflang="zh-Hans"');
expect(chineseDetail).toContain('hreflang="en"');
expect(englishDetail).toContain('/changelog/development/index.md');
expect(chineseDetail).toContain('/zh/changelog/development/index.md');
expect(englishDetail).toContain("/changelog/development/index.md");
expect(chineseDetail).toContain("/zh/changelog/development/index.md");

const englishRss = built("changelog/rss.xml");
const chineseRss = built("zh/changelog/rss.xml");
expect(englishRss.match(/<item>/g)).toHaveLength(10);
expect(chineseRss.match(/<item>/g)).toHaveLength(10);
expect(englishRss.match(/<item>/g)).toHaveLength(11);
expect(chineseRss.match(/<item>/g)).toHaveLength(11);
expect(englishRss).toContain("/changelog/v101/");
expect(chineseRss).toContain("/zh/changelog/v101/");
expect(englishRss).toContain("/changelog/v102/");
Expand All @@ -64,6 +70,8 @@ describe("built release and Development status surfaces", () => {
expect(chineseRss).toContain("/zh/changelog/v140/");
expect(englishRss).toContain("/changelog/v141/");
expect(chineseRss).toContain("/zh/changelog/v141/");
expect(englishRss).toContain("/changelog/v150/");
expect(chineseRss).toContain("/zh/changelog/v150/");
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Resolved
expect(englishRss).toContain("/changelog/development/");
expect(chineseRss).toContain("/zh/changelog/development/");

Expand All @@ -79,9 +87,15 @@ describe("built release and Development status surfaces", () => {
expect(built("index.html")).toContain('href="/changelog/v140"');
expect(built("zh/index.html")).toContain('href="/zh/changelog/v140"');

expect(statSync(resolve(DIST, "og/changelog/development.png")).size).toBeGreaterThan(0);
expect(statSync(resolve(DIST, "og/zh/changelog/development.png")).size).toBeGreaterThan(0);
expect(existsSync(resolve(DIST, "changelog/2026-09-20-roster-storage"))).toBe(false);
expect(
statSync(resolve(DIST, "og/changelog/development.png")).size,
).toBeGreaterThan(0);
expect(
statSync(resolve(DIST, "og/zh/changelog/development.png")).size,
).toBeGreaterThan(0);
expect(
existsSync(resolve(DIST, "changelog/2026-09-20-roster-storage")),
).toBe(false);

const statusEnglish = built("development/index.html");
const statusChinese = built("zh/development/index.html");
Expand All @@ -104,17 +118,27 @@ describe("built release and Development status surfaces", () => {
expect(statusEnglishMarkdown).toContain(artifact);
expect(statusChineseMarkdown).toContain(artifact);
}
expect(statusEnglish).toContain("not included in the latest stable artifact");
expect(statusEnglish).toContain(
"not included in the latest stable artifact",
);
expect(statusChinese).toContain("尚未包含在最新的稳定 artifact 中");
expect(statusEnglish).toContain("0.3.4");
expect(statusChinese).toContain("0.3.4");
expect(statusEnglish).not.toMatch(/Pre-release[\s\S]{0,600}0\.1\.6-alpha\.2/);
expect(statusChinese).not.toMatch(/Pre-release[\s\S]{0,600}0\.1\.6-alpha\.2/);
expect(statusEnglish).not.toMatch(
/Pre-release[\s\S]{0,600}0\.1\.6-alpha\.2/,
);
expect(statusChinese).not.toMatch(
/Pre-release[\s\S]{0,600}0\.1\.6-alpha\.2/,
);
expect(statusEnglish).toContain('href="/zh/development"');
expect(statusChinese).toContain('href="/development"');

expect(built("llms.txt")).toContain("https://botharness.ai/development.md");
expect(built("zh/llms.txt")).toContain("https://botharness.ai/zh/development.md");
expect(built("llms.txt")).toContain(
"https://botharness.ai/development.md",
);
expect(built("zh/llms.txt")).toContain(
"https://botharness.ai/zh/development.md",
);
expect(built("development/index.md")).toBe(statusEnglishMarkdown);
expect(built("zh/development/index.md")).toBe(statusChineseMarkdown);
expect(englishFeed).not.toContain("Merged, awaiting release");
Expand Down
11 changes: 0 additions & 11 deletions changes/1643-mobile-pairing-guide.md

This file was deleted.

11 changes: 0 additions & 11 deletions changes/1845-ios-stream-blocks-revert.md

This file was deleted.

11 changes: 0 additions & 11 deletions changes/1845-open-chat-settle.md

This file was deleted.

11 changes: 0 additions & 11 deletions changes/1845-working-row-short-chat.md

This file was deleted.

11 changes: 0 additions & 11 deletions changes/1845-working-row-steady.md

This file was deleted.

11 changes: 0 additions & 11 deletions changes/2080-mobile-activity-approval-name.md

This file was deleted.

17 changes: 0 additions & 17 deletions changes/2080-mobile-approval-followups.md

This file was deleted.

13 changes: 0 additions & 13 deletions changes/2080-mobile-approval-text.md

This file was deleted.

15 changes: 0 additions & 15 deletions changes/2080-mobile-approvals.md

This file was deleted.

11 changes: 0 additions & 11 deletions changes/2080-mobile-assignment-keyboard.md

This file was deleted.

11 changes: 0 additions & 11 deletions changes/2080-mobile-chat-approval-preview.md

This file was deleted.

11 changes: 0 additions & 11 deletions changes/2080-mobile-decided-here.md

This file was deleted.

Loading
Loading