# 开发状态

DeepSeekBot 与 DSH Skill 的当前工作及发布状态。

本页用于展示进行中和已合并的工作，不把 Changelog 变成项目进度追踪器。

Roadmap 快照: 2026-09-20T15:48:44.710Z

## DeepSeekBot

[Canonical Release Ledger](/zh/changelog)

### In progress

在项目 Roadmap 中明确标记为 In Progress 的公开工作。

当前没有归属于这个 artifact 的公开进行中工作。

### Merged, awaiting release

这些变更已经合并，但尚未包含在最新的稳定 artifact 中。

- **Documentation:** 把 DeepSeekBot 使用教程迁到官网（英文 deepseekbot.botharness.ai/en/docs，中文 /docs）；botharness.ai 上原来的每个教程地址都会跳到新站的同一篇，开发者文档仍留在 botharness.ai（#914）。 — 来源: [Source](https://deepseekbot.botharness.ai/en/docs/overview/), [Source](https://deepseekbot.botharness.ai/docs/overview/), [PR #914](https://github.com/BotHarness/BotHarness/pull/914)

### Pre-release

已经 tag、可以安装的 alpha、beta 或 release candidate artifact。

当前没有记录已 tag 且可安装的预发布版本。

### Released

由该 artifact 的 canonical Release Ledger 记录的稳定版本。

- **1.0.0** — 2026-10-05; DeepSeekBot 首个 npm 正式版本：拥有各自身份的 PersonaBots、Git Memory、Group、Assignment、像素头像，以及飞书、Slack、Discord 和微信身份，作为一个插件装进 DSH。 — 来源: [Issue #885](https://github.com/BotHarness/BotHarness/issues/885), [Issue #884](https://github.com/BotHarness/BotHarness/issues/884), [Issue #12](https://github.com/BotHarness/BotHarness/issues/12), [Issue #570](https://github.com/BotHarness/BotHarness/issues/570), [Issue #568](https://github.com/BotHarness/BotHarness/issues/568), [Issue #878](https://github.com/BotHarness/BotHarness/issues/878), [Source](docs/adr/0129-wechat-owner-dms-use-private-source-continuations.md), [Source](docs/wechat-connection.md), [Issue #325](https://github.com/BotHarness/BotHarness/issues/325), [Issue #855](https://github.com/BotHarness/BotHarness/issues/855), [Source](docs/adr/0128-discord-checked-replies-preserve-native-child-channel-routing.md), [Issue #863](https://github.com/BotHarness/BotHarness/issues/863), [Source](docs/dev/guides/im-provider-integration.md), [Issue #854](https://github.com/BotHarness/BotHarness/issues/854), [Issue #756](https://github.com/BotHarness/BotHarness/issues/756), [Issue #755](https://github.com/BotHarness/BotHarness/issues/755), [Issue #752](https://github.com/BotHarness/BotHarness/issues/752), [Issue #194](https://github.com/BotHarness/BotHarness/issues/194), [Source](docs/adr/0077-turn-time-harvest-consumes-the-ready-attention-set.md), [Issue #824](https://github.com/BotHarness/BotHarness/issues/824), [Source](docs/lark-connection.md), [Issue #843](https://github.com/BotHarness/BotHarness/issues/843), [Issue #837](https://github.com/BotHarness/BotHarness/issues/837), [Issue #823](https://github.com/BotHarness/BotHarness/issues/823), [Source](docs/product-im-installation.md), [Issue #838](https://github.com/BotHarness/BotHarness/issues/838), [Issue #831](https://github.com/BotHarness/BotHarness/issues/831), [Issue #833](https://github.com/BotHarness/BotHarness/issues/833), [Issue #825](https://github.com/BotHarness/BotHarness/issues/825), [Issue #809](https://github.com/BotHarness/BotHarness/issues/809), [Issue #819](https://github.com/BotHarness/BotHarness/issues/819), [Issue #800](https://github.com/BotHarness/BotHarness/issues/800), [Issue #802](https://github.com/BotHarness/BotHarness/issues/802), [Source](docs/adr/0126-slack-text-intake-uses-exclusive-checked-provider.md), [Issue #125](https://github.com/BotHarness/BotHarness/issues/125), [Issue #754](https://github.com/BotHarness/BotHarness/issues/754), [Issue #768](https://github.com/BotHarness/BotHarness/issues/768), [Issue #753](https://github.com/BotHarness/BotHarness/issues/753), [Issue #787](https://github.com/BotHarness/BotHarness/issues/787), [Issue #767](https://github.com/BotHarness/BotHarness/issues/767), [Source](docs/adr/0124-local-browser-drivers-share-host-authority.md), [Issue #124](https://github.com/BotHarness/BotHarness/issues/124), [Issue #751](https://github.com/BotHarness/BotHarness/issues/751), [Issue #774](https://github.com/BotHarness/BotHarness/issues/774), [Source](docs/daily-browser.md), [Source](docs/adr/0123-daily-chrome-profile-control-is-an-explicit-persistent-pairing.md), [Issue #637](https://github.com/BotHarness/BotHarness/issues/637), [Issue #123](https://github.com/BotHarness/BotHarness/issues/123), [Issue #766](https://github.com/BotHarness/BotHarness/issues/766), [Source](docs/adr/0121-daily-chrome-control-is-bound-to-one-selected-document.md), [Issue #635](https://github.com/BotHarness/BotHarness/issues/635), [Source](docs/adr/0120-multiple-bridge-routes-retain-canonical-sources.md), [Issue #701](https://github.com/BotHarness/BotHarness/issues/701), [Issue #639](https://github.com/BotHarness/BotHarness/issues/639), [Issue #744](https://github.com/BotHarness/BotHarness/issues/744), [Issue #741](https://github.com/BotHarness/BotHarness/issues/741), [Source](docs/adr/0116-daily-browser-tabs-use-explicit-ephemeral-borrowing.md), [Issue #636](https://github.com/BotHarness/BotHarness/issues/636), [Issue #726](https://github.com/BotHarness/BotHarness/issues/726), [Source](docs/adr/0114-browser-targets-share-capabilities-with-separate-execution-worlds.md), [Issue #721](https://github.com/BotHarness/BotHarness/issues/721), [Issue #720](https://github.com/BotHarness/BotHarness/issues/720), [Issue #719](https://github.com/BotHarness/BotHarness/issues/719), [Issue #718](https://github.com/BotHarness/BotHarness/issues/718), [Issue #542](https://github.com/BotHarness/BotHarness/issues/542), [Issue #122](https://github.com/BotHarness/BotHarness/issues/122), [Issue #638](https://github.com/BotHarness/BotHarness/issues/638), [Issue #700](https://github.com/BotHarness/BotHarness/issues/700), [Issue #716](https://github.com/BotHarness/BotHarness/issues/716), [Issue #709](https://github.com/BotHarness/BotHarness/issues/709), [Issue #705](https://github.com/BotHarness/BotHarness/issues/705), [Issue #694](https://github.com/BotHarness/BotHarness/issues/694), [Issue #699](https://github.com/BotHarness/BotHarness/issues/699), [Source](docs/adr/0111-external-identity-lifecycle-is-independent-of-grants.md), [Issue #703](https://github.com/BotHarness/BotHarness/issues/703), [Issue #698](https://github.com/BotHarness/BotHarness/issues/698), [Issue #614](https://github.com/BotHarness/BotHarness/issues/614), [Source](docs/adr/0110-external-thread-following-is-scoped-and-explicit.md), [Issue #679](https://github.com/BotHarness/BotHarness/issues/679), [Issue #613](https://github.com/BotHarness/BotHarness/issues/613), [Source](docs/adr/0109-external-group-collection-is-separate-from-wake.md), [Issue #634](https://github.com/BotHarness/BotHarness/issues/634), [Source](docs/adr/0108-shared-channel-bridge-places-canonical-external-sources.md), [Issue #541](https://github.com/BotHarness/BotHarness/issues/541), [Issue #612](https://github.com/BotHarness/BotHarness/issues/612), [Issue #657](https://github.com/BotHarness/BotHarness/issues/657), [Source](docs/file-open.md), [Source](docs/adr/0107-external-files-use-trusted-source-capabilities-and-existing-owner.md), [Issue #553](https://github.com/BotHarness/BotHarness/issues/553), [Issue #552](https://github.com/BotHarness/BotHarness/issues/552), [Issue #551](https://github.com/BotHarness/BotHarness/issues/551), [Issue #550](https://github.com/BotHarness/BotHarness/issues/550), [Issue #633](https://github.com/BotHarness/BotHarness/issues/633), [Issue #622](https://github.com/BotHarness/BotHarness/issues/622), [Issue #507](https://github.com/BotHarness/BotHarness/issues/507), [Issue #621](https://github.com/BotHarness/BotHarness/issues/621), [Source](docs/adr/0103-local-human-names-label-one-identity-across-channels.md), [Issue #632](https://github.com/BotHarness/BotHarness/issues/632), [Source](docs/adr/0105-attachments-use-native-file-operations-under-source-authority.md), [Source](docs/adr/0106-exclusive-im-intake-commits-bot-inbox-before-acknowledgement.md), [Issue #549](https://github.com/BotHarness/BotHarness/issues/549), [Issue #592](https://github.com/BotHarness/BotHarness/issues/592), [Issue #577](https://github.com/BotHarness/BotHarness/issues/577), [Issue #117](https://github.com/BotHarness/BotHarness/issues/117), [Source](docs/client-bridge.md#qualified-optional-im-provider), [Source](docs/adr/0104-isolated-im-profiles-pin-a-qualified-temporary-provider-fork.md), [Issue #503](https://github.com/BotHarness/BotHarness/issues/503), [Source](docs/adr/0094-retain-per-model-usage-after-session-deletion.md), [Issue #548](https://github.com/BotHarness/BotHarness/issues/548), [Source](docs/adr/0101-external-grants-require-authenticated-accounts-and-checked-targets.md), [Issue #547](https://github.com/BotHarness/BotHarness/issues/547), [Issue #499](https://github.com/BotHarness/BotHarness/issues/499), [Issue #574](https://github.com/BotHarness/BotHarness/issues/574), [Source](docs/adr/0100-file-open-actions-target-real-host-files.md), [Issue #575](https://github.com/BotHarness/BotHarness/issues/575), [Issue #576](https://github.com/BotHarness/BotHarness/issues/576), [Issue #546](https://github.com/BotHarness/BotHarness/issues/546), [Source](docs/adr/0098-activity-center-separates-overview-and-human-inbox.md), [Issue #528](https://github.com/BotHarness/BotHarness/issues/528), [Issue #424](https://github.com/BotHarness/BotHarness/issues/424), [Source](docs/adr/0085-personabot-profile-is-a-popover-and-a-channel-body-view.md), [Issue #526](https://github.com/BotHarness/BotHarness/issues/526), [Issue #497](https://github.com/BotHarness/BotHarness/issues/497), [Source](docs/adr/0096-bot-browser-profiles-are-named-and-assignable-per-personabot.md), [Issue #498](https://github.com/BotHarness/BotHarness/issues/498), [Source](docs/adr/0093-model-presets-are-local-snapshots.md), [Issue #501](https://github.com/BotHarness/BotHarness/issues/501), [Issue #504](https://github.com/BotHarness/BotHarness/issues/504), [Issue #506](https://github.com/BotHarness/BotHarness/issues/506), [Issue #508](https://github.com/BotHarness/BotHarness/issues/508), [Issue #491](https://github.com/BotHarness/BotHarness/issues/491), [Issue #494](https://github.com/BotHarness/BotHarness/issues/494), [Issue #115](https://github.com/BotHarness/BotHarness/issues/115), [Source](docs/adr/0097-memory-recovery-checkpoints-separate-provenance-from-git-authorship.md), [Issue #463](https://github.com/BotHarness/BotHarness/issues/463), [Issue #462](https://github.com/BotHarness/BotHarness/issues/462), [Issue #461](https://github.com/BotHarness/BotHarness/issues/461), [Source](docs/adr/0090-browser-access-is-per-personabot-authorization-is-session-scoped.md), [Issue #460](https://github.com/BotHarness/BotHarness/issues/460), [Source](docs/adr/0089-browser-use-is-a-profile-scoped-managed-bot-browser.md), [Issue #350](https://github.com/BotHarness/BotHarness/issues/350), [Issue #352](https://github.com/BotHarness/BotHarness/issues/352), [Issue #464](https://github.com/BotHarness/BotHarness/issues/464), [Source](docs/adr/0092-memory-changes-enter-bot-inbox-with-durable-observations.md), [Issue #372](https://github.com/BotHarness/BotHarness/issues/372), [Source](docs/adr/0073-group-membership-is-invitation-first-with-auto-accept.md), [Issue #416](https://github.com/BotHarness/BotHarness/issues/416), [Issue #444](https://github.com/BotHarness/BotHarness/issues/444), [Issue #466](https://github.com/BotHarness/BotHarness/issues/466), [Source](docs/adr/0088-memory-files-and-evolution-are-separate-channel-views.md), [Issue #386](https://github.com/BotHarness/BotHarness/issues/386), [Source](docs/adr/0079-adopt-official-computer-use-seam-with-own-provider.md), [Source](docs/adr/0080-computer-access-is-per-personabot-authorization-is-session-scoped.md), [Issue #390](https://github.com/BotHarness/BotHarness/issues/390), [Issue #365](https://github.com/BotHarness/BotHarness/issues/365), [Issue #366](https://github.com/BotHarness/BotHarness/issues/366), [Issue #370](https://github.com/BotHarness/BotHarness/issues/370), [Issue #364](https://github.com/BotHarness/BotHarness/issues/364), [Issue #347](https://github.com/BotHarness/BotHarness/issues/347), [Source](docs/adr/0078-local-human-group-receipts-use-member-identity.md), [Issue #248](https://github.com/BotHarness/BotHarness/issues/248), [Issue #116](https://github.com/BotHarness/BotHarness/issues/116), [Issue #47](https://github.com/BotHarness/BotHarness/issues/47), [Issue #126](https://github.com/BotHarness/BotHarness/issues/126), [Source](docs/adr/0071-human-inbox-projects-channel-attention.md), [Issue #152](https://github.com/BotHarness/BotHarness/issues/152), [Source](docs/adr/0070-bot-inbox-projects-canonical-admissions.md), [Issue #292](https://github.com/BotHarness/BotHarness/issues/292), [Source](docs/adr/0069-selected-channel-references-and-bot-join-requests.md), [Issue #304](https://github.com/BotHarness/BotHarness/issues/304), [Issue #298](https://github.com/BotHarness/BotHarness/issues/298), [Issue #282](https://github.com/BotHarness/BotHarness/issues/282), [Source](docs/adr/0065-bots-collaborate-through-channels.md), [Issue #280](https://github.com/BotHarness/BotHarness/issues/280), [Issue #281](https://github.com/BotHarness/BotHarness/issues/281), [Issue #279](https://github.com/BotHarness/BotHarness/issues/279), [Issue #254](https://github.com/BotHarness/BotHarness/issues/254), [Source](docs/adr/0037-messaging-facts-share-one-sqlite-transaction.md), [Source](docs/adr/0068-git-working-tree-is-current-memory.md), [Issue #264](https://github.com/BotHarness/BotHarness/issues/264), [Issue #263](https://github.com/BotHarness/BotHarness/issues/263), [Issue #262](https://github.com/BotHarness/BotHarness/issues/262), [Issue #261](https://github.com/BotHarness/BotHarness/issues/261), [Issue #260](https://github.com/BotHarness/BotHarness/issues/260), [Source](docs/adr/0067-workspace-grants-bound-personabot-file-access.md), [Issue #138](https://github.com/BotHarness/BotHarness/issues/138), [Issue #215](https://github.com/BotHarness/BotHarness/issues/215), [Issue #216](https://github.com/BotHarness/BotHarness/issues/216), [Issue #142](https://github.com/BotHarness/BotHarness/issues/142), [Issue #144](https://github.com/BotHarness/BotHarness/issues/144), [Source](docs/adr/0054-channel-live-delivery-follows-durable-commit.md), [Issue #145](https://github.com/BotHarness/BotHarness/issues/145), [Issue #146](https://github.com/BotHarness/BotHarness/issues/146), [Issue #168](https://github.com/BotHarness/BotHarness/issues/168), [Issue #143](https://github.com/BotHarness/BotHarness/issues/143), [Source](docs/adr/0061-channel-timeline-uses-opaque-cursors.md), [Issue #150](https://github.com/BotHarness/BotHarness/issues/150), [Issue #156](https://github.com/BotHarness/BotHarness/issues/156), [Issue #81](https://github.com/BotHarness/BotHarness/issues/81), [Issue #128](https://github.com/BotHarness/BotHarness/issues/128), [Issue #129](https://github.com/BotHarness/BotHarness/issues/129), [Source](docs/agents/changelog.md#preparing-a-github-release-draft), [Issue #103](https://github.com/BotHarness/BotHarness/issues/103), [Issue #154](https://github.com/BotHarness/BotHarness/issues/154), [Issue #928](https://github.com/BotHarness/BotHarness/issues/928), [PR #895](https://github.com/BotHarness/BotHarness/pull/895), [Source](docs/npm-prerelease.md), [Issue #883](https://github.com/BotHarness/BotHarness/issues/883), [Issue #757](https://github.com/BotHarness/BotHarness/issues/757), [Issue #868](https://github.com/BotHarness/BotHarness/issues/868), [Issue #851](https://github.com/BotHarness/BotHarness/issues/851), [Issue #807](https://github.com/BotHarness/BotHarness/issues/807), [Issue #803](https://github.com/BotHarness/BotHarness/issues/803), [Issue #793](https://github.com/BotHarness/BotHarness/issues/793), [Issue #780](https://github.com/BotHarness/BotHarness/issues/780), [Issue #736](https://github.com/BotHarness/BotHarness/issues/736), [Issue #687](https://github.com/BotHarness/BotHarness/issues/687), [Issue #670](https://github.com/BotHarness/BotHarness/issues/670), [Issue #611](https://github.com/BotHarness/BotHarness/issues/611), [Issue #567](https://github.com/BotHarness/BotHarness/issues/567), [Issue #565](https://github.com/BotHarness/BotHarness/issues/565), [Issue #371](https://github.com/BotHarness/BotHarness/issues/371), [Issue #564](https://github.com/BotHarness/BotHarness/issues/564), [Issue #563](https://github.com/BotHarness/BotHarness/issues/563), [Issue #562](https://github.com/BotHarness/BotHarness/issues/562), [Issue #561](https://github.com/BotHarness/BotHarness/issues/561), [Issue #495](https://github.com/BotHarness/BotHarness/issues/495), [Source](docs/client-bridge.md), [Issue #493](https://github.com/BotHarness/BotHarness/issues/493), [Issue #490](https://github.com/BotHarness/BotHarness/issues/490), [Issue #492](https://github.com/BotHarness/BotHarness/issues/492), [Issue #496](https://github.com/BotHarness/BotHarness/issues/496), [Source](docs/adr/0095-bot-tabs-are-background-tabs-on-the-shared-bot-browser.md), [Issue #441](https://github.com/BotHarness/BotHarness/issues/441), [Issue #512](https://github.com/BotHarness/BotHarness/issues/512), [Source](docs/adr/0087-dsh-compatibility-is-a-semver-range-with-a-verified-floor.md), [Issue #423](https://github.com/BotHarness/BotHarness/issues/423), [Issue #419](https://github.com/BotHarness/BotHarness/issues/419), [Issue #404](https://github.com/BotHarness/BotHarness/issues/404), [Issue #383](https://github.com/BotHarness/BotHarness/issues/383), [Issue #345](https://github.com/BotHarness/BotHarness/issues/345), [Issue #376](https://github.com/BotHarness/BotHarness/issues/376), [Issue #312](https://github.com/BotHarness/BotHarness/issues/312), [Source](docs/adr/0072-personabot-sidebar-projects-owned-dsh-sessions.md), [Issue #340](https://github.com/BotHarness/BotHarness/issues/340), [Issue #302](https://github.com/BotHarness/BotHarness/issues/302), [Issue #272](https://github.com/BotHarness/BotHarness/issues/272), [Source](docs/adr/0066-rc2-client-bundle-identity.md), [Issue #265](https://github.com/BotHarness/BotHarness/issues/265), [Issue #255](https://github.com/BotHarness/BotHarness/issues/255), [Issue #240](https://github.com/BotHarness/BotHarness/issues/240), [Source](docs/adr/0063-operational-log-database.md), [Issue #234](https://github.com/BotHarness/BotHarness/issues/234), [Issue #212](https://github.com/BotHarness/BotHarness/issues/212), [Issue #155](https://github.com/BotHarness/BotHarness/issues/155), [Issue #223](https://github.com/BotHarness/BotHarness/issues/223), [Issue #221](https://github.com/BotHarness/BotHarness/issues/221), [Issue #167](https://github.com/BotHarness/BotHarness/issues/167), [Source](docs/adr/0062-computer-volume-quiesce-and-workspace.md), [Issue #178](https://github.com/BotHarness/BotHarness/issues/178), [Issue #184](https://github.com/BotHarness/BotHarness/issues/184), [Issue #177](https://github.com/BotHarness/BotHarness/issues/177), [Source](docs/adr/0059-assignment-collaboration-round-trips-through-the-bot-inbox.md), [Issue #180](https://github.com/BotHarness/BotHarness/issues/180), [Source](docs/adr/0060-system-prompt-prefix-is-append-only.md), [Issue #137](https://github.com/BotHarness/BotHarness/issues/137), [Issue #10](https://github.com/BotHarness/BotHarness/issues/10), [Issue #80](https://github.com/BotHarness/BotHarness/issues/80), [Source](docs/adr/0045-orchestrator-manages-assignments-through-a-durable-directory.md), [Issue #845](https://github.com/BotHarness/BotHarness/issues/845), [Issue #812](https://github.com/BotHarness/BotHarness/issues/812), [Issue #811](https://github.com/BotHarness/BotHarness/issues/811), [Issue #808](https://github.com/BotHarness/BotHarness/issues/808), [Issue #797](https://github.com/BotHarness/BotHarness/issues/797), [Issue #789](https://github.com/BotHarness/BotHarness/issues/789), [Issue #769](https://github.com/BotHarness/BotHarness/issues/769), [Issue #713](https://github.com/BotHarness/BotHarness/issues/713), [Issue #708](https://github.com/BotHarness/BotHarness/issues/708), [Issue #166](https://github.com/BotHarness/BotHarness/issues/166), [Issue #121](https://github.com/BotHarness/BotHarness/issues/121), [Issue #120](https://github.com/BotHarness/BotHarness/issues/120), [Issue #536](https://github.com/BotHarness/BotHarness/issues/536), [Issue #652](https://github.com/BotHarness/BotHarness/issues/652), [Issue #571](https://github.com/BotHarness/BotHarness/issues/571), [Issue #647](https://github.com/BotHarness/BotHarness/issues/647), [Issue #644](https://github.com/BotHarness/BotHarness/issues/644), [Issue #640](https://github.com/BotHarness/BotHarness/issues/640), [Issue #627](https://github.com/BotHarness/BotHarness/issues/627), [Issue #502](https://github.com/BotHarness/BotHarness/issues/502), [Issue #623](https://github.com/BotHarness/BotHarness/issues/623), [Issue #600](https://github.com/BotHarness/BotHarness/issues/600), [Issue #604](https://github.com/BotHarness/BotHarness/issues/604), [Issue #595](https://github.com/BotHarness/BotHarness/issues/595), [Issue #591](https://github.com/BotHarness/BotHarness/issues/591), [Issue #584](https://github.com/BotHarness/BotHarness/issues/584), [Issue #579](https://github.com/BotHarness/BotHarness/issues/579), [Issue #500](https://github.com/BotHarness/BotHarness/issues/500), [Issue #569](https://github.com/BotHarness/BotHarness/issues/569), [Issue #538](https://github.com/BotHarness/BotHarness/issues/538), [Issue #530](https://github.com/BotHarness/BotHarness/issues/530), [Issue #456](https://github.com/BotHarness/BotHarness/issues/456), [Issue #523](https://github.com/BotHarness/BotHarness/issues/523), [Issue #486](https://github.com/BotHarness/BotHarness/issues/486), [Issue #483](https://github.com/BotHarness/BotHarness/issues/483), [Issue #478](https://github.com/BotHarness/BotHarness/issues/478), [Issue #451](https://github.com/BotHarness/BotHarness/issues/451), [Issue #433](https://github.com/BotHarness/BotHarness/issues/433), [Issue #430](https://github.com/BotHarness/BotHarness/issues/430), [Issue #434](https://github.com/BotHarness/BotHarness/issues/434), [Issue #393](https://github.com/BotHarness/BotHarness/issues/393), [Issue #367](https://github.com/BotHarness/BotHarness/issues/367), [Issue #268](https://github.com/BotHarness/BotHarness/issues/268), [Issue #266](https://github.com/BotHarness/BotHarness/issues/266), [Issue #218](https://github.com/BotHarness/BotHarness/issues/218), [Issue #206](https://github.com/BotHarness/BotHarness/issues/206), [Issue #207](https://github.com/BotHarness/BotHarness/issues/207), [Issue #208](https://github.com/BotHarness/BotHarness/issues/208), [Issue #209](https://github.com/BotHarness/BotHarness/issues/209), [Issue #148](https://github.com/BotHarness/BotHarness/issues/148), [Issue #186](https://github.com/BotHarness/BotHarness/issues/186), [Issue #141](https://github.com/BotHarness/BotHarness/issues/141), [Issue #56](https://github.com/BotHarness/BotHarness/issues/56), [Issue #140](https://github.com/BotHarness/BotHarness/issues/140), [Issue #677](https://github.com/BotHarness/BotHarness/issues/677), [Issue #18](https://github.com/BotHarness/BotHarness/issues/18), [Source](docs/adr/0131-bot-marketplace-starts-as-a-github-indexed-catalog.md), [Source](https://deepseekbot.botharness.ai), [Source](docs/adr/0130-deletion-preserves-history-and-makes-memory-erasure-explicit.md), [Issue #893](https://github.com/BotHarness/BotHarness/issues/893), [Source](docs/channel-sidebar/index.md), [Source](docs/dev/verification/discord-855-mention-reply.md), [Issue #887](https://github.com/BotHarness/BotHarness/issues/887), [Source](docs/installation.md), [Issue #76](https://github.com/BotHarness/BotHarness/issues/76), [Source](docs/proposals/profile-portability-ux.md), [Issue #874](https://github.com/BotHarness/BotHarness/issues/874), [Source](docs/slack-connection.md), [Issue #866](https://github.com/BotHarness/BotHarness/issues/866), [Issue #877](https://github.com/BotHarness/BotHarness/issues/877), [Issue #814](https://github.com/BotHarness/BotHarness/issues/814), [Source](docs/dev/guides/assignment-report-harvest.md), [Source](docs/dev/guides/assignment-stop-recovery.md), [Issue #205](https://github.com/BotHarness/BotHarness/issues/205), [Source](docs/research/2026-10-04-computer-image-spike-qualification.md), [Source](CONTEXT.md), [Source](docs/adr/0116-editable-avatar-appearance-is-independent-of-activity.md), [Issue #743](https://github.com/BotHarness/BotHarness/issues/743), [Issue #643](https://github.com/BotHarness/BotHarness/issues/643), [Source](docs/architecture/botharness-architecture.md), [Issue #78](https://github.com/BotHarness/BotHarness/issues/78), [Source](docs/research/2026-09-20-feishu-message-edit-recall-events.md), [Issue #572](https://github.com/BotHarness/BotHarness/issues/572), [Source](docs/adr/0099-human-all-bot-mention-expands-to-direct-mentions.md), [Issue #488](https://github.com/BotHarness/BotHarness/issues/488), [Issue #39](https://github.com/BotHarness/BotHarness/issues/39), [Source](docs/architecture/client-interaction-contracts.md), [Issue #452](https://github.com/BotHarness/BotHarness/issues/452), [Issue #459](https://github.com/BotHarness/BotHarness/issues/459), [Source](docs/adr/0091-bot-tabs-are-window-scoped-work-surfaces.md), [Source](docs/adr/0084-memory-continuity-is-agent-git-plus-portability.md), [Issue #398](https://github.com/BotHarness/BotHarness/issues/398), [Source](docs/adr/0082-computer-target-is-profile-scoped-local-by-default.md), [Source](docs/adr/0083-bot-screens-are-window-scoped-first-displays-experimental.md), [Source](docs/adr/0074-channel-attention-preference-belongs-to-the-personabot.md), [Issue #362](https://github.com/BotHarness/BotHarness/issues/362), [Source](docs/adr/0075-inbox-handling-classifies-by-source-not-platform.md), [Source](docs/adr/0076-a-personabot-manages-its-own-attention-policy.md), [Issue #358](https://github.com/BotHarness/BotHarness/issues/358), [Issue #278](https://github.com/BotHarness/BotHarness/issues/278), [Issue #196](https://github.com/BotHarness/BotHarness/issues/196), [Source](docs/adr/0053-channel-sidebar-is-the-scoped-right-sidebar.md), [Issue #100](https://github.com/BotHarness/BotHarness/issues/100), [PR #109](https://github.com/BotHarness/BotHarness/pull/109), [Issue #105](https://github.com/BotHarness/BotHarness/issues/105), [Source](docs/adr/0047-memory-is-an-optional-git-backed-service.md), [Issue #74](https://github.com/BotHarness/BotHarness/issues/74)

## DSH Skill

[Canonical Release Ledger](/zh/dsh/releases)

### In progress

在项目 Roadmap 中明确标记为 In Progress 的公开工作。

当前没有归属于这个 artifact 的公开进行中工作。

### Merged, awaiting release

这些变更已经合并，但尚未包含在最新的稳定 artifact 中。

- **Documentation:** 链接使用公共 DeepSeekBot 与 DSH 0.2.0 RC1 核验的下游 Channel sidebar 图文功能教程；平台词汇和 Skill 行为保持不变（#893, 教程）。 — 来源: [Issue #893](https://github.com/BotHarness/BotHarness/issues/893), [Source](../../../docs/channel-sidebar/index.md)
- **Documentation:** 链接经 DSH 0.2.0 RC1 验证的下游公共 npm 图文安装、模型配置及非 IM 设置教程；平台词汇与 Skill 运行行为保持不变（#887, 教程）。 — 来源: [Issue #887](https://github.com/BotHarness/BotHarness/issues/887), [Source](../../../docs/installation.md)
- **Documentation:** 引用下游 npm prerelease 操作指南，说明审阅过的预编译 Bundle 分发；平台词汇与 Skill 行为不变（#866）。 — 来源: [Source](../../../docs/npm-prerelease.md), [Issue #866](https://github.com/BotHarness/BotHarness/issues/866)
- **Documentation:** 在本地开发指南记录原生 Modal 与第三方引导浮层的键盘和焦点归属，通过独立安装的 DSH 0.2.0 RC1 打包 Client 和 Driver.js 1.4.0 验证（#824）。 — 来源: [Source](../dsh-dev/SKILL.md), [Issue #824](https://github.com/BotHarness/BotHarness/issues/824)
- **Documentation:** 在调试手册记录 DSH 优先从 CLI 安装位置解析 Bundle，以及 pnpm 12 产物覆盖配置的位置，已通过独立安装的官方 DSH 0.2.0 RC1 和真实打包 Client 组件列表验证（#823）。 — 来源: [Source](../dsh-dev/references/debugging-playbook.md), [Issue #823](https://github.com/BotHarness/BotHarness/issues/823)
- **Documentation:** 在本地开发指南记录隔离启动超时后遗留重复 Host 导致 operational writer 租约拒绝的情况；通过 DSH 0.2.0 RC1 的 Assignment 容量 QA 验证（#811）。 — 来源: [Source](../dsh-dev/SKILL.md), [Issue #811](https://github.com/BotHarness/BotHarness/issues/811)
- **Documentation:** 在本地开发指南记录原生 Tool 批准与实际 Shell 执行需要分别取证；保留真实 Orchestrator 工作区拒绝，并在 DSH 0.2.0 RC1 验证已授权 Assignment 执行 (#751). — 来源: [Source](../dsh-dev/SKILL.md), [Issue #751](https://github.com/BotHarness/BotHarness/issues/751)
- **Documentation:** 在调试手册记录外部回复连接与收件范围的区别，以固定 Provider 契约和独立绑定的回复身份检查（#637）。 — 来源: [Source](../dsh-dev/references/debugging-playbook.md), [Issue #637](https://github.com/BotHarness/BotHarness/issues/637)
- **Documentation:** 在本地开发指南记录 WebServer prefix 的斜杠匹配与原始 HTTP peer 边界，已核对固定 DSH 0.2.0 RC1 源码并通过真实扩展配对／观察流程验证（#741）。 — 来源: [Source](../dsh-dev/SKILL.md), [Issue #741](https://github.com/BotHarness/BotHarness/issues/741)
- **Documentation:** 在本地开发指南记录 native configForms scope 方法的 receiver 绑定要求，并在固定 DSH 0.2.0 RC1 原生设置和 Host 重启后的 Browser Target 持久化中验证（#726）。 — 来源: [Source](../dsh-dev/SKILL.md), [Issue #726](https://github.com/BotHarness/BotHarness/issues/726)
- **Documentation:** 在本地开发指南记录目录选择器的能力差异及原生选择回退，通过固定 DSH 0.2.0 RC1 的真实 Inbox Grant 流程验证（#552）。 — 来源: [Source](../dsh-dev/SKILL.md), [Issue #552](https://github.com/BotHarness/BotHarness/issues/552)
- **Documentation:** 在本地开发指南记录原生审批探针必须位于 open Turn 的要求，已核对固定 DSH 0.2.0 RC1 源码，并通过真实 Browser 审批及取消 Turn 验证（#460）。 — 来源: [Source](../dsh-dev/SKILL.md), [Issue #460](https://github.com/BotHarness/BotHarness/issues/460)
- **Documentation:** 在本地开发指南记录隔离 Provider 激活顺序、原生 Consumer 捕获 Policy 与真正的 Tool 执行边界，经固定 DSH 0.2.0 RC1 的原生文件与审批 Shell 调用验证（#632）。 — 来源: [Source](../dsh-dev/SKILL.md), [Issue #632](https://github.com/BotHarness/BotHarness/issues/632)
- **Documentation:** 在本地开发指南澄清原生 token 投影的汇总字段及失败调用的请求路由归属，通过 DSH 0.2.0 RC1 的真实 Assignment 与子代理调用完成核验（#503）。 — 来源: [Source](../dsh-dev/SKILL.md), [Issue #503](https://github.com/BotHarness/BotHarness/issues/503)
- **Documentation:** 记录隔离开发 Profile 重启时保留可选 Bundle 的行为（#117）。 — 来源: [Issue #117](https://github.com/BotHarness/BotHarness/issues/117)
- **Documentation:** 在本地开发指南记录 provider token 分项的可选性及 Assistant 实际来源路由，避免把缺失报告当作零或估算用量（#499）。 — 来源: [Source](../dsh-dev/SKILL.md), [Issue #499](https://github.com/BotHarness/BotHarness/issues/499)
- **Documentation:** 在本地开发指南记录应用预留的 Session ID 与已持久化 DSH Session 的区别，保证执行前拒绝在修复后可以重试（#500）。 — 来源: [Source](../dsh-dev/SKILL.md), [Issue #500](https://github.com/BotHarness/BotHarness/issues/500)
- **Documentation:** 为 DSH Skill 建立独立的双语 Release Ledger（#102）。 — 来源: [Issue #102](https://github.com/BotHarness/BotHarness/issues/102)

### Pre-release

已经 tag、可以安装的 alpha、beta 或 release candidate artifact。

当前没有记录已 tag 且可安装的预发布版本。

### Released

由该 artifact 的 canonical Release Ledger 记录的稳定版本。

- **0.3.4** — 2026-09-20; 将可安装 skill 聚焦于稳定的 DSH/Cordis 术语与架构决策。 — 来源: [Issue #26](https://github.com/BotHarness/BotHarness/issues/26)
  - 核验版本: dsh 0.1.6-alpha.2
