refactor(experimental): drop experimental from the card package names

The four packages keep their directories under packages/experimental and
are registered as experimental name exceptions:

- @deepseek-ai/dsh-action-cards
- @deepseek-ai/dsh-client-ui-action-cards
- @deepseek-ai/dsh-creation-recommendations
- @deepseek-ai/dsh-client-ui-creation-recommendations

Loader row ids, plugin record names, message source kinds, the Remote
service name and locale namespaces are unchanged. Generated catalogs are
regenerated, and the page card Web fixture records the renamed bundle in
the skill's plugin catalog.
This commit is contained in:
ZiyaZhang committed 2026-10-22 20:48:18 -07:00
1 parent 0d97af58b5
commit 57195d1934
63 files changed
+289 -281

No files matched your search

+1 -1
View File
@@ -108,7 +108,7 @@
"@deepseek-ai/dsh-experimental-tool-worktree": "workspace:*",
"@deepseek-ai/dsh-cua-bundle": "workspace:*",
"@deepseek-ai/dsh-experimental-plugin-market-bundle": "workspace:*",
"@deepseek-ai/dsh-experimental-creation-recommendations": "workspace:*"
"@deepseek-ai/dsh-creation-recommendations": "workspace:*"
},
"devDependencies": {
"@deepseek-ai/dsh-skill-badge": "workspace:*",
+1 -1
View File
@@ -863,7 +863,7 @@ describe('web e2e: plugin manager', () => {
['@deepseek-ai/dsh-experimental-voice-input-bundle', 1],
['@deepseek-ai/dsh-experimental-plugin-market-bundle', 1],
['@deepseek-ai/dsh-experimental-auto-review', 1],
['@deepseek-ai/dsh-experimental-creation-recommendations', 1],
['@deepseek-ai/dsh-creation-recommendations', 1],
['@deepseek-ai/dsh-experimental-inspector-profile', 1],
['@deepseek-ai/dsh-cua-bundle', 1],
['@deepseek-ai/dsh-experimental-tool-worktree', 1],
+2 -2
View File
@@ -6,5 +6,5 @@
en: 41d772192075e133
zh: 5ef3da69b4de1d8a
/capability-seams-and-core-services:
en: 02cd44eb5166d665
zh: de0ee0e2ccd07a2a
en: 4b788523038eedcc
zh: 13a97385e756a031
+7 -7
View File
@@ -7,10 +7,10 @@ A service can be a core spine service, a swappable capability seam, a bundle/com
```mermaid
flowchart LR
pkg_experimental_action_cards["experimental-action-cards"]
pkg_action_cards["action-cards"]
svc_actionCards["ctx.actionCards<br/>Optional action cards"]
pkg_experimental_creation_recommendations["experimental-creation-recommendations"]
pkg_experimental_client_ui_action_cards["experimental-client-ui-action-cards"]
pkg_creation_recommendations["creation-recommendations"]
pkg_client_ui_action_cards["client-ui-action-cards"]
pkg_headless["headless"]
svc_headlessStartup["ctx.headlessStartup<br/>Headless invocation options"]
pkg_experimental_client_ui_cot_translation["experimental-client-ui-cot-translation"]
@@ -302,6 +302,7 @@ flowchart LR
pkg_cordis_host_runner["cordis-host-runner"]
svc_dynamicCordisRunner["ctx.dynamicCordisRunner<br/>Dynamic Cordis package host runner"]
svc_cordisInspect["ctx.cordisInspect<br/>Dynamic Cordis inspect registry"]
pkg_action_cards --> svc_actionCards
pkg_agent --> svc_agents
pkg_agent_default_model --> svc_agentDefaultModel
pkg_agent_loop --> svc_agentLoop
@@ -345,7 +346,6 @@ flowchart LR
pkg_deepseek_account --> svc_deepseekAccount
pkg_deepseek_account_platform --> svc_deepseekAccount
pkg_deepseek_llm_api_extensions --> svc_deepseekLlmApiExtensions
pkg_experimental_action_cards --> svc_actionCards
pkg_experimental_agent_team --> svc_agentTeams
pkg_experimental_api_speech_to_text --> svc_speechController
pkg_experimental_browser_use_chrome_devtools_mcp --> svc_browserUse
@@ -462,8 +462,8 @@ flowchart LR
pkg_working_directory --> svc_workingDirectory
pkg_workspace --> svc_workspaceRegistry
pkg_workspace_changes --> svc_workspaceChanges
svc_actionCards --> pkg_experimental_client_ui_action_cards
svc_actionCards --> pkg_experimental_creation_recommendations
svc_actionCards --> pkg_client_ui_action_cards
svc_actionCards --> pkg_creation_recommendations
svc_agentDefaultModel --> pkg_api_session_controller
svc_agentDefaultModel --> pkg_headless
svc_agentLoop --> pkg_base
@@ -626,7 +626,7 @@ flowchart LR
| ctx key | Role | Owner | Implementations | Direct consumers | Companion plugins | Note |
| --- | --- | --- | --- | --- | --- | --- |
| `ctx.actionCards` | `service` | [`experimental-action-cards`](../packages/experimental/action-cards) | - | [`experimental-creation-recommendations`](../packages/experimental/creation-recommendations), [`experimental-client-ui-action-cards`](../packages/experimental/client-ui-action-cards) | - | Owns the card tool, card state, user actions and status notices; card kinds register their actions and handlers. |
| `ctx.actionCards` | `service` | [`action-cards`](../packages/experimental/action-cards) | - | [`creation-recommendations`](../packages/experimental/creation-recommendations), [`client-ui-action-cards`](../packages/experimental/client-ui-action-cards) | - | Owns the card tool, card state, user actions and status notices; card kinds register their actions and handlers. |
| `ctx.headlessStartup` | `core` | [`headless`](../packages/bundle/headless) | - | [`headless`](../packages/bundle/headless) | - | Supplies parsed task and run options to the headless runner and its sandbox-policy configuration. |
| `ctx.cotTranslation` | `service` | [`experimental-client-ui-cot-translation`](../packages/experimental/client-ui-cot-translation) | - | - | - | Serves reasoning translations, reuses saved results, and joins ordinary Session activation for uncached inactive Sessions. |
| `ctx.translator` | `service` | [`experimental-translator`](../packages/experimental/translator) | - | [`experimental-client-ui-cot-translation`](../packages/experimental/client-ui-cot-translation) | - | Resolves Google or Bing requests and retains shared experimental records through the active Session writer. |
+7 -7
View File
@@ -9,10 +9,10 @@
```mermaid
flowchart LR
pkg_experimental_action_cards["experimental-action-cards"]
pkg_action_cards["action-cards"]
svc_actionCards["ctx.actionCards<br/>Optional action cards"]
pkg_experimental_creation_recommendations["experimental-creation-recommendations"]
pkg_experimental_client_ui_action_cards["experimental-client-ui-action-cards"]
pkg_creation_recommendations["creation-recommendations"]
pkg_client_ui_action_cards["client-ui-action-cards"]
pkg_headless["headless"]
svc_headlessStartup["ctx.headlessStartup<br/>Headless invocation options"]
pkg_experimental_client_ui_cot_translation["experimental-client-ui-cot-translation"]
@@ -304,6 +304,7 @@ flowchart LR
pkg_cordis_host_runner["cordis-host-runner"]
svc_dynamicCordisRunner["ctx.dynamicCordisRunner<br/>Dynamic Cordis package host runner"]
svc_cordisInspect["ctx.cordisInspect<br/>Dynamic Cordis inspect registry"]
pkg_action_cards --> svc_actionCards
pkg_agent --> svc_agents
pkg_agent_default_model --> svc_agentDefaultModel
pkg_agent_loop --> svc_agentLoop
@@ -347,7 +348,6 @@ flowchart LR
pkg_deepseek_account --> svc_deepseekAccount
pkg_deepseek_account_platform --> svc_deepseekAccount
pkg_deepseek_llm_api_extensions --> svc_deepseekLlmApiExtensions
pkg_experimental_action_cards --> svc_actionCards
pkg_experimental_agent_team --> svc_agentTeams
pkg_experimental_api_speech_to_text --> svc_speechController
pkg_experimental_browser_use_chrome_devtools_mcp --> svc_browserUse
@@ -464,8 +464,8 @@ flowchart LR
pkg_working_directory --> svc_workingDirectory
pkg_workspace --> svc_workspaceRegistry
pkg_workspace_changes --> svc_workspaceChanges
svc_actionCards --> pkg_experimental_client_ui_action_cards
svc_actionCards --> pkg_experimental_creation_recommendations
svc_actionCards --> pkg_client_ui_action_cards
svc_actionCards --> pkg_creation_recommendations
svc_agentDefaultModel --> pkg_api_session_controller
svc_agentDefaultModel --> pkg_headless
svc_agentLoop --> pkg_base
@@ -628,7 +628,7 @@ flowchart LR
| ctx 键 | 角色 | 所属包 | 实现 | 直接消费方 | 配套插件 | 说明 |
| --- | --- | --- | --- | --- | --- | --- |
| `ctx.actionCards` | `service` | [`experimental-action-cards`](../packages/experimental/action-cards) | - | [`experimental-creation-recommendations`](../packages/experimental/creation-recommendations), [`experimental-client-ui-action-cards`](../packages/experimental/client-ui-action-cards) | - | 负责卡片工具、卡片状态、用户操作和状态通知;各卡片种类注册自己的动作和处理器。 |
| `ctx.actionCards` | `service` | [`action-cards`](../packages/experimental/action-cards) | - | [`creation-recommendations`](../packages/experimental/creation-recommendations), [`client-ui-action-cards`](../packages/experimental/client-ui-action-cards) | - | 负责卡片工具、卡片状态、用户操作和状态通知;各卡片种类注册自己的动作和处理器。 |
| `ctx.headlessStartup` | `core` | [`headless`](../packages/bundle/headless) | - | [`headless`](../packages/bundle/headless) | - | 将解析后的任务和运行选项提供给无界面运行器及其 sandbox-policy 配置。 |
| `ctx.cotTranslation` | `service` | [`experimental-client-ui-cot-translation`](../packages/experimental/client-ui-cot-translation) | - | - | - | 为展开的思考内容提供有界的 Session 翻译请求,不改变模型可见历史。 |
| `ctx.translator` | `service` | [`experimental-translator`](../packages/experimental/translator) | - | [`experimental-client-ui-cot-translation`](../packages/experimental/client-ui-cot-translation) | - | 解析 Google 或 Bing 请求,并可选保留统一的实验性 Session 记录。 |
+18 -18
View File
@@ -33,6 +33,21 @@ export interface AcpConfig {
```
<!-- END GENERATED config-catalog:@deepseek-ai/dsh-acp -->
<!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-action-cards -->
<a id="deepseek-aidsh-action-cards"></a>
## `@deepseek-ai/dsh-action-cards`
- `inject`: `tools` · `agents` · `sessionProjections` · `remoteAccess`
- `refs`: `z` (`zod`)
- `source`: [`packages/experimental/action-cards/src/index.ts:23`](../packages/experimental/action-cards/src/index.ts)
```ts config-catalog
/** Validated card limits after schema defaults. */
export type Config = z.infer<typeof Config>
```
<!-- END GENERATED config-catalog:@deepseek-ai/dsh-action-cards -->
<!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-agent-default-model -->
<a id="deepseek-aidsh-agent-default-model"></a>
@@ -843,21 +858,6 @@ export interface Config {
```
<!-- END GENERATED config-catalog:@deepseek-ai/dsh-deepseek-account-platform -->
<!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-experimental-action-cards -->
<a id="deepseek-aidsh-experimental-action-cards"></a>
## `@deepseek-ai/dsh-experimental-action-cards`
- `inject`: `tools` · `agents` · `sessionProjections` · `remoteAccess`
- `refs`: `z` (`zod`)
- `source`: [`packages/experimental/action-cards/src/index.ts:23`](../packages/experimental/action-cards/src/index.ts)
```ts config-catalog
/** Validated card limits after schema defaults. */
export type Config = z.infer<typeof Config>
```
<!-- END GENERATED config-catalog:@deepseek-ai/dsh-experimental-action-cards -->
<!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-experimental-agent-team -->
<a id="deepseek-aidsh-experimental-agent-team"></a>
@@ -4704,6 +4704,7 @@ These load from a `cordis.yml` entry with no `config:` block; they declare no co
| `@deepseek-ai/dsh-client-locale` | — | [`packages/client/locale/src/index.ts`](../packages/client/locale/src/index.ts) |
| `@deepseek-ai/dsh-client-modules` | `loader` | [`packages/client/modules/src/index.ts`](../packages/client/modules/src/index.ts) |
| `@deepseek-ai/dsh-client-resources` | — | [`packages/client/resources/src/index.ts`](../packages/client/resources/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-action-cards` | — | [`packages/experimental/client-ui-action-cards/src/index.ts`](../packages/experimental/client-ui-action-cards/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-agent-preset` | — | [`packages/client/ui-agent-preset/src/index.ts`](../packages/client/ui-agent-preset/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-approval` | — | [`packages/client/ui-approval/src/index.ts`](../packages/client/ui-approval/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-attachment` | — | [`packages/client/ui-attachment/src/index.ts`](../packages/client/ui-attachment/src/index.ts) |
@@ -4712,6 +4713,7 @@ These load from a `cordis.yml` entry with no `config:` block; they declare no co
| `@deepseek-ai/dsh-client-ui-commands` | — | [`packages/client/ui-commands/src/index.ts`](../packages/client/ui-commands/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-conversation` | — | [`packages/client/ui-conversation/src/index.ts`](../packages/client/ui-conversation/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-cordis` | — | [`packages/extensions/ui-cordis/src/index.ts`](../packages/extensions/ui-cordis/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-creation-recommendations` | — | [`packages/experimental/client-ui-creation-recommendations/src/index.ts`](../packages/experimental/client-ui-creation-recommendations/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-deepseek-model-label-1017` | — | [`packages/client/ui-deepseek-model-label-1017/src/index.ts`](../packages/client/ui-deepseek-model-label-1017/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-deliverables` | `connection` · `sessionQuery` · `sessionController` · `workspaceFiles` · `fs` · `sandboxPolicy` · `workspaceChanges` | [`packages/client/ui-deliverables/src/index.ts`](../packages/client/ui-deliverables/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-directory-picker-browse` | — | [`packages/client/ui-directory-picker-browse/src/index.ts`](../packages/client/ui-directory-picker-browse/src/index.ts) |
@@ -4763,17 +4765,15 @@ These load from a `cordis.yml` entry with no `config:` block; they declare no co
| `@deepseek-ai/dsh-computer-use` | — | [`packages/computer-use/computer-use/src/index.ts`](../packages/computer-use/computer-use/src/index.ts) |
| `@deepseek-ai/dsh-config-editor` | `loader` · `profileContext` | [`packages/boot/config-editor/src/index.ts`](../packages/boot/config-editor/src/index.ts) |
| `@deepseek-ai/dsh-cordis-client-runner` | — | [`packages/extensions/cordis-client-runner/src/index.ts`](../packages/extensions/cordis-client-runner/src/index.ts) |
| `@deepseek-ai/dsh-creation-recommendations` | `tools` · `pluginManager` · `agents` · `subagents` · `profileContext` · `skills` · `actionCards` | [`packages/experimental/creation-recommendations/src/index.ts`](../packages/experimental/creation-recommendations/src/index.ts) |
| `@deepseek-ai/dsh-cua` | — | [`packages/experimental/cua/src/index.ts`](../packages/experimental/cua/src/index.ts) |
| `@deepseek-ai/dsh-deepseek-llm-api-extensions` | — | [`packages/llm/deepseek-llm-api-extensions/src/index.ts`](../packages/llm/deepseek-llm-api-extensions/src/index.ts) |
| `@deepseek-ai/dsh-deliverable-file-references` | `systemPrompt` | [`packages/deliverables/deliverable-file-references/src/index.ts`](../packages/deliverables/deliverable-file-references/src/index.ts) |
| `@deepseek-ai/dsh-experimental-auto-review` | `approval` · `llm` · `permissionPresets` · `sessions` · `tools` · `workingDirectory` | [`packages/experimental/auto-review/src/index.ts`](../packages/experimental/auto-review/src/index.ts) |
| `@deepseek-ai/dsh-experimental-client-ui-action-cards` | — | [`packages/experimental/client-ui-action-cards/src/index.ts`](../packages/experimental/client-ui-action-cards/src/index.ts) |
| `@deepseek-ai/dsh-experimental-client-ui-agent-team` | — | [`packages/experimental/client-ui-agent-team/src/index.ts`](../packages/experimental/client-ui-agent-team/src/index.ts) |
| `@deepseek-ai/dsh-experimental-client-ui-claude-code-mods` | — | [`packages/experimental/client-ui-claude-code-mods/src/index.ts`](../packages/experimental/client-ui-claude-code-mods/src/index.ts) |
| `@deepseek-ai/dsh-experimental-client-ui-creation-recommendations` | — | [`packages/experimental/client-ui-creation-recommendations/src/index.ts`](../packages/experimental/client-ui-creation-recommendations/src/index.ts) |
| `@deepseek-ai/dsh-experimental-client-ui-voice-input` | — | [`packages/experimental/client-ui-voice-input/src/index.ts`](../packages/experimental/client-ui-voice-input/src/index.ts) |
| `@deepseek-ai/dsh-experimental-computer-use-cua-driver-native` | `computerUse` · `tools` · `systemPrompt` | [`packages/experimental/computer-use-cua-driver-native/src/index.ts`](../packages/experimental/computer-use-cua-driver-native/src/index.ts) |
| `@deepseek-ai/dsh-experimental-creation-recommendations` | `tools` · `pluginManager` · `agents` · `subagents` · `profileContext` · `skills` · `actionCards` | [`packages/experimental/creation-recommendations/src/index.ts`](../packages/experimental/creation-recommendations/src/index.ts) |
| `@deepseek-ai/dsh-experimental-session-inspector` | — | [`packages/experimental/session-inspector/src/index.ts`](../packages/experimental/session-inspector/src/index.ts) |
| `@deepseek-ai/dsh-experimental-tool-worktree` | `tools` · `worktrees` | [`packages/experimental/tool-worktree/src/index.ts`](../packages/experimental/tool-worktree/src/index.ts) |
| `@deepseek-ai/dsh-fs-observation-policy` | — | [`packages/fs/fs-observation-policy/src/index.ts`](../packages/fs/fs-observation-policy/src/index.ts) |
+18 -18
View File
@@ -35,6 +35,21 @@ export interface AcpConfig {
```
<!-- END GENERATED config-catalog:@deepseek-ai/dsh-acp -->
<!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-action-cards -->
<a id="deepseek-aidsh-action-cards"></a>
## `@deepseek-ai/dsh-action-cards`
- `inject`: `tools` · `agents` · `sessionProjections` · `remoteAccess`
- `refs`: `z` (`zod`)
- `source`: [`packages/experimental/action-cards/src/index.ts:23`](../packages/experimental/action-cards/src/index.ts)
```ts config-catalog
/** Validated card limits after schema defaults. */
export type Config = z.infer<typeof Config>
```
<!-- END GENERATED config-catalog:@deepseek-ai/dsh-action-cards -->
<!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-agent-default-model -->
<a id="deepseek-aidsh-agent-default-model"></a>
@@ -845,21 +860,6 @@ export interface Config {
```
<!-- END GENERATED config-catalog:@deepseek-ai/dsh-deepseek-account-platform -->
<!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-experimental-action-cards -->
<a id="deepseek-aidsh-experimental-action-cards"></a>
## `@deepseek-ai/dsh-experimental-action-cards`
- `inject`: `tools` · `agents` · `sessionProjections` · `remoteAccess`
- `refs`: `z` (`zod`)
- `source`: [`packages/experimental/action-cards/src/index.ts:23`](../packages/experimental/action-cards/src/index.ts)
```ts config-catalog
/** Validated card limits after schema defaults. */
export type Config = z.infer<typeof Config>
```
<!-- END GENERATED config-catalog:@deepseek-ai/dsh-experimental-action-cards -->
<!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-experimental-agent-team -->
<a id="deepseek-aidsh-experimental-agent-team"></a>
@@ -4706,6 +4706,7 @@ export interface Config {
| `@deepseek-ai/dsh-client-locale` | — | [`packages/client/locale/src/index.ts`](../packages/client/locale/src/index.ts) |
| `@deepseek-ai/dsh-client-modules` | `loader` | [`packages/client/modules/src/index.ts`](../packages/client/modules/src/index.ts) |
| `@deepseek-ai/dsh-client-resources` | — | [`packages/client/resources/src/index.ts`](../packages/client/resources/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-action-cards` | — | [`packages/experimental/client-ui-action-cards/src/index.ts`](../packages/experimental/client-ui-action-cards/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-agent-preset` | — | [`packages/client/ui-agent-preset/src/index.ts`](../packages/client/ui-agent-preset/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-approval` | — | [`packages/client/ui-approval/src/index.ts`](../packages/client/ui-approval/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-attachment` | — | [`packages/client/ui-attachment/src/index.ts`](../packages/client/ui-attachment/src/index.ts) |
@@ -4714,6 +4715,7 @@ export interface Config {
| `@deepseek-ai/dsh-client-ui-commands` | — | [`packages/client/ui-commands/src/index.ts`](../packages/client/ui-commands/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-conversation` | — | [`packages/client/ui-conversation/src/index.ts`](../packages/client/ui-conversation/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-cordis` | — | [`packages/extensions/ui-cordis/src/index.ts`](../packages/extensions/ui-cordis/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-creation-recommendations` | — | [`packages/experimental/client-ui-creation-recommendations/src/index.ts`](../packages/experimental/client-ui-creation-recommendations/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-deepseek-model-label-1017` | — | [`packages/client/ui-deepseek-model-label-1017/src/index.ts`](../packages/client/ui-deepseek-model-label-1017/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-deliverables` | `connection` · `sessionQuery` · `sessionController` · `workspaceFiles` · `fs` · `sandboxPolicy` · `workspaceChanges` | [`packages/client/ui-deliverables/src/index.ts`](../packages/client/ui-deliverables/src/index.ts) |
| `@deepseek-ai/dsh-client-ui-directory-picker-browse` | — | [`packages/client/ui-directory-picker-browse/src/index.ts`](../packages/client/ui-directory-picker-browse/src/index.ts) |
@@ -4765,17 +4767,15 @@ export interface Config {
| `@deepseek-ai/dsh-computer-use` | — | [`packages/computer-use/computer-use/src/index.ts`](../packages/computer-use/computer-use/src/index.ts) |
| `@deepseek-ai/dsh-config-editor` | `loader` · `profileContext` | [`packages/boot/config-editor/src/index.ts`](../packages/boot/config-editor/src/index.ts) |
| `@deepseek-ai/dsh-cordis-client-runner` | — | [`packages/extensions/cordis-client-runner/src/index.ts`](../packages/extensions/cordis-client-runner/src/index.ts) |
| `@deepseek-ai/dsh-creation-recommendations` | `tools` · `pluginManager` · `agents` · `subagents` · `profileContext` · `skills` · `actionCards` | [`packages/experimental/creation-recommendations/src/index.ts`](../packages/experimental/creation-recommendations/src/index.ts) |
| `@deepseek-ai/dsh-cua` | — | [`packages/experimental/cua/src/index.ts`](../packages/experimental/cua/src/index.ts) |
| `@deepseek-ai/dsh-deepseek-llm-api-extensions` | — | [`packages/llm/deepseek-llm-api-extensions/src/index.ts`](../packages/llm/deepseek-llm-api-extensions/src/index.ts) |
| `@deepseek-ai/dsh-deliverable-file-references` | `systemPrompt` | [`packages/deliverables/deliverable-file-references/src/index.ts`](../packages/deliverables/deliverable-file-references/src/index.ts) |
| `@deepseek-ai/dsh-experimental-auto-review` | `approval` · `llm` · `permissionPresets` · `sessions` · `tools` · `workingDirectory` | [`packages/experimental/auto-review/src/index.ts`](../packages/experimental/auto-review/src/index.ts) |
| `@deepseek-ai/dsh-experimental-client-ui-action-cards` | — | [`packages/experimental/client-ui-action-cards/src/index.ts`](../packages/experimental/client-ui-action-cards/src/index.ts) |
| `@deepseek-ai/dsh-experimental-client-ui-agent-team` | — | [`packages/experimental/client-ui-agent-team/src/index.ts`](../packages/experimental/client-ui-agent-team/src/index.ts) |
| `@deepseek-ai/dsh-experimental-client-ui-claude-code-mods` | — | [`packages/experimental/client-ui-claude-code-mods/src/index.ts`](../packages/experimental/client-ui-claude-code-mods/src/index.ts) |
| `@deepseek-ai/dsh-experimental-client-ui-creation-recommendations` | — | [`packages/experimental/client-ui-creation-recommendations/src/index.ts`](../packages/experimental/client-ui-creation-recommendations/src/index.ts) |
| `@deepseek-ai/dsh-experimental-client-ui-voice-input` | — | [`packages/experimental/client-ui-voice-input/src/index.ts`](../packages/experimental/client-ui-voice-input/src/index.ts) |
| `@deepseek-ai/dsh-experimental-computer-use-cua-driver-native` | `computerUse` · `tools` · `systemPrompt` | [`packages/experimental/computer-use-cua-driver-native/src/index.ts`](../packages/experimental/computer-use-cua-driver-native/src/index.ts) |
| `@deepseek-ai/dsh-experimental-creation-recommendations` | `tools` · `pluginManager` · `agents` · `subagents` · `profileContext` · `skills` · `actionCards` | [`packages/experimental/creation-recommendations/src/index.ts`](../packages/experimental/creation-recommendations/src/index.ts) |
| `@deepseek-ai/dsh-experimental-session-inspector` | — | [`packages/experimental/session-inspector/src/index.ts`](../packages/experimental/session-inspector/src/index.ts) |
| `@deepseek-ai/dsh-experimental-tool-worktree` | `tools` · `worktrees` | [`packages/experimental/tool-worktree/src/index.ts`](../packages/experimental/tool-worktree/src/index.ts) |
| `@deepseek-ai/dsh-fs-observation-policy` | — | [`packages/fs/fs-observation-policy/src/index.ts`](../packages/fs/fs-observation-policy/src/index.ts) |
+4 -4
View File
@@ -11,13 +11,13 @@ This matrix shows which packages dispatch each harness-owned event and which pac
| `agent-loop/config-start-failed` | `emit` | [`packages/core/agent-loop/src/index.ts:199`](../packages/core/agent-loop/src/index.ts) | [`agent-loop`](../packages/core/agent-loop) (`events.dispatch`) | - |
| `agent-preset/selected` | `emit` | [`packages/preset/agent-preset-registry/src/types.ts:66`](../packages/preset/agent-preset-registry/src/types.ts) | [`agent-preset-registry`](../packages/preset/agent-preset-registry) (`emit`) | [`cua`](../packages/experimental/cua), `remotes` |
| `agent/assistant-stream` | `emit` | [`packages/core/agent/src/runtime-types.ts:399`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`emit`) | [`headless`](../packages/bundle/headless), `session-controller` |
| `agent/created` | `serial` | [`packages/core/agent/src/runtime-types.ts:290`](../packages/core/agent/src/runtime-types.ts) | [`agent`](../packages/core/agent) (`serial`) | `agent-team`, `browser-use-runtime`, `claude-code-mods`, `creation-recommendations`, [`cua`](../packages/experimental/cua), [`file-reference-local`](../packages/context/file-reference-local), [`goal`](../packages/goal/goal), [`goal-round-driver`](../packages/goal/goal-round-driver), [`hooks-claude-code`](../packages/experimental/hooks-claude-code), [`hooks-codex`](../packages/experimental/hooks-codex), [`loader-smoke`](../packages/test-support/loader-smoke), [`permission-presets`](../packages/interaction/permission-presets), `session-controller`, `tool-agent-team`, [`tool-subagent`](../packages/subagent/tool-subagent) |
| `agent/disposed` | `emit` | [`packages/core/agent/src/runtime-types.ts:299`](../packages/core/agent/src/runtime-types.ts) | [`agent`](../packages/core/agent) (`events.dispatch`) | `action-cards`, [`agent-loop`](../packages/core/agent-loop), `claude-code-mods`, `creation-recommendations`, [`file-reference-local`](../packages/context/file-reference-local), [`goal-round-driver`](../packages/goal/goal-round-driver), `session-controller`, [`subagent`](../packages/subagent/subagent), `tool-agent-team`, [`tool-subagent`](../packages/subagent/tool-subagent) |
| `agent/created` | `serial` | [`packages/core/agent/src/runtime-types.ts:290`](../packages/core/agent/src/runtime-types.ts) | [`agent`](../packages/core/agent) (`serial`) | `agent-team`, `browser-use-runtime`, `claude-code-mods`, [`creation-recommendations`](../packages/experimental/creation-recommendations), [`cua`](../packages/experimental/cua), [`file-reference-local`](../packages/context/file-reference-local), [`goal`](../packages/goal/goal), [`goal-round-driver`](../packages/goal/goal-round-driver), [`hooks-claude-code`](../packages/experimental/hooks-claude-code), [`hooks-codex`](../packages/experimental/hooks-codex), [`loader-smoke`](../packages/test-support/loader-smoke), [`permission-presets`](../packages/interaction/permission-presets), `session-controller`, `tool-agent-team`, [`tool-subagent`](../packages/subagent/tool-subagent) |
| `agent/disposed` | `emit` | [`packages/core/agent/src/runtime-types.ts:299`](../packages/core/agent/src/runtime-types.ts) | [`agent`](../packages/core/agent) (`events.dispatch`) | [`action-cards`](../packages/experimental/action-cards), [`agent-loop`](../packages/core/agent-loop), `claude-code-mods`, [`creation-recommendations`](../packages/experimental/creation-recommendations), [`file-reference-local`](../packages/context/file-reference-local), [`goal-round-driver`](../packages/goal/goal-round-driver), `session-controller`, [`subagent`](../packages/subagent/subagent), `tool-agent-team`, [`tool-subagent`](../packages/subagent/tool-subagent) |
| `agent/error` | `emit` | [`packages/core/agent/src/runtime-types.ts:429`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`emit`) | [`acp`](../packages/acp/acp), [`deepseek-account`](../packages/credentials/deepseek-account), [`goal-round-driver`](../packages/goal/goal-round-driver), [`headless`](../packages/bundle/headless), `server`, `session-controller`, [`session-telemetry`](../packages/session/session-telemetry), [`subagent`](../packages/subagent/subagent) |
| `agent/inbox/claimed` | `emit` | [`packages/core/agent/src/runtime-types.ts:328`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`emit`) | [`acp`](../packages/acp/acp), [`goal-round-driver`](../packages/goal/goal-round-driver), [`subagent`](../packages/subagent/subagent), [`tool-jobs`](../packages/jobs/tool-jobs), [`user-questions`](../packages/interaction/user-questions) |
| `agent/inbox/discarded` | `emit` | [`packages/core/agent/src/runtime-types.ts:336`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`emit`) | [`goal-round-driver`](../packages/goal/goal-round-driver), [`subagent`](../packages/subagent/subagent), [`user-questions`](../packages/interaction/user-questions) |
| `agent/inbox/inserted` | `emit` | [`packages/core/agent/src/runtime-types.ts:317`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`emit`) | [`goal-round-driver`](../packages/goal/goal-round-driver), [`subagent`](../packages/subagent/subagent), [`tool-jobs`](../packages/jobs/tool-jobs) |
| `agent/pre-step` | `waterfall` | [`packages/core/agent/src/runtime-types.ts:350`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`waterfall`) | `action-cards`, [`agent`](../packages/core/agent), [`agent-instructions`](../packages/context/agent-instructions), `claude-code-mods`, [`compaction-basic`](../packages/compaction/compaction-basic), [`goal-round-driver`](../packages/goal/goal-round-driver), [`hooks-claude-code`](../packages/experimental/hooks-claude-code), [`hooks-codex`](../packages/experimental/hooks-codex), [`plan-mode`](../packages/plan/plan-mode), [`repeat-tool-reminder`](../packages/guard/repeat-tool-reminder), [`session-checkpoint-policy`](../packages/session/session-checkpoint-policy), `session-controller`, [`session-reference`](../packages/context/session-reference), [`time-context`](../packages/context/time-context), [`tmux-context`](../packages/context/tmux-context), [`tool-skill`](../packages/skill/tool-skill) |
| `agent/pre-step` | `waterfall` | [`packages/core/agent/src/runtime-types.ts:350`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`waterfall`) | [`action-cards`](../packages/experimental/action-cards), [`agent`](../packages/core/agent), [`agent-instructions`](../packages/context/agent-instructions), `claude-code-mods`, [`compaction-basic`](../packages/compaction/compaction-basic), [`goal-round-driver`](../packages/goal/goal-round-driver), [`hooks-claude-code`](../packages/experimental/hooks-claude-code), [`hooks-codex`](../packages/experimental/hooks-codex), [`plan-mode`](../packages/plan/plan-mode), [`repeat-tool-reminder`](../packages/guard/repeat-tool-reminder), [`session-checkpoint-policy`](../packages/session/session-checkpoint-policy), `session-controller`, [`session-reference`](../packages/context/session-reference), [`time-context`](../packages/context/time-context), [`tmux-context`](../packages/context/tmux-context), [`tool-skill`](../packages/skill/tool-skill) |
| `agent/request-error` | `waterfall` | [`packages/core/agent/src/runtime-types.ts:389`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`waterfall`) | [`compaction-basic`](../packages/compaction/compaction-basic), [`compaction-image-offload`](../packages/compaction/compaction-image-offload), [`llm-retry`](../packages/llm/llm-retry) |
| `agent/status` | `emit` | [`packages/core/agent/src/runtime-types.ts:309`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`emit`) | [`acp`](../packages/acp/acp), `agent-team`, [`compaction-basic`](../packages/compaction/compaction-basic), [`goal-round-driver`](../packages/goal/goal-round-driver), `server`, `session-controller` |
| `agent/turn-stopping` | `serial` | [`packages/core/agent/src/runtime-types.ts:417`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`serial`) | [`hooks-claude-code`](../packages/experimental/hooks-claude-code), [`hooks-codex`](../packages/experimental/hooks-codex), [`workspace-changes`](../packages/deliverables/workspace-changes) |
@@ -80,7 +80,7 @@ This matrix shows which packages dispatch each harness-owned event and which pac
| `tools/post-execute` | `waterfall` | [`packages/core/tools/src/events.ts:41`](../packages/core/tools/src/events.ts) | [`tools`](../packages/core/tools) (`waterfall`) | `claude-code-mods`, [`hooks-claude-code`](../packages/experimental/hooks-claude-code), [`hooks-codex`](../packages/experimental/hooks-codex), [`repeat-tool-reminder`](../packages/guard/repeat-tool-reminder), [`spill-policy`](../packages/spill/spill-policy), [`tool-fs-search`](../packages/fs/tool-fs-search) |
| `tools/pre-execute` | `waterfall` | [`packages/core/tools/src/events.ts:18`](../packages/core/tools/src/events.ts) | [`tools`](../packages/core/tools) (`waterfall`) | `auto-review`, [`hooks-claude-code`](../packages/experimental/hooks-claude-code), [`hooks-codex`](../packages/experimental/hooks-codex), [`tool-jobs`](../packages/jobs/tool-jobs), [`workspace-changes`](../packages/deliverables/workspace-changes) |
| `tools/ptc-dispatch-log` | `waterfall` | [`packages/core/tool-executor-ptc/src/runtime-types.ts:46`](../packages/core/tool-executor-ptc/src/runtime-types.ts) | [`tool-executor-ptc`](../packages/core/tool-executor-ptc) (`waterfall`) | [`spill-policy`](../packages/spill/spill-policy) |
| `tools/result` | `emit` | [`packages/core/tools/src/events.ts:49`](../packages/core/tools/src/events.ts) | [`tools`](../packages/core/tools) (`events.dispatch`) | `action-cards`, [`agent-instructions`](../packages/context/agent-instructions), `claude-code-mods`, [`subagent`](../packages/subagent/subagent), [`tool-present`](../packages/deliverables/tool-present) |
| `tools/result` | `emit` | [`packages/core/tools/src/events.ts:49`](../packages/core/tools/src/events.ts) | [`tools`](../packages/core/tools) (`events.dispatch`) | [`action-cards`](../packages/experimental/action-cards), [`agent-instructions`](../packages/context/agent-instructions), `claude-code-mods`, [`subagent`](../packages/subagent/subagent), [`tool-present`](../packages/deliverables/tool-present) |
| `user-questions/request` | `waterfall` | [`packages/interaction/user-questions/src/types.ts:174`](../packages/interaction/user-questions/src/types.ts) | [`user-questions`](../packages/interaction/user-questions) (`waterfall`) | `remotes`, `server` |
| `webserver/index-inject` | `emit` | [`packages/host/webserver/src/index.ts:44`](../packages/host/webserver/src/index.ts) | `webserver` (`emit`) | `connection`, `inspector`, `modules`, `remote-access`, `shortcuts`, `ui-sidebar-documentpreview`, `ui-theme` |
| `workflow/agent-end` | `emit` | [`packages/workflow/workflow/src/index.ts:79`](../packages/workflow/workflow/src/index.ts) | [`workflow`](../packages/workflow/workflow) (`events.dispatch`) | [`tool-workflow`](../packages/workflow/tool-workflow) |
+4 -4
View File
@@ -13,13 +13,13 @@
| `agent-loop/config-start-failed` | `emit` | [`packages/core/agent-loop/src/index.ts:199`](../packages/core/agent-loop/src/index.ts) | [`agent-loop`](../packages/core/agent-loop) (`events.dispatch`) | - |
| `agent-preset/selected` | `emit` | [`packages/preset/agent-preset-registry/src/types.ts:66`](../packages/preset/agent-preset-registry/src/types.ts) | [`agent-preset-registry`](../packages/preset/agent-preset-registry) (`emit`) | [`cua`](../packages/experimental/cua), `remotes` |
| `agent/assistant-stream` | `emit` | [`packages/core/agent/src/runtime-types.ts:399`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`emit`) | [`headless`](../packages/bundle/headless), `session-controller` |
| `agent/created` | `serial` | [`packages/core/agent/src/runtime-types.ts:290`](../packages/core/agent/src/runtime-types.ts) | [`agent`](../packages/core/agent) (`serial`) | `agent-team`, `browser-use-runtime`, `claude-code-mods`, `creation-recommendations`, [`cua`](../packages/experimental/cua), [`file-reference-local`](../packages/context/file-reference-local), [`goal`](../packages/goal/goal), [`goal-round-driver`](../packages/goal/goal-round-driver), [`hooks-claude-code`](../packages/experimental/hooks-claude-code), [`hooks-codex`](../packages/experimental/hooks-codex), [`loader-smoke`](../packages/test-support/loader-smoke), [`permission-presets`](../packages/interaction/permission-presets), `session-controller`, `tool-agent-team`, [`tool-subagent`](../packages/subagent/tool-subagent) |
| `agent/disposed` | `emit` | [`packages/core/agent/src/runtime-types.ts:299`](../packages/core/agent/src/runtime-types.ts) | [`agent`](../packages/core/agent) (`events.dispatch`) | `action-cards`, [`agent-loop`](../packages/core/agent-loop), `claude-code-mods`, `creation-recommendations`, [`file-reference-local`](../packages/context/file-reference-local), [`goal-round-driver`](../packages/goal/goal-round-driver), `session-controller`, [`subagent`](../packages/subagent/subagent), `tool-agent-team`, [`tool-subagent`](../packages/subagent/tool-subagent) |
| `agent/created` | `serial` | [`packages/core/agent/src/runtime-types.ts:290`](../packages/core/agent/src/runtime-types.ts) | [`agent`](../packages/core/agent) (`serial`) | `agent-team`, `browser-use-runtime`, `claude-code-mods`, [`creation-recommendations`](../packages/experimental/creation-recommendations), [`cua`](../packages/experimental/cua), [`file-reference-local`](../packages/context/file-reference-local), [`goal`](../packages/goal/goal), [`goal-round-driver`](../packages/goal/goal-round-driver), [`hooks-claude-code`](../packages/experimental/hooks-claude-code), [`hooks-codex`](../packages/experimental/hooks-codex), [`loader-smoke`](../packages/test-support/loader-smoke), [`permission-presets`](../packages/interaction/permission-presets), `session-controller`, `tool-agent-team`, [`tool-subagent`](../packages/subagent/tool-subagent) |
| `agent/disposed` | `emit` | [`packages/core/agent/src/runtime-types.ts:299`](../packages/core/agent/src/runtime-types.ts) | [`agent`](../packages/core/agent) (`events.dispatch`) | [`action-cards`](../packages/experimental/action-cards), [`agent-loop`](../packages/core/agent-loop), `claude-code-mods`, [`creation-recommendations`](../packages/experimental/creation-recommendations), [`file-reference-local`](../packages/context/file-reference-local), [`goal-round-driver`](../packages/goal/goal-round-driver), `session-controller`, [`subagent`](../packages/subagent/subagent), `tool-agent-team`, [`tool-subagent`](../packages/subagent/tool-subagent) |
| `agent/error` | `emit` | [`packages/core/agent/src/runtime-types.ts:429`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`emit`) | [`acp`](../packages/acp/acp), [`deepseek-account`](../packages/credentials/deepseek-account), [`goal-round-driver`](../packages/goal/goal-round-driver), [`headless`](../packages/bundle/headless), `server`, `session-controller`, [`session-telemetry`](../packages/session/session-telemetry), [`subagent`](../packages/subagent/subagent) |
| `agent/inbox/claimed` | `emit` | [`packages/core/agent/src/runtime-types.ts:328`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`emit`) | [`acp`](../packages/acp/acp), [`goal-round-driver`](../packages/goal/goal-round-driver), [`subagent`](../packages/subagent/subagent), [`tool-jobs`](../packages/jobs/tool-jobs), [`user-questions`](../packages/interaction/user-questions) |
| `agent/inbox/discarded` | `emit` | [`packages/core/agent/src/runtime-types.ts:336`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`emit`) | [`goal-round-driver`](../packages/goal/goal-round-driver), [`subagent`](../packages/subagent/subagent), [`user-questions`](../packages/interaction/user-questions) |
| `agent/inbox/inserted` | `emit` | [`packages/core/agent/src/runtime-types.ts:317`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`emit`) | [`goal-round-driver`](../packages/goal/goal-round-driver), [`subagent`](../packages/subagent/subagent), [`tool-jobs`](../packages/jobs/tool-jobs) |
| `agent/pre-step` | `waterfall` | [`packages/core/agent/src/runtime-types.ts:350`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`waterfall`) | `action-cards`, [`agent`](../packages/core/agent), [`agent-instructions`](../packages/context/agent-instructions), `claude-code-mods`, [`compaction-basic`](../packages/compaction/compaction-basic), [`goal-round-driver`](../packages/goal/goal-round-driver), [`hooks-claude-code`](../packages/experimental/hooks-claude-code), [`hooks-codex`](../packages/experimental/hooks-codex), [`plan-mode`](../packages/plan/plan-mode), [`repeat-tool-reminder`](../packages/guard/repeat-tool-reminder), [`session-checkpoint-policy`](../packages/session/session-checkpoint-policy), `session-controller`, [`session-reference`](../packages/context/session-reference), [`time-context`](../packages/context/time-context), [`tmux-context`](../packages/context/tmux-context), [`tool-skill`](../packages/skill/tool-skill) |
| `agent/pre-step` | `waterfall` | [`packages/core/agent/src/runtime-types.ts:350`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`waterfall`) | [`action-cards`](../packages/experimental/action-cards), [`agent`](../packages/core/agent), [`agent-instructions`](../packages/context/agent-instructions), `claude-code-mods`, [`compaction-basic`](../packages/compaction/compaction-basic), [`goal-round-driver`](../packages/goal/goal-round-driver), [`hooks-claude-code`](../packages/experimental/hooks-claude-code), [`hooks-codex`](../packages/experimental/hooks-codex), [`plan-mode`](../packages/plan/plan-mode), [`repeat-tool-reminder`](../packages/guard/repeat-tool-reminder), [`session-checkpoint-policy`](../packages/session/session-checkpoint-policy), `session-controller`, [`session-reference`](../packages/context/session-reference), [`time-context`](../packages/context/time-context), [`tmux-context`](../packages/context/tmux-context), [`tool-skill`](../packages/skill/tool-skill) |
| `agent/request-error` | `waterfall` | [`packages/core/agent/src/runtime-types.ts:389`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`waterfall`) | [`compaction-basic`](../packages/compaction/compaction-basic), [`compaction-image-offload`](../packages/compaction/compaction-image-offload), [`llm-retry`](../packages/llm/llm-retry) |
| `agent/status` | `emit` | [`packages/core/agent/src/runtime-types.ts:309`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`emit`) | [`acp`](../packages/acp/acp), `agent-team`, [`compaction-basic`](../packages/compaction/compaction-basic), [`goal-round-driver`](../packages/goal/goal-round-driver), `server`, `session-controller` |
| `agent/turn-stopping` | `serial` | [`packages/core/agent/src/runtime-types.ts:417`](../packages/core/agent/src/runtime-types.ts) | [`agent-loop`](../packages/core/agent-loop) (`serial`) | [`hooks-claude-code`](../packages/experimental/hooks-claude-code), [`hooks-codex`](../packages/experimental/hooks-codex), [`workspace-changes`](../packages/deliverables/workspace-changes) |
@@ -82,7 +82,7 @@
| `tools/post-execute` | `waterfall` | [`packages/core/tools/src/events.ts:41`](../packages/core/tools/src/events.ts) | [`tools`](../packages/core/tools) (`waterfall`) | `claude-code-mods`, [`hooks-claude-code`](../packages/experimental/hooks-claude-code), [`hooks-codex`](../packages/experimental/hooks-codex), [`repeat-tool-reminder`](../packages/guard/repeat-tool-reminder), [`spill-policy`](../packages/spill/spill-policy), [`tool-fs-search`](../packages/fs/tool-fs-search) |
| `tools/pre-execute` | `waterfall` | [`packages/core/tools/src/events.ts:18`](../packages/core/tools/src/events.ts) | [`tools`](../packages/core/tools) (`waterfall`) | `auto-review`, [`hooks-claude-code`](../packages/experimental/hooks-claude-code), [`hooks-codex`](../packages/experimental/hooks-codex), [`tool-jobs`](../packages/jobs/tool-jobs), [`workspace-changes`](../packages/deliverables/workspace-changes) |
| `tools/ptc-dispatch-log` | `waterfall` | [`packages/core/tool-executor-ptc/src/runtime-types.ts:46`](../packages/core/tool-executor-ptc/src/runtime-types.ts) | [`tool-executor-ptc`](../packages/core/tool-executor-ptc) (`waterfall`) | [`spill-policy`](../packages/spill/spill-policy) |
| `tools/result` | `emit` | [`packages/core/tools/src/events.ts:49`](../packages/core/tools/src/events.ts) | [`tools`](../packages/core/tools) (`events.dispatch`) | `action-cards`, [`agent-instructions`](../packages/context/agent-instructions), `claude-code-mods`, [`subagent`](../packages/subagent/subagent), [`tool-present`](../packages/deliverables/tool-present) |
| `tools/result` | `emit` | [`packages/core/tools/src/events.ts:49`](../packages/core/tools/src/events.ts) | [`tools`](../packages/core/tools) (`events.dispatch`) | [`action-cards`](../packages/experimental/action-cards), [`agent-instructions`](../packages/context/agent-instructions), `claude-code-mods`, [`subagent`](../packages/subagent/subagent), [`tool-present`](../packages/deliverables/tool-present) |
| `user-questions/request` | `waterfall` | [`packages/interaction/user-questions/src/types.ts:174`](../packages/interaction/user-questions/src/types.ts) | [`user-questions`](../packages/interaction/user-questions) (`waterfall`) | `remotes`, `server` |
| `webserver/index-inject` | `emit` | [`packages/host/webserver/src/index.ts:44`](../packages/host/webserver/src/index.ts) | `webserver` (`emit`) | `connection`, `inspector`, `modules`, `remote-access`, `shortcuts`, `ui-sidebar-documentpreview`, `ui-theme` |
| `workflow/agent-end` | `emit` | [`packages/workflow/workflow/src/index.ts:79`](../packages/workflow/workflow/src/index.ts) | [`workflow`](../packages/workflow/workflow) (`events.dispatch`) | [`tool-workflow`](../packages/workflow/tool-workflow) |
@@ -6,5 +6,5 @@
en: a11f106978c9dce7
zh: a11f106978c9dce7
/experimental-plugin-record-catalog:
en: 292d2b1448650f82
zh: c4c7118a82026e12
en: cb931db3b4bcbe33
zh: aca9cfecfdee34c0
+1 -1
View File
@@ -13,6 +13,6 @@ Shared Session event declarations and resolved schemas appear in the [Session pe
| Record | Owner | Purpose | Payload and source |
|---|---|---|---|
| `plugin:action-cards/decision` | `@deepseek-ai/dsh-experimental-action-cards` | Dismissals and kind-defined progress of action cards. | <code>ActionCardDecision</code> · [`packages/experimental/action-cards/src/types.ts`](../packages/experimental/action-cards/src/types.ts) |
| `plugin:action-cards/decision` | `@deepseek-ai/dsh-action-cards` | Dismissals and kind-defined progress of action cards. | <code>ActionCardDecision</code> · [`packages/experimental/action-cards/src/types.ts`](../packages/experimental/action-cards/src/types.ts) |
| `plugin:translator/request` | `@deepseek-ai/dsh-experimental-translator` | Provider-independent translation input, retained before dispatch. | <code>TranslationRequestRecord</code> · [`packages/experimental/translator/src/types.ts`](../packages/experimental/translator/src/types.ts) |
| `plugin:translator/result` | `@deepseek-ai/dsh-experimental-translator` | Successful translation, retained before it is returned to the consumer. | <code>TranslationResultRecord</code> · [`packages/experimental/translator/src/types.ts`](../packages/experimental/translator/src/types.ts) |
+1 -1
View File
@@ -13,6 +13,6 @@
| 记录 | 所属包 | 用途 | 载荷与源码 |
|---|---|---|---|
| `plugin:action-cards/decision` | `@deepseek-ai/dsh-experimental-action-cards` | Dismissals and kind-defined progress of action cards. | <code>ActionCardDecision</code> · [`packages/experimental/action-cards/src/types.ts`](../packages/experimental/action-cards/src/types.ts) |
| `plugin:action-cards/decision` | `@deepseek-ai/dsh-action-cards` | Dismissals and kind-defined progress of action cards. | <code>ActionCardDecision</code> · [`packages/experimental/action-cards/src/types.ts`](../packages/experimental/action-cards/src/types.ts) |
| `plugin:translator/request` | `@deepseek-ai/dsh-experimental-translator` | Provider-independent translation input, retained before dispatch. | <code>TranslationRequestRecord</code> · [`packages/experimental/translator/src/types.ts`](../packages/experimental/translator/src/types.ts) |
| `plugin:translator/result` | `@deepseek-ai/dsh-experimental-translator` | Successful translation, retained before it is returned to the consumer. | <code>TranslationResultRecord</code> · [`packages/experimental/translator/src/types.ts`](../packages/experimental/translator/src/types.ts) |
+16 -16
View File
@@ -254,9 +254,12 @@ flowchart TD
pkg_office_to_pdf["office-to-pdf"]
end
subgraph group_experimental["packages/experimental"]
pkg_action_cards["action-cards"]
pkg_client_ui_action_cards["client-ui-action-cards"]
pkg_client_ui_creation_recommendations["client-ui-creation-recommendations"]
pkg_creation_recommendations["creation-recommendations"]
pkg_cua["cua"]
pkg_cua_bundle["cua-bundle"]
pkg_experimental_action_cards["experimental-action-cards"]
pkg_experimental_agent_team["experimental-agent-team"]
pkg_experimental_agent_team_profile["experimental-agent-team-profile"]
pkg_experimental_api_speech_to_text["experimental-api-speech-to-text"]
@@ -267,16 +270,13 @@ flowchart TD
pkg_experimental_browser_use_runtime["experimental-browser-use-runtime"]
pkg_experimental_browser_use_stagehand_native["experimental-browser-use-stagehand-native"]
pkg_experimental_claude_code_mods["experimental-claude-code-mods"]
pkg_experimental_client_ui_action_cards["experimental-client-ui-action-cards"]
pkg_experimental_client_ui_agent_team["experimental-client-ui-agent-team"]
pkg_experimental_client_ui_claude_code_mods["experimental-client-ui-claude-code-mods"]
pkg_experimental_client_ui_cot_translation["experimental-client-ui-cot-translation"]
pkg_experimental_client_ui_creation_recommendations["experimental-client-ui-creation-recommendations"]
pkg_experimental_client_ui_voice_input["experimental-client-ui-voice-input"]
pkg_experimental_computer_use_cua_driver_mcp["experimental-computer-use-cua-driver-mcp"]
pkg_experimental_computer_use_cua_driver_native["experimental-computer-use-cua-driver-native"]
pkg_experimental_cot_translation_bundle["experimental-cot-translation-bundle"]
pkg_experimental_creation_recommendations["experimental-creation-recommendations"]
pkg_experimental_cua_macos["experimental-cua-macos"]
pkg_experimental_inspector["experimental-inspector"]
pkg_experimental_inspector_profile["experimental-inspector-profile"]
@@ -928,10 +928,14 @@ flowchart TD
pkg_workspace_changes --> pkg_session
pkg_workspace_changes --> pkg_subprocess
pkg_workspace_changes --> pkg_tools
pkg_experimental_action_cards --> pkg_llm
pkg_experimental_action_cards --> pkg_session
pkg_experimental_action_cards --> pkg_tools
pkg_experimental_action_cards --> pkg_typert_protocol
pkg_action_cards --> pkg_llm
pkg_action_cards --> pkg_session
pkg_action_cards --> pkg_tools
pkg_action_cards --> pkg_typert_protocol
pkg_creation_recommendations --> pkg_llm
pkg_creation_recommendations --> pkg_session
pkg_creation_recommendations --> pkg_skill
pkg_creation_recommendations --> pkg_tools
pkg_experimental_browser_use_chrome_devtools_mcp --> pkg_agent
pkg_experimental_browser_use_chrome_devtools_mcp --> pkg_browser_use
pkg_experimental_browser_use_chrome_devtools_mcp --> pkg_system_prompt
@@ -949,10 +953,6 @@ flowchart TD
pkg_experimental_computer_use_cua_driver_native --> pkg_computer_use
pkg_experimental_computer_use_cua_driver_native --> pkg_system_prompt
pkg_experimental_computer_use_cua_driver_native --> pkg_tools
pkg_experimental_creation_recommendations --> pkg_llm
pkg_experimental_creation_recommendations --> pkg_session
pkg_experimental_creation_recommendations --> pkg_skill
pkg_experimental_creation_recommendations --> pkg_tools
pkg_experimental_cua_macos --> pkg_agent
pkg_experimental_cua_macos --> pkg_computer_use
pkg_experimental_cua_macos --> pkg_subprocess
@@ -1572,13 +1572,13 @@ flowchart TD
| [`client-web`](../packages/client/web) | `client` | — |
| [`credentials`](../packages/credentials/credentials) | `credentials` | — |
| [`office-to-pdf`](../packages/document/office-to-pdf) | `document` | — |
| [`client-ui-action-cards`](../packages/experimental/client-ui-action-cards) | `experimental` | — |
| [`client-ui-creation-recommendations`](../packages/experimental/client-ui-creation-recommendations) | `experimental` | — |
| [`cua-bundle`](../packages/experimental/cua-bundle) | `experimental` | — |
| [`experimental-agent-team-profile`](../packages/experimental/agent-team-profile) | `experimental` | — |
| [`experimental-badge-skill-bundle`](../packages/experimental/badge-skill-bundle) | `experimental` | — |
| [`experimental-client-ui-action-cards`](../packages/experimental/client-ui-action-cards) | `experimental` | — |
| [`experimental-client-ui-agent-team`](../packages/experimental/client-ui-agent-team) | `experimental` | — |
| [`experimental-client-ui-claude-code-mods`](../packages/experimental/client-ui-claude-code-mods) | `experimental` | — |
| [`experimental-client-ui-creation-recommendations`](../packages/experimental/client-ui-creation-recommendations) | `experimental` | — |
| [`experimental-client-ui-voice-input`](../packages/experimental/client-ui-voice-input) | `experimental` | — |
| [`experimental-cot-translation-bundle`](../packages/experimental/cot-translation-bundle) | `experimental` | — |
| [`experimental-inspector`](../packages/experimental/inspector) | `experimental` | — |
@@ -1744,12 +1744,12 @@ flowchart TD
| [`file-reference-local`](../packages/context/file-reference-local) | `context` | [`agent`](../packages/core/agent), [`file-reference`](../packages/context/file-reference), [`system-prompt`](../packages/core/system-prompt), [`tools`](../packages/core/tools), [`working-directory`](../packages/session/working-directory) |
| [`tool-present`](../packages/deliverables/tool-present) | `deliverables` | [`agent`](../packages/core/agent), [`fs`](../packages/fs/fs), [`llm`](../packages/llm/llm), [`session`](../packages/core/session), [`tools`](../packages/core/tools), [`working-directory`](../packages/session/working-directory) |
| [`workspace-changes`](../packages/deliverables/workspace-changes) | `deliverables` | [`agent`](../packages/core/agent), [`fs`](../packages/fs/fs), [`session`](../packages/core/session), [`subprocess`](../packages/subprocess/subprocess), [`tools`](../packages/core/tools) |
| [`experimental-action-cards`](../packages/experimental/action-cards) | `experimental` | [`llm`](../packages/llm/llm), [`session`](../packages/core/session), [`tools`](../packages/core/tools), [`typert-protocol`](../packages/typert/protocol) |
| [`action-cards`](../packages/experimental/action-cards) | `experimental` | [`llm`](../packages/llm/llm), [`session`](../packages/core/session), [`tools`](../packages/core/tools), [`typert-protocol`](../packages/typert/protocol) |
| [`creation-recommendations`](../packages/experimental/creation-recommendations) | `experimental` | [`llm`](../packages/llm/llm), [`session`](../packages/core/session), [`skill`](../packages/skill/skill), [`tools`](../packages/core/tools) |
| [`experimental-browser-use-chrome-devtools-mcp`](../packages/experimental/browser-use-chrome-devtools-mcp) | `experimental` | [`agent`](../packages/core/agent), [`browser-use`](../packages/browser-use/browser-use), [`system-prompt`](../packages/core/system-prompt), [`tools`](../packages/core/tools), [`working-directory`](../packages/session/working-directory) |
| [`experimental-browser-use-playwright-mcp`](../packages/experimental/browser-use-playwright-mcp) | `experimental` | [`agent`](../packages/core/agent), [`browser-use`](../packages/browser-use/browser-use), [`system-prompt`](../packages/core/system-prompt), [`tools`](../packages/core/tools), [`working-directory`](../packages/session/working-directory) |
| [`experimental-browser-use-stagehand-native`](../packages/experimental/browser-use-stagehand-native) | `experimental` | [`agent`](../packages/core/agent), [`browser-use`](../packages/browser-use/browser-use), [`system-prompt`](../packages/core/system-prompt), [`tools`](../packages/core/tools) |
| [`experimental-computer-use-cua-driver-native`](../packages/experimental/computer-use-cua-driver-native) | `experimental` | [`computer-use`](../packages/computer-use/computer-use), [`system-prompt`](../packages/core/system-prompt), [`tools`](../packages/core/tools) |
| [`experimental-creation-recommendations`](../packages/experimental/creation-recommendations) | `experimental` | [`llm`](../packages/llm/llm), [`session`](../packages/core/session), [`skill`](../packages/skill/skill), [`tools`](../packages/core/tools) |
| [`experimental-cua-macos`](../packages/experimental/cua-macos) | `experimental` | [`agent`](../packages/core/agent), [`computer-use`](../packages/computer-use/computer-use), [`subprocess`](../packages/subprocess/subprocess), [`system-prompt`](../packages/core/system-prompt), [`tools`](../packages/core/tools), [`user-questions`](../packages/interaction/user-questions) |
| [`experimental-tool-worktree`](../packages/experimental/tool-worktree) | `experimental` | [`experimental-worktree`](../packages/experimental/worktree), [`tools`](../packages/core/tools) |
| [`hooks-codex`](../packages/experimental/hooks-codex) | `experimental` | [`agent`](../packages/core/agent), [`hook-protocol`](../packages/experimental/hook-protocol), [`llm`](../packages/llm/llm), [`session`](../packages/core/session), [`tools`](../packages/core/tools), [`working-directory`](../packages/session/working-directory) |
+16 -16
View File
@@ -256,9 +256,12 @@ flowchart TD
pkg_office_to_pdf["office-to-pdf"]
end
subgraph group_experimental["packages/experimental"]
pkg_action_cards["action-cards"]
pkg_client_ui_action_cards["client-ui-action-cards"]
pkg_client_ui_creation_recommendations["client-ui-creation-recommendations"]
pkg_creation_recommendations["creation-recommendations"]
pkg_cua["cua"]
pkg_cua_bundle["cua-bundle"]
pkg_experimental_action_cards["experimental-action-cards"]
pkg_experimental_agent_team["experimental-agent-team"]
pkg_experimental_agent_team_profile["experimental-agent-team-profile"]
pkg_experimental_api_speech_to_text["experimental-api-speech-to-text"]
@@ -269,16 +272,13 @@ flowchart TD
pkg_experimental_browser_use_runtime["experimental-browser-use-runtime"]
pkg_experimental_browser_use_stagehand_native["experimental-browser-use-stagehand-native"]
pkg_experimental_claude_code_mods["experimental-claude-code-mods"]
pkg_experimental_client_ui_action_cards["experimental-client-ui-action-cards"]
pkg_experimental_client_ui_agent_team["experimental-client-ui-agent-team"]
pkg_experimental_client_ui_claude_code_mods["experimental-client-ui-claude-code-mods"]
pkg_experimental_client_ui_cot_translation["experimental-client-ui-cot-translation"]
pkg_experimental_client_ui_creation_recommendations["experimental-client-ui-creation-recommendations"]
pkg_experimental_client_ui_voice_input["experimental-client-ui-voice-input"]
pkg_experimental_computer_use_cua_driver_mcp["experimental-computer-use-cua-driver-mcp"]
pkg_experimental_computer_use_cua_driver_native["experimental-computer-use-cua-driver-native"]
pkg_experimental_cot_translation_bundle["experimental-cot-translation-bundle"]
pkg_experimental_creation_recommendations["experimental-creation-recommendations"]
pkg_experimental_cua_macos["experimental-cua-macos"]
pkg_experimental_inspector["experimental-inspector"]
pkg_experimental_inspector_profile["experimental-inspector-profile"]
@@ -930,10 +930,14 @@ flowchart TD
pkg_workspace_changes --> pkg_session
pkg_workspace_changes --> pkg_subprocess
pkg_workspace_changes --> pkg_tools
pkg_experimental_action_cards --> pkg_llm
pkg_experimental_action_cards --> pkg_session
pkg_experimental_action_cards --> pkg_tools
pkg_experimental_action_cards --> pkg_typert_protocol
pkg_action_cards --> pkg_llm
pkg_action_cards --> pkg_session
pkg_action_cards --> pkg_tools
pkg_action_cards --> pkg_typert_protocol
pkg_creation_recommendations --> pkg_llm
pkg_creation_recommendations --> pkg_session
pkg_creation_recommendations --> pkg_skill
pkg_creation_recommendations --> pkg_tools
pkg_experimental_browser_use_chrome_devtools_mcp --> pkg_agent
pkg_experimental_browser_use_chrome_devtools_mcp --> pkg_browser_use
pkg_experimental_browser_use_chrome_devtools_mcp --> pkg_system_prompt
@@ -951,10 +955,6 @@ flowchart TD
pkg_experimental_computer_use_cua_driver_native --> pkg_computer_use
pkg_experimental_computer_use_cua_driver_native --> pkg_system_prompt
pkg_experimental_computer_use_cua_driver_native --> pkg_tools
pkg_experimental_creation_recommendations --> pkg_llm
pkg_experimental_creation_recommendations --> pkg_session
pkg_experimental_creation_recommendations --> pkg_skill
pkg_experimental_creation_recommendations --> pkg_tools
pkg_experimental_cua_macos --> pkg_agent
pkg_experimental_cua_macos --> pkg_computer_use
pkg_experimental_cua_macos --> pkg_subprocess
@@ -1574,13 +1574,13 @@ flowchart TD
| [`client-web`](../packages/client/web) | `client` | — |
| [`credentials`](../packages/credentials/credentials) | `credentials` | — |
| [`office-to-pdf`](../packages/document/office-to-pdf) | `document` | — |
| [`client-ui-action-cards`](../packages/experimental/client-ui-action-cards) | `experimental` | — |
| [`client-ui-creation-recommendations`](../packages/experimental/client-ui-creation-recommendations) | `experimental` | — |
| [`cua-bundle`](../packages/experimental/cua-bundle) | `experimental` | — |
| [`experimental-agent-team-profile`](../packages/experimental/agent-team-profile) | `experimental` | — |
| [`experimental-badge-skill-bundle`](../packages/experimental/badge-skill-bundle) | `experimental` | — |
| [`experimental-client-ui-action-cards`](../packages/experimental/client-ui-action-cards) | `experimental` | — |
| [`experimental-client-ui-agent-team`](../packages/experimental/client-ui-agent-team) | `experimental` | — |
| [`experimental-client-ui-claude-code-mods`](../packages/experimental/client-ui-claude-code-mods) | `experimental` | — |
| [`experimental-client-ui-creation-recommendations`](../packages/experimental/client-ui-creation-recommendations) | `experimental` | — |
| [`experimental-client-ui-voice-input`](../packages/experimental/client-ui-voice-input) | `experimental` | — |
| [`experimental-cot-translation-bundle`](../packages/experimental/cot-translation-bundle) | `experimental` | — |
| [`experimental-inspector`](../packages/experimental/inspector) | `experimental` | — |
@@ -1746,12 +1746,12 @@ flowchart TD
| [`file-reference-local`](../packages/context/file-reference-local) | `context` | [`agent`](../packages/core/agent), [`file-reference`](../packages/context/file-reference), [`system-prompt`](../packages/core/system-prompt), [`tools`](../packages/core/tools), [`working-directory`](../packages/session/working-directory) |
| [`tool-present`](../packages/deliverables/tool-present) | `deliverables` | [`agent`](../packages/core/agent), [`fs`](../packages/fs/fs), [`llm`](../packages/llm/llm), [`session`](../packages/core/session), [`tools`](../packages/core/tools), [`working-directory`](../packages/session/working-directory) |
| [`workspace-changes`](../packages/deliverables/workspace-changes) | `deliverables` | [`agent`](../packages/core/agent), [`fs`](../packages/fs/fs), [`session`](../packages/core/session), [`subprocess`](../packages/subprocess/subprocess), [`tools`](../packages/core/tools) |
| [`experimental-action-cards`](../packages/experimental/action-cards) | `experimental` | [`llm`](../packages/llm/llm), [`session`](../packages/core/session), [`tools`](../packages/core/tools), [`typert-protocol`](../packages/typert/protocol) |
| [`action-cards`](../packages/experimental/action-cards) | `experimental` | [`llm`](../packages/llm/llm), [`session`](../packages/core/session), [`tools`](../packages/core/tools), [`typert-protocol`](../packages/typert/protocol) |
| [`creation-recommendations`](../packages/experimental/creation-recommendations) | `experimental` | [`llm`](../packages/llm/llm), [`session`](../packages/core/session), [`skill`](../packages/skill/skill), [`tools`](../packages/core/tools) |
| [`experimental-browser-use-chrome-devtools-mcp`](../packages/experimental/browser-use-chrome-devtools-mcp) | `experimental` | [`agent`](../packages/core/agent), [`browser-use`](../packages/browser-use/browser-use), [`system-prompt`](../packages/core/system-prompt), [`tools`](../packages/core/tools), [`working-directory`](../packages/session/working-directory) |
| [`experimental-browser-use-playwright-mcp`](../packages/experimental/browser-use-playwright-mcp) | `experimental` | [`agent`](../packages/core/agent), [`browser-use`](../packages/browser-use/browser-use), [`system-prompt`](../packages/core/system-prompt), [`tools`](../packages/core/tools), [`working-directory`](../packages/session/working-directory) |
| [`experimental-browser-use-stagehand-native`](../packages/experimental/browser-use-stagehand-native) | `experimental` | [`agent`](../packages/core/agent), [`browser-use`](../packages/browser-use/browser-use), [`system-prompt`](../packages/core/system-prompt), [`tools`](../packages/core/tools) |
| [`experimental-computer-use-cua-driver-native`](../packages/experimental/computer-use-cua-driver-native) | `experimental` | [`computer-use`](../packages/computer-use/computer-use), [`system-prompt`](../packages/core/system-prompt), [`tools`](../packages/core/tools) |
| [`experimental-creation-recommendations`](../packages/experimental/creation-recommendations) | `experimental` | [`llm`](../packages/llm/llm), [`session`](../packages/core/session), [`skill`](../packages/skill/skill), [`tools`](../packages/core/tools) |
| [`experimental-cua-macos`](../packages/experimental/cua-macos) | `experimental` | [`agent`](../packages/core/agent), [`computer-use`](../packages/computer-use/computer-use), [`subprocess`](../packages/subprocess/subprocess), [`system-prompt`](../packages/core/system-prompt), [`tools`](../packages/core/tools), [`user-questions`](../packages/interaction/user-questions) |
| [`experimental-tool-worktree`](../packages/experimental/tool-worktree) | `experimental` | [`experimental-worktree`](../packages/experimental/worktree), [`tools`](../packages/core/tools) |
| [`hooks-codex`](../packages/experimental/hooks-codex) | `experimental` | [`agent`](../packages/core/agent), [`hook-protocol`](../packages/experimental/hook-protocol), [`llm`](../packages/llm/llm), [`session`](../packages/core/session), [`tools`](../packages/core/tools), [`working-directory`](../packages/session/working-directory) |
+8 -8
View File
@@ -9,8 +9,8 @@
en: 6cc2cd9ced70bb09
zh: 1c0e6cb4ba2ed637
/tool-schema-catalog/tool-package-map:
en: 3b44fba80c4b6baf
zh: 45f8962c849cdc20
en: 23cebf61cc4df18a
zh: ba1f442d0f6fdbc8
/tool-schema-catalog/deepseek-ai-dsh-plugin-manager:
en: e0143916bb634762
zh: e0143916bb634762
@@ -54,12 +54,12 @@
en: 4910ab327694ee97
zh: 17e79e4366cb636d
/tool-schema-catalog/deepseek-ai-dsh-experimental-browser-use-stagehand-native/stagehand-tabs:
en: c65d58eac812b03c
zh: d4259095ce06e457
/tool-schema-catalog/deepseek-ai-dsh-experimental-action-cards:
en: 94f08f350e306557
zh: 94f08f350e306557
/tool-schema-catalog/deepseek-ai-dsh-experimental-action-cards/propose-action:
en: a0d5b9b891358120
zh: 25793a62709770b5
/tool-schema-catalog/deepseek-ai-dsh-action-cards:
en: 60c9df6ffda98a1d
zh: 60c9df6ffda98a1d
/tool-schema-catalog/deepseek-ai-dsh-action-cards/propose-action:
en: b2afbd46036c0eb1
zh: 0983902a9034482b
/tool-schema-catalog/deepseek-ai-dsh-tool-ask-user:
+3 -3
View File
@@ -19,7 +19,7 @@ This table connects model-visible tool names to the plugin package and service s
| `@deepseek-ai/dsh-plugin-market` | `plugin_market` | `ctx.tools`, `ctx.pluginMarket` | `tool/call`, `tool/result` | - | - |
| `@deepseek-ai/dsh-mcp-resources` | `list_mcp_resource_templates`, `list_mcp_resources`, `read_mcp_resource` | `ctx.tools`, `ctx.mcpResources` | `tool/call`, `tool/result` | - | - |
| `@deepseek-ai/dsh-experimental-browser-use-stagehand-native` | `stagehand_act`, `stagehand_extract`, `stagehand_navigate`, `stagehand_observe`, `stagehand_screenshot`, `stagehand_tabs` | `ctx.browserUse`, `ctx.agents`, `ctx.tools`, `ctx.systemPrompt` | `tool/call`, `tool/result` | - | - |
| `@deepseek-ai/dsh-experimental-action-cards` | `propose_action` | `ctx.tools`, `ctx.agents`, `ctx.sessionProjections`, `ctx.remoteAccess` | `tool/call`, `tool/result`, `plugin:action-cards/decision`, `user/message` | - | Declared only to an Agent that loaded the skill of a registered card kind; the kind packages register their actions, and the Personalized pages bundle supplies the only shipped kind. |
| `@deepseek-ai/dsh-action-cards` | `propose_action` | `ctx.tools`, `ctx.agents`, `ctx.sessionProjections`, `ctx.remoteAccess` | `tool/call`, `tool/result`, `plugin:action-cards/decision`, `user/message` | - | Declared only to an Agent that loaded the skill of a registered card kind; the kind packages register their actions, and the Personalized pages bundle supplies the only shipped kind. |
| `@deepseek-ai/dsh-tool-ask-user` | `ask_user_question` | `ctx.tools`, `ctx.userQuestions` | `tool/call`, `tool/result after an answer or timeout`, `late user/message` | - | ask_user_question keeps the original blocking behavior by default; set `mode: timed` to opt into a foreground timeout and pending result while the question remains answerable. In timed mode, `timeout: -1` keeps that call blocking indefinitely. |
| `@deepseek-ai/dsh-tool-executor-ptc` | `run_code` | `ctx.workingDirectory (Agent executions)`, `ctx.tools`, `ctx.ptcRuntime`, `ctx.systemPrompt` | `tool/call`, `one tool/ptc-dispatch-start + tool/ptc-dispatch pair per bridged sub-call`, `tool/result` | - | The PTC executor exposes only run_code to the model and declares other visible capabilities in a generated SDK in the runtime’s language. Program bindings enter the shared guarded tool pipeline in submission order; concurrency-safe bodies overlap up to maxParallelSubCalls, and nested results remain linked to the outer program. |
| `@deepseek-ai/dsh-plan-mode` | `exit_plan_mode` | `ctx.tools`, `ctx.systemPrompt`, `ctx.agents`, `ctx.userQuestions (execution time, opportunistic)` | `tool/call`, `plan/mode inactive on an approved review`, `tool/result` | - | exit_plan_mode stays in the model-facing schema while planning is inactive so transitions add no tool-catalog churn on top of the plan-policy change. Its execute path rejects calls outside plan mode; in plan mode it presents the plan over the user-questions seam (approve / keep planning with feedback), and approval logs plan mode inactive at the step boundary. |
@@ -498,9 +498,9 @@ List, create, select, or close a Stagehand browser tab.
Source: [`packages/experimental/browser-use-stagehand-native/src/index.ts`](../packages/experimental/browser-use-stagehand-native/src/index.ts)
<a id="deepseek-aidsh-experimental-action-cards"></a>
<a id="deepseek-aidsh-action-cards"></a>
## `@deepseek-ai/dsh-experimental-action-cards`
## `@deepseek-ai/dsh-action-cards`
### `propose_action`
+3 -3
View File
@@ -23,7 +23,7 @@
| `@deepseek-ai/dsh-plugin-market` | `plugin_market` | `ctx.tools`, `ctx.pluginMarket` | `tool/call`, `tool/result` | - | - |
| `@deepseek-ai/dsh-mcp-resources` | `list_mcp_resource_templates`, `list_mcp_resources`, `read_mcp_resource` | `ctx.tools`, `ctx.mcpResources` | `tool/call`, `tool/result` | - | - |
| `@deepseek-ai/dsh-experimental-browser-use-stagehand-native` | `stagehand_act`、`stagehand_extract`、`stagehand_navigate`、`stagehand_observe`、`stagehand_screenshot`、`stagehand_tabs` | `ctx.browserUse`、`ctx.agents`、`ctx.tools`、`ctx.systemPrompt` | `tool/call`、`tool/result` | - | - |
| `@deepseek-ai/dsh-experimental-action-cards` | `propose_action` | `ctx.tools`、`ctx.agents`、`ctx.sessionProjections`、`ctx.remoteAccess` | `tool/call`、`tool/result`、`plugin:action-cards/decision`、`user/message` | - | 只向加载过已注册卡片种类 Skill 的 Agent 声明;各种类的包注册自己的动作,目前只有个性化页面 Bundle 提供种类。 |
| `@deepseek-ai/dsh-action-cards` | `propose_action` | `ctx.tools`、`ctx.agents`、`ctx.sessionProjections`、`ctx.remoteAccess` | `tool/call`、`tool/result`、`plugin:action-cards/decision`、`user/message` | - | 只向加载过已注册卡片种类 Skill 的 Agent 声明;各种类的包注册自己的动作,目前只有个性化页面 Bundle 提供种类。 |
| `@deepseek-ai/dsh-tool-ask-user` | `ask_user_question` | `ctx.tools`、`ctx.userQuestions` | `tool/call`、`tool/result after an answer or timeout`、`late user/message` | - | ask_user_question 默认保持原有阻塞行为;设置 `mode: timed` 后才启用前台超时与 pending 结果,同时问题仍可回答;timed 模式内 `timeout: -1` 让本次调用无限期阻塞。 |
| `@deepseek-ai/dsh-tool-executor-ptc` | `run_code` | `ctx.workingDirectory (Agent executions)`、`ctx.tools`、`ctx.ptcRuntime`、`ctx.systemPrompt` | `tool/call`、`one tool/ptc-dispatch-start + tool/ptc-dispatch pair per bridged sub-call`、`tool/result` | - | PTC 执行器只向模型公开 run_code,并在运行时语言生成的 SDK 中声明其他可见能力。程序绑定按提交顺序进入共享的受守卫工具流水线;并行安全的函数体最多重叠 maxParallelSubCalls 个,嵌套结果保持与外层程序关联。 |
| `@deepseek-ai/dsh-plan-mode` | `exit_plan_mode` | `ctx.tools`、`ctx.systemPrompt`、`ctx.agents`、`ctx.userQuestions (execution time, opportunistic)` | `tool/call`、`plan/mode inactive on an approved review`、`tool/result` | - | 规划未激活时,exit_plan_mode 仍保留在面向模型的 schema 中,这样状态转换不会在规划策略变更之外额外造成工具目录变动。其执行路径会拒绝规划模式之外的调用;在规划模式下,它通过用户交互 seam 提交计划(批准/根据反馈继续规划),批准后会在步骤边界记录规划模式已停用。 |
@@ -502,9 +502,9 @@
来源:[`packages/experimental/browser-use-stagehand-native/src/index.ts`](../packages/experimental/browser-use-stagehand-native/src/index.ts)
<a id="deepseek-aidsh-experimental-action-cards"></a>
<a id="deepseek-aidsh-action-cards"></a>
## `@deepseek-ai/dsh-experimental-action-cards`
## `@deepseek-ai/dsh-action-cards`
### `propose_action`
+1 -1
View File
@@ -301,6 +301,6 @@
"@deepseek-ai/dsh-experimental-subagent-oar": "workspace:*",
"@deepseek-ai/dsh-experimental-tool-subagent-oar": "workspace:*",
"@deepseek-ai/dsh-experimental-cua-macos": "workspace:*",
"@deepseek-ai/dsh-experimental-action-cards": "workspace:*"
"@deepseek-ai/dsh-action-cards": "workspace:*"
}
}
@@ -53,7 +53,7 @@ export const DEFAULT_PROFILE_BUNDLES: readonly string[] = ['@deepseek-ai/dsh-bas
* [admission](../../../../.agents/notes/implemented/architecture/2026-09-21-experimental-capabilities-as-optional-bundles.md)).
*/
export const OPTIONAL_BUNDLES: readonly string[] = [
'@deepseek-ai/dsh-experimental-creation-recommendations',
'@deepseek-ai/dsh-creation-recommendations',
'@deepseek-ai/dsh-cua-bundle',
'@deepseek-ai/dsh-experimental-session-search',
'@deepseek-ai/dsh-experimental-ralph-bundle',
@@ -121,7 +121,7 @@ const EXTENSION_BUNDLES = [
]
/** The optional bundles the main list holds back until selected; the More list includes eligible entries. */
const MORE_BUNDLES = [
'@deepseek-ai/dsh-experimental-creation-recommendations',
'@deepseek-ai/dsh-creation-recommendations',
'@deepseek-ai/dsh-experimental-inspector-profile',
'@deepseek-ai/dsh-cua-bundle',
'@deepseek-ai/dsh-experimental-tool-worktree',
@@ -110,7 +110,7 @@ export function shortName(name: string): string {
/** Official bundles that display the Experimental badge. */
const EXPERIMENTAL_BUNDLES: readonly string[] = [
'@deepseek-ai/dsh-experimental-creation-recommendations',
'@deepseek-ai/dsh-creation-recommendations',
'@deepseek-ai/dsh-cua-bundle',
'@deepseek-ai/dsh-experimental-agent-team-profile',
'@deepseek-ai/dsh-experimental-voice-input-bundle',
@@ -1239,7 +1239,7 @@ describe('PluginManagerPage', () => {
it.each([
'@deepseek-ai/dsh-experimental-session-titles-bundle',
'@deepseek-ai/dsh-experimental-creation-recommendations',
'@deepseek-ai/dsh-creation-recommendations',
])('returns %s details to the secondary page and retains it across React remounts', (name) => {
const b = renderTab({ packages: [pkg({ name, official: true, enabled: false })] })
fireEvent.click(screen.getByRole('button', { name: en.moreAction }))
@@ -1257,7 +1257,7 @@ describe('PluginManagerPage', () => {
it.each([
'@deepseek-ai/dsh-experimental-tool-worktree',
'@deepseek-ai/dsh-experimental-creation-recommendations',
'@deepseek-ai/dsh-creation-recommendations',
])('pins enabled %s onto the main list and removes it when disabled', (first) => {
const team = '@deepseek-ai/dsh-experimental-agent-team-profile'
const second = '@deepseek-ai/dsh-experimental-cot-translation-bundle'
@@ -5,63 +5,63 @@
/:
en: 1a68a7a733a2676d
zh: 01f72eb61a0626b7
/deepseek-ai-dsh-experimental-action-cards:
en: e57ce09e58e6fabc
zh: 8a727dbd6f925363
/deepseek-ai-dsh-experimental-action-cards/summary:
/deepseek-ai-dsh-action-cards:
en: 63bf9077e164f6fe
zh: 8b696bb8c3d6fcd4
/deepseek-ai-dsh-action-cards/summary:
en: 7621088773d073f4
zh: 57674e6dcee15997
/deepseek-ai-dsh-experimental-action-cards/table-of-contents:
/deepseek-ai-dsh-action-cards/table-of-contents:
en: d152484eb41ac6b4
zh: b00dddf4c88f0a45
/deepseek-ai-dsh-experimental-action-cards/use-this-package:
en: f8dd030ecb0470fa
zh: a0df8bd22cdf6600
/deepseek-ai-dsh-experimental-action-cards/use-this-package/register-a-card-kind:
/deepseek-ai-dsh-action-cards/use-this-package:
en: 5fb9910bf02f3713
zh: 67c8384d876e7fb2
/deepseek-ai-dsh-action-cards/use-this-package/register-a-card-kind:
en: 8432c02ef18eda11
zh: 6d43a0a32edd7e30
/deepseek-ai-dsh-experimental-action-cards/use-this-package/card-rules:
/deepseek-ai-dsh-action-cards/use-this-package/card-rules:
en: 2f5b3ccb91f3b30e
zh: 9bd877d9d92615da
/deepseek-ai-dsh-experimental-action-cards/understand-the-implementation:
/deepseek-ai-dsh-action-cards/understand-the-implementation:
en: d92243d71d2106c1
zh: 47f0840fa723bb31
/deepseek-ai-dsh-experimental-action-cards/further-exploration:
/deepseek-ai-dsh-action-cards/further-exploration:
en: db407bb756ee5641
zh: af5d25f4f2351ee6
/deepseek-ai-dsh-experimental-action-cards/model-experience:
/deepseek-ai-dsh-action-cards/model-experience:
en: 215e7ba838619b7b
zh: a311da3843709f90
/deepseek-ai-dsh-experimental-action-cards/model-experience/card-tool:
/deepseek-ai-dsh-action-cards/model-experience/card-tool:
en: 4925bc5f7153825a
zh: 3a7bfb2210d9c6aa
/deepseek-ai-dsh-experimental-action-cards/model-experience/card-tool/what-the-model-sees:
en: 58a76216203226f7
zh: 0a12b579f6b28f29
/deepseek-ai-dsh-experimental-action-cards/model-experience/card-tool/token-effect:
/deepseek-ai-dsh-action-cards/model-experience/card-tool/what-the-model-sees:
en: 58521d3992ce42ec
zh: 45681f7b43e67613
/deepseek-ai-dsh-action-cards/model-experience/card-tool/token-effect:
en: 7efaaad09be98a07
zh: 86c7fa13d60c3588
/deepseek-ai-dsh-experimental-action-cards/model-experience/card-tool/kv-cache-effect:
/deepseek-ai-dsh-action-cards/model-experience/card-tool/kv-cache-effect:
en: d4192e35d47b5fa3
zh: c786828e123de657
/deepseek-ai-dsh-experimental-action-cards/model-experience/card-status-notice:
/deepseek-ai-dsh-action-cards/model-experience/card-status-notice:
en: 407ebca5eb94992e
zh: 779819ea83974103
/deepseek-ai-dsh-experimental-action-cards/model-experience/card-status-notice/what-the-model-sees:
/deepseek-ai-dsh-action-cards/model-experience/card-status-notice/what-the-model-sees:
en: a14013ca3ddb5ee3
zh: 18cd7ffc62fd6590
/deepseek-ai-dsh-experimental-action-cards/model-experience/card-status-notice/what-the-model-sees/notice-preamble:
/deepseek-ai-dsh-action-cards/model-experience/card-status-notice/what-the-model-sees/notice-preamble:
en: 04dd9469bfaff052
zh: 35110b231b8e3928
/deepseek-ai-dsh-experimental-action-cards/model-experience/card-status-notice/token-effect:
/deepseek-ai-dsh-action-cards/model-experience/card-status-notice/token-effect:
en: 4e73a2cff60b5e88
zh: 4887212815e7425d
/deepseek-ai-dsh-experimental-action-cards/model-experience/card-status-notice/kv-cache-effect:
/deepseek-ai-dsh-action-cards/model-experience/card-status-notice/kv-cache-effect:
en: 58785543e2428dba
zh: 4b082f77b3b2f482
/deepseek-ai-dsh-experimental-action-cards/known-limitations-and-deferred-work:
/deepseek-ai-dsh-action-cards/known-limitations-and-deferred-work:
en: 2d7ed01235b52b61
zh: 611c6dfb3104827b
/deepseek-ai-dsh-experimental-action-cards/known-limitations-and-deferred-work/dev-note:
/deepseek-ai-dsh-action-cards/known-limitations-and-deferred-work/dev-note:
en: e67f633dc6fe7773
zh: bd8a8936229e035e
+3 -3
View File
@@ -3,7 +3,7 @@ description: "Shared Host service of optional action cards: the propose_action t
kind: "package-reference"
---
# @deepseek-ai/dsh-experimental-action-cards
# @deepseek-ai/dsh-action-cards
English | [中文](README.zh.md)
@@ -31,7 +31,7 @@ The [Personalized pages bundle](../creation-recommendations/README.md) inserts t
|---|---|---|
| `queuedMessageLimit` | `2` | Queued next-turn user messages at or above which `propose_action` refuses the call, so no card is offered. |
The generated [configuration catalog](../../../docs/config-catalog.md#deepseek-aidsh-experimental-action-cards) is the exhaustive source for accepted fields.
The generated [configuration catalog](../../../docs/config-catalog.md#deepseek-aidsh-action-cards) is the exhaustive source for accepted fields.
### Register a card kind
@@ -85,7 +85,7 @@ The Remote `act(sessionId, callId, verb, payload?)` checks the owner, the live r
#### What the model sees
The [`propose_action` declaration](../../../docs/tool-catalog.md#deepseek-aidsh-experimental-action-cards) appears only to a live root Agent whose own direct call loaded the skill of a registered kind in this Session, from the next step on, for that Agent's lifetime. Subagents never see it, and neither do PTC presets, whose skill loads are dispatched from code, so they show no cards. A kind's skill names the action and the fields of `details`. An accepted call returns `Card shown below your answer. Do not restate it. <invitation>`, where `<invitation>` is the kind's one- or two-sentence guidance on inviting the user to the card in the user's language, so the model writes an invitation only after a card exists. A refused call carries no invitation and returns its reason, for example `Load skill <skill> first, then call propose_action.`, `One card per turn; the earlier card stands.`, `The user has queued more messages; show no card and answer briefly.`, `Cards are offered in the main conversation only.`, `Unknown action "<action>". Registered actions: <actions>.`, where the list reads `none` once the last kind unregistered, or the failing `details` fields.
The [`propose_action` declaration](../../../docs/tool-catalog.md#deepseek-aidsh-action-cards) appears only to a live root Agent whose own direct call loaded the skill of a registered kind in this Session, from the next step on, for that Agent's lifetime. Subagents never see it, and neither do PTC presets, whose skill loads are dispatched from code, so they show no cards. A kind's skill names the action and the fields of `details`. An accepted call returns `Card shown below your answer. Do not restate it. <invitation>`, where `<invitation>` is the kind's one- or two-sentence guidance on inviting the user to the card in the user's language, so the model writes an invitation only after a card exists. A refused call carries no invitation and returns its reason, for example `Load skill <skill> first, then call propose_action.`, `One card per turn; the earlier card stands.`, `The user has queued more messages; show no card and answer briefly.`, `Cards are offered in the main conversation only.`, `Unknown action "<action>". Registered actions: <actions>.`, where the list reads `none` once the last kind unregistered, or the failing `details` fields.
#### Token effect
@@ -3,7 +3,7 @@ description: "可选操作卡片的共享 Host 服务:propose_action 工具、
kind: "package-reference"
---
# @deepseek-ai/dsh-experimental-action-cards
# @deepseek-ai/dsh-action-cards
[English](README.md) | 中文
@@ -31,7 +31,7 @@ kind: "package-reference"
|---|---|---|
| `queuedMessageLimit` | `2` | 排队到后续轮次的用户消息达到该数量时,`propose_action` 拒绝调用,因此不会展示卡片。 |
生成的[配置目录](../../../docs/config-catalog.zh.md#deepseek-aidsh-experimental-action-cards)是可接受字段的完整来源。
生成的[配置目录](../../../docs/config-catalog.zh.md#deepseek-aidsh-action-cards)是可接受字段的完整来源。
### 注册卡片种类
@@ -85,7 +85,7 @@ Remote `act(sessionId, callId, verb, payload?)` 先检查服务所有者、在
#### 模型看到什么
[`propose_action` 声明](../../../docs/tool-catalog.zh.md#deepseek-aidsh-experimental-action-cards)只对在本会话中自己直接调用加载过已注册种类 Skill 的在线根 Agent 出现,从下一步开始,持续到该 Agent 被释放。subagent 看不到它;PTC 预设的 Skill 加载由代码发起,也看不到它,因此不会展示卡片。种类的 Skill 给出动作名和 `details` 的字段。被接受的调用返回 `Card shown below your answer. Do not restate it. <invitation>`,其中 `<invitation>` 是种类给出的一两句指引,说明如何用用户的语言邀请用户使用卡片,因此模型只会在卡片已经存在之后写邀请。被拒绝的调用不带邀请,只返回原因,例如 `Load skill <skill> first, then call propose_action.`、`One card per turn; the earlier card stands.`、`The user has queued more messages; show no card and answer briefly.`、`Cards are offered in the main conversation only.`、`Unknown action "<action>". Registered actions: <actions>.`(最后一个种类注销后列表为 `none`),或未通过校验的 `details` 字段。
[`propose_action` 声明](../../../docs/tool-catalog.zh.md#deepseek-aidsh-action-cards)只对在本会话中自己直接调用加载过已注册种类 Skill 的在线根 Agent 出现,从下一步开始,持续到该 Agent 被释放。subagent 看不到它;PTC 预设的 Skill 加载由代码发起,也看不到它,因此不会展示卡片。种类的 Skill 给出动作名和 `details` 的字段。被接受的调用返回 `Card shown below your answer. Do not restate it. <invitation>`,其中 `<invitation>` 是种类给出的一两句指引,说明如何用用户的语言邀请用户使用卡片,因此模型只会在卡片已经存在之后写邀请。被拒绝的调用不带邀请,只返回原因,例如 `Load skill <skill> first, then call propose_action.`、`One card per turn; the earlier card stands.`、`The user has queued more messages; show no card and answer briefly.`、`Cards are offered in the main conversation only.`、`Unknown action "<action>". Registered actions: <actions>.`(最后一个种类注销后列表为 `none`),或未通过校验的 `details` 字段。
#### Token 影响
@@ -1,5 +1,5 @@
{
"name": "@deepseek-ai/dsh-experimental-action-cards",
"name": "@deepseek-ai/dsh-action-cards",
"description": "Optional action cards below answers: one shared proposal tool, card state, user actions and status notices",
"version": "0.2.1-rc.2",
"publishConfig": {
@@ -5,36 +5,36 @@
/:
en: eec43de9002f4ab1
zh: 0d2fddca5a1f993a
/deepseek-ai-dsh-experimental-client-ui-action-cards:
en: 6ed1f2bf10bc2f1b
zh: e3edea71ec4373c7
/deepseek-ai-dsh-experimental-client-ui-action-cards/summary:
/deepseek-ai-dsh-client-ui-action-cards:
en: c36a554629f96f79
zh: 0ea837da87938e52
/deepseek-ai-dsh-client-ui-action-cards/summary:
en: 89ea57734c42a481
zh: c7a4f5f0b59b78ad
/deepseek-ai-dsh-experimental-client-ui-action-cards/table-of-contents:
/deepseek-ai-dsh-client-ui-action-cards/table-of-contents:
en: d152484eb41ac6b4
zh: b00dddf4c88f0a45
/deepseek-ai-dsh-experimental-client-ui-action-cards/use-this-package:
/deepseek-ai-dsh-client-ui-action-cards/use-this-package:
en: 09d6dec2adb9699a
zh: b6ae739fe314df54
/deepseek-ai-dsh-experimental-client-ui-action-cards/use-this-package/register-a-card-body:
/deepseek-ai-dsh-client-ui-action-cards/use-this-package/register-a-card-body:
en: 9ec9f9f8f3165d3e
zh: 2d8154ec2fe0c9ab
/deepseek-ai-dsh-experimental-client-ui-action-cards/understand-the-implementation:
/deepseek-ai-dsh-client-ui-action-cards/understand-the-implementation:
en: 168ae39a83d6f4eb
zh: 312cc12876bca834
/deepseek-ai-dsh-experimental-client-ui-action-cards/further-exploration:
/deepseek-ai-dsh-client-ui-action-cards/further-exploration:
en: c24d6ca9095832e7
zh: b2ee0066a865dc5f
/deepseek-ai-dsh-experimental-client-ui-action-cards/model-experience:
/deepseek-ai-dsh-client-ui-action-cards/model-experience:
en: f80a4b656c108f22
zh: a3e30f46fa7136ac
/deepseek-ai-dsh-experimental-client-ui-action-cards/model-experience/kv-cache-effect:
/deepseek-ai-dsh-client-ui-action-cards/model-experience/kv-cache-effect:
en: 9cb7131bde146341
zh: 1c7d1af00f58004d
/deepseek-ai-dsh-experimental-client-ui-action-cards/known-limitations-and-deferred-work:
/deepseek-ai-dsh-client-ui-action-cards/known-limitations-and-deferred-work:
en: df94821940e4e2b8
zh: 490441ab06b153c9
/deepseek-ai-dsh-experimental-client-ui-action-cards/known-limitations-and-deferred-work/dev-note:
/deepseek-ai-dsh-client-ui-action-cards/known-limitations-and-deferred-work/dev-note:
en: e67f633dc6fe7773
zh: bd8a8936229e035e
@@ -3,7 +3,7 @@ description: "Browser half of optional action cards: the card frame below comple
kind: "package-reference"
---
# @deepseek-ai/dsh-experimental-client-ui-action-cards
# @deepseek-ai/dsh-client-ui-action-cards
English | [中文](README.zh.md)
@@ -3,7 +3,7 @@ description: "可选操作卡片的浏览器端:已完成回答下方的卡片
kind: "package-reference"
---
# @deepseek-ai/dsh-experimental-client-ui-action-cards
# @deepseek-ai/dsh-client-ui-action-cards
[English](README.md) | 中文
@@ -7,7 +7,7 @@
"main": "lib/index.js",
"types": "lib/types/index.d.ts",
"license": "MIT",
"name": "@deepseek-ai/dsh-experimental-client-ui-action-cards",
"name": "@deepseek-ai/dsh-client-ui-action-cards",
"description": "Action cards below completed answers: the shared card frame, kind bodies and the compact tool row",
"repository": {
"type": "git",
@@ -57,7 +57,7 @@
"@deepseek-ai/dsh-client-ui-primitives": "workspace:*",
"@deepseek-ai/dsh-client-ui-tool": "workspace:*",
"react": "^18.2.0",
"@deepseek-ai/dsh-experimental-action-cards": "workspace:*",
"@deepseek-ai/dsh-action-cards": "workspace:*",
"@deepseek-ai/dsh-typert-protocol": "workspace:*",
"@deepseek-ai/dsh-util-values": "workspace:*",
"@deepseek-ai/dsh-client-test-runtime": "workspace:*"
@@ -6,7 +6,7 @@ import type { SessionId } from '@deepseek-ai/dsh-session/types'
import type { ToolCallId } from '@deepseek-ai/dsh-llm/brand'
import type {
ActionCardDecision, ActionCardFields, ActionCardProposal, ActionCardResult, ActionCardView,
} from '@deepseek-ai/dsh-experimental-action-cards/types'
} from '@deepseek-ai/dsh-action-cards/types'
import type {} from '@deepseek-ai/dsh-client-ui-chat/client'
import type { ActionCardKey } from './locales.ts'
import type { FoldedTextProps, RegisteredBody } from './registry.ts'
@@ -1,6 +1,6 @@
/** Bind generated Remote descriptors to the source-tested browser lifecycle. */
import type { Context } from '@deepseek-ai/cordis'
import remote from '@deepseek-ai/dsh-experimental-action-cards/remote'
import remote from '@deepseek-ai/dsh-action-cards/remote'
import { mountActionCards } from './mount.ts'
export { inject } from './mount.ts'
export type { ActionCardBodyProps, ActionCardDescriptor, ActionCardRegistry, FoldedTextProps } from './registry.ts'
@@ -6,7 +6,7 @@ import type {} from '@deepseek-ai/dsh-client-locale/client'
import type {} from '@deepseek-ai/dsh-client-ui-session/client'
import type {} from '@deepseek-ai/dsh-client-ui-renderer/client'
import type {} from '@deepseek-ai/dsh-client-ui-tool/client'
import type {} from '@deepseek-ai/dsh-experimental-action-cards/remote'
import type {} from '@deepseek-ai/dsh-action-cards/remote'
import type { TypertRemoteContribution } from '@deepseek-ai/dsh-typert-protocol'
import { ActionCardTail, type TailInjected } from './Card.tsx'
import { ProposeRow } from './ProposeRow.tsx'
@@ -46,7 +46,7 @@ export async function mountActionCards(ctx: Context, contribution: TypertRemoteC
function registerUi(ctx: Context, registry: ActionCardRegistry): void {
ctx.effect(() => ctx.locale.register('actionCards', { en, zh, ja }), 'action-cards: locale')
ctx.slots.inject('conversation.chat.turnTail', () => ctx.slots.register({
name: 'conversation.chat.turnTail', id: '@deepseek-ai/dsh-experimental-client-ui-action-cards', locale: 'actionCards',
name: 'conversation.chat.turnTail', id: '@deepseek-ai/dsh-client-ui-action-cards', locale: 'actionCards',
inject: (sessionId: SessionId): TailInjected => ({
sessionId,
hooks: { bodies: registry.source },
@@ -5,7 +5,7 @@ import type { HostObservable, LocaleNamespaceMap, Translate, TranslateNS } from
import type { SessionId } from '@deepseek-ai/dsh-session/types'
import type {
ActionCardDecision, ActionCardFields, ActionCardProposal, ActionCardResult,
} from '@deepseek-ai/dsh-experimental-action-cards/types'
} from '@deepseek-ai/dsh-action-cards/types'
/** Props of the frame's folded text, which bodies reuse for their own long fields. */
export interface FoldedTextProps {
@@ -10,7 +10,7 @@ import { mountActionCards, inject } from '../src/client/mount.ts'
import { apply as hostApply } from '../src/index.ts'
import type { TailInjected } from '../src/client/Card.tsx'
const apply = (ctx: Context) => mountActionCards(ctx, { package: '@deepseek-ai/dsh-experimental-action-cards', descriptors: [] })
const apply = (ctx: Context) => mountActionCards(ctx, { package: '@deepseek-ai/dsh-action-cards', descriptors: [] })
const Body = () => null
it('binds actions to the displayed session, serves registered bodies and removes registrations on unload', async () => {
@@ -4,7 +4,7 @@ import { act, cleanup, fireEvent, render, screen } from '@testing-library/react'
import { afterEach, expect, it, vi } from 'vitest'
import { ToolCallId } from '@deepseek-ai/dsh-llm/brand'
import { SessionId, SessionSeq } from '@deepseek-ai/dsh-session/types'
import type { ActionCardDecision, ActionCardResult, ActionCardView } from '@deepseek-ai/dsh-experimental-action-cards/types'
import type { ActionCardDecision, ActionCardResult, ActionCardView } from '@deepseek-ai/dsh-action-cards/types'
import { ActionCard, ActionCardTail, FoldedText } from '../src/client/Card.tsx'
import { makeTranslate } from '@deepseek-ai/dsh-client-test-runtime'
import { en, zh } from '../src/client/locales.ts'
@@ -5,36 +5,36 @@
/:
en: e332dc3625021ad9
zh: a6637d7d8696ba5a
/deepseek-ai-dsh-experimental-client-ui-creation-recommendations:
en: dc8e9b2fafade59a
zh: fab88019b957e3d9
/deepseek-ai-dsh-experimental-client-ui-creation-recommendations/summary:
/deepseek-ai-dsh-client-ui-creation-recommendations:
en: b4af39c5d085f16e
zh: 19fd311580db7e2b
/deepseek-ai-dsh-client-ui-creation-recommendations/summary:
en: c2b93e3c50f80ecd
zh: da8aa68e686abddd
/deepseek-ai-dsh-experimental-client-ui-creation-recommendations/table-of-contents:
/deepseek-ai-dsh-client-ui-creation-recommendations/table-of-contents:
en: d152484eb41ac6b4
zh: b00dddf4c88f0a45
/deepseek-ai-dsh-experimental-client-ui-creation-recommendations/use-this-package:
/deepseek-ai-dsh-client-ui-creation-recommendations/use-this-package:
en: 5f3f7e9eea09ae0c
zh: 378acca8f793cf34
/deepseek-ai-dsh-experimental-client-ui-creation-recommendations/use-this-package/outcomes-and-recovery:
/deepseek-ai-dsh-client-ui-creation-recommendations/use-this-package/outcomes-and-recovery:
en: 5a3df9cd58832f91
zh: 2068dca0a62394fe
/deepseek-ai-dsh-experimental-client-ui-creation-recommendations/understand-the-implementation:
/deepseek-ai-dsh-client-ui-creation-recommendations/understand-the-implementation:
en: 26b049c5e3f38846
zh: 15768ae54aec3511
/deepseek-ai-dsh-experimental-client-ui-creation-recommendations/further-exploration:
/deepseek-ai-dsh-client-ui-creation-recommendations/further-exploration:
en: 6543c44016da2cdf
zh: fb0d365a5e411b04
/deepseek-ai-dsh-experimental-client-ui-creation-recommendations/model-experience:
/deepseek-ai-dsh-client-ui-creation-recommendations/model-experience:
en: 176de8a02931b042
zh: b1f1228f011ab056
/deepseek-ai-dsh-experimental-client-ui-creation-recommendations/model-experience/kv-cache-effect:
/deepseek-ai-dsh-client-ui-creation-recommendations/model-experience/kv-cache-effect:
en: 6a708541b49367ae
zh: 5722b25a6a8e6724
/deepseek-ai-dsh-experimental-client-ui-creation-recommendations/known-limitations-and-deferred-work:
/deepseek-ai-dsh-client-ui-creation-recommendations/known-limitations-and-deferred-work:
en: 93594f90162451d5
zh: ca27b35469b537be
/deepseek-ai-dsh-experimental-client-ui-creation-recommendations/known-limitations-and-deferred-work/dev-note:
/deepseek-ai-dsh-client-ui-creation-recommendations/known-limitations-and-deferred-work/dev-note:
en: e67f633dc6fe7773
zh: 8ec3e73528ddb1a6
@@ -3,7 +3,7 @@ description: "Show completed-answer creation cards with location choice, Keep an
kind: "package-reference"
---
# @deepseek-ai/dsh-experimental-client-ui-creation-recommendations
# @deepseek-ai/dsh-client-ui-creation-recommendations
English | [中文](README.zh.md)
@@ -3,7 +3,7 @@ description: "在完整回答末尾显示支持位置选择、保留和撤销的
kind: "package-reference"
---
# @deepseek-ai/dsh-experimental-client-ui-creation-recommendations
# @deepseek-ai/dsh-client-ui-creation-recommendations
[English](README.md) | 中文
@@ -7,7 +7,7 @@
"main": "lib/index.js",
"types": "lib/types/index.d.ts",
"license": "MIT",
"name": "@deepseek-ai/dsh-experimental-client-ui-creation-recommendations",
"name": "@deepseek-ai/dsh-client-ui-creation-recommendations",
"description": "Body of the personalized page card: location choice, creation progress, Keep, Undo and Restore",
"repository": {
"type": "git",
@@ -32,7 +32,7 @@
"platform": "web",
"inject": [
"@deepseek-ai/dsh-client-locale",
"@deepseek-ai/dsh-experimental-client-ui-action-cards"
"@deepseek-ai/dsh-client-ui-action-cards"
]
}
},
@@ -46,10 +46,10 @@
"@deepseek-ai/dsh-client-ui-slots": "workspace:*",
"@deepseek-ai/dsh-client-ui-primitives": "workspace:*",
"react": "^18.2.0",
"@deepseek-ai/dsh-experimental-creation-recommendations": "workspace:*",
"@deepseek-ai/dsh-creation-recommendations": "workspace:*",
"@deepseek-ai/dsh-client-store": "workspace:*",
"@deepseek-ai/dsh-experimental-client-ui-action-cards": "workspace:*",
"@deepseek-ai/dsh-experimental-action-cards": "workspace:*",
"@deepseek-ai/dsh-client-ui-action-cards": "workspace:*",
"@deepseek-ai/dsh-action-cards": "workspace:*",
"zod": "4.4.3",
"@deepseek-ai/dsh-client-test-runtime": "workspace:*",
"@deepseek-ai/dsh-llm": "workspace:*",
@@ -4,8 +4,8 @@ import { z } from 'zod'
import { Button, IconChevronDownOutlineRegular, IconWarningTriangleOutlineRegular, Menu, Tooltip } from '@deepseek-ai/dsh-client-ui-primitives'
import type { PropsLocale } from '@deepseek-ai/dsh-client-ui-slots'
import type { SnapshotStore } from '@deepseek-ai/dsh-client-store'
import type { ActionCardBodyProps } from '@deepseek-ai/dsh-experimental-client-ui-action-cards/client'
import type { CreationSlot, PageData, PageDetails, PageVerb } from '@deepseek-ai/dsh-experimental-creation-recommendations/types'
import type { ActionCardBodyProps } from '@deepseek-ai/dsh-client-ui-action-cards/client'
import type { CreationSlot, PageData, PageDetails, PageVerb } from '@deepseek-ai/dsh-creation-recommendations/types'
import type { RecommendationKey } from './locales.ts'
import css from './Card.module.css'
@@ -2,7 +2,7 @@
import { createElement } from 'react'
import type { Context } from '@deepseek-ai/cordis'
import type {} from '@deepseek-ai/dsh-client-locale/client'
import type {} from '@deepseek-ai/dsh-experimental-client-ui-action-cards/client'
import type {} from '@deepseek-ai/dsh-client-ui-action-cards/client'
import { PageCardBody } from './Card.tsx'
import { en, ja, zh, type RecommendationKey } from './locales.ts'
import { createCreationInfoStore } from './info-store.ts'
@@ -4,8 +4,8 @@ import { afterEach, expect, it, vi } from 'vitest'
import { ToolCallId } from '@deepseek-ai/dsh-llm/brand'
import { SessionId } from '@deepseek-ai/dsh-session/types'
import { createSnapshotStore } from '@deepseek-ai/dsh-client-store'
import { FoldedText } from '@deepseek-ai/dsh-experimental-client-ui-action-cards/src/client/Card.tsx'
import type { ActionCardFields, ActionCardResult } from '@deepseek-ai/dsh-experimental-action-cards/types'
import { FoldedText } from '@deepseek-ai/dsh-client-ui-action-cards/src/client/Card.tsx'
import type { ActionCardFields, ActionCardResult } from '@deepseek-ai/dsh-action-cards/types'
import { PageCardBody, type PageCardProps } from '../src/client/Card.tsx'
import { makeTranslate } from '@deepseek-ai/dsh-client-test-runtime'
import { en, zh } from '../src/client/locales.ts'
@@ -5,8 +5,8 @@ import { Context } from '@deepseek-ai/cordis'
import { LocaleRuntime } from '@deepseek-ai/dsh-client-locale/client'
import { ToolCallId } from '@deepseek-ai/dsh-llm/brand'
import { SessionId } from '@deepseek-ai/dsh-session/types'
import type { ActionCardDescriptor } from '@deepseek-ai/dsh-experimental-client-ui-action-cards/client'
import { FoldedText } from '@deepseek-ai/dsh-experimental-client-ui-action-cards/src/client/Card.tsx'
import type { ActionCardDescriptor } from '@deepseek-ai/dsh-client-ui-action-cards/client'
import { FoldedText } from '@deepseek-ai/dsh-client-ui-action-cards/src/client/Card.tsx'
import { afterEach, expect, it, onTestFinished, vi } from 'vitest'
import { apply, inject } from '../src/client/mount.ts'
import { apply as hostApply } from '../src/index.ts'
@@ -5,45 +5,45 @@
/:
en: 08688503db441fbf
zh: 855dbe0b9ce53ab9
/deepseek-ai-dsh-experimental-creation-recommendations:
en: f4b9d65da579ef83
zh: 6525d553f7758ac2
/deepseek-ai-dsh-experimental-creation-recommendations/summary:
/deepseek-ai-dsh-creation-recommendations:
en: f2cefc8c9ad1d38f
zh: 9d3a5dc7ac8e2329
/deepseek-ai-dsh-creation-recommendations/summary:
en: 3c8dec4a44f298a4
zh: 6d6bd77206942c76
/deepseek-ai-dsh-experimental-creation-recommendations/table-of-contents:
/deepseek-ai-dsh-creation-recommendations/table-of-contents:
en: d152484eb41ac6b4
zh: b00dddf4c88f0a45
/deepseek-ai-dsh-experimental-creation-recommendations/use-this-package:
/deepseek-ai-dsh-creation-recommendations/use-this-package:
en: cf57a8f8347c7aba
zh: f8a2e23006c8c09d
/deepseek-ai-dsh-experimental-creation-recommendations/use-this-package/outcomes-and-recovery:
/deepseek-ai-dsh-creation-recommendations/use-this-package/outcomes-and-recovery:
en: 0ab58b8291b06ba8
zh: 25ca08bc167d1e4a
/deepseek-ai-dsh-experimental-creation-recommendations/understand-the-implementation:
/deepseek-ai-dsh-creation-recommendations/understand-the-implementation:
en: 825aa7414c0a8d90
zh: 082dd0334a10dca0
/deepseek-ai-dsh-experimental-creation-recommendations/further-exploration:
/deepseek-ai-dsh-creation-recommendations/further-exploration:
en: 056d3e9b67fd628e
zh: 71db00e1a971d495
/deepseek-ai-dsh-experimental-creation-recommendations/model-experience:
/deepseek-ai-dsh-creation-recommendations/model-experience:
en: 215e7ba838619b7b
zh: a311da3843709f90
/deepseek-ai-dsh-experimental-creation-recommendations/model-experience/creation-recommendations:
/deepseek-ai-dsh-creation-recommendations/model-experience/creation-recommendations:
en: b950fbe9f29693d4
zh: 2dd7edb2d1c72941
/deepseek-ai-dsh-experimental-creation-recommendations/model-experience/creation-recommendations/what-the-model-sees:
/deepseek-ai-dsh-creation-recommendations/model-experience/creation-recommendations/what-the-model-sees:
en: 8911f9d135dbfe34
zh: c3cb68ecd4dd9308
/deepseek-ai-dsh-experimental-creation-recommendations/model-experience/creation-recommendations/token-effect:
/deepseek-ai-dsh-creation-recommendations/model-experience/creation-recommendations/token-effect:
en: bd78818f4a9f5422
zh: 0f54dbd0f41c5622
/deepseek-ai-dsh-experimental-creation-recommendations/model-experience/creation-recommendations/kv-cache-effect:
/deepseek-ai-dsh-creation-recommendations/model-experience/creation-recommendations/kv-cache-effect:
en: c2046060f1ce1f08
zh: 08e37f9f758939bc
/deepseek-ai-dsh-experimental-creation-recommendations/known-limitations-and-deferred-work:
/deepseek-ai-dsh-creation-recommendations/known-limitations-and-deferred-work:
en: 7f6c43730b74d1f5
zh: 8fdd41c9abba4190
/deepseek-ai-dsh-experimental-creation-recommendations/known-limitations-and-deferred-work/dev-note:
/deepseek-ai-dsh-creation-recommendations/known-limitations-and-deferred-work/dev-note:
en: e67f633dc6fe7773
zh: 8ec3e73528ddb1a6
@@ -3,7 +3,7 @@ description: "Create persistent removable interface plugins after an explicit us
kind: "package-bundle"
---
# @deepseek-ai/dsh-experimental-creation-recommendations
# @deepseek-ai/dsh-creation-recommendations
English | [中文](README.zh.md)
@@ -3,7 +3,7 @@ description: "经用户明确选择后创建可持久保留、可移除的界面
kind: "package-bundle"
---
# @deepseek-ai/dsh-experimental-creation-recommendations
# @deepseek-ai/dsh-creation-recommendations
[English](README.md) | 中文
@@ -1,9 +1,9 @@
- insert:
- id: action-cards
name: '@deepseek-ai/dsh-experimental-action-cards'
name: '@deepseek-ai/dsh-action-cards'
- id: client-ui-action-cards
name: '@deepseek-ai/dsh-experimental-client-ui-action-cards'
name: '@deepseek-ai/dsh-client-ui-action-cards'
- id: creation-recommendations
name: '@deepseek-ai/dsh-experimental-creation-recommendations'
name: '@deepseek-ai/dsh-creation-recommendations'
- id: client-ui-creation-recommendations
name: '@deepseek-ai/dsh-experimental-client-ui-creation-recommendations'
name: '@deepseek-ai/dsh-client-ui-creation-recommendations'
@@ -1,5 +1,5 @@
{
"name": "@deepseek-ai/dsh-experimental-creation-recommendations",
"name": "@deepseek-ai/dsh-creation-recommendations",
"description": "Create persistent removable interface plugins from explicit conversation needs",
"version": "0.2.1-rc.2",
"publishConfig": {
@@ -56,9 +56,9 @@
"yaml": "^2.9.0",
"resolve.exports": "^2.0.3",
"zod": "4.4.3",
"@deepseek-ai/dsh-experimental-client-ui-creation-recommendations": "workspace:*",
"@deepseek-ai/dsh-experimental-action-cards": "workspace:*",
"@deepseek-ai/dsh-experimental-client-ui-action-cards": "workspace:*"
"@deepseek-ai/dsh-client-ui-creation-recommendations": "workspace:*",
"@deepseek-ai/dsh-action-cards": "workspace:*",
"@deepseek-ai/dsh-client-ui-action-cards": "workspace:*"
},
"files": [
"icon.svg",
@@ -9,8 +9,8 @@ import { HarnessError, type ToolCallId } from '@deepseek-ai/dsh-llm'
import type {} from '@deepseek-ai/dsh-tools'
import { SessionId } from '@deepseek-ai/dsh-session'
import type { Agent } from '@deepseek-ai/dsh-agent'
import { isPluginStopping } from '@deepseek-ai/dsh-experimental-action-cards'
import type { ActionCardFields, ActionCardProposalOf, ActionCardResult } from '@deepseek-ai/dsh-experimental-action-cards'
import { isPluginStopping } from '@deepseek-ai/dsh-action-cards'
import type { ActionCardFields, ActionCardProposalOf, ActionCardResult } from '@deepseek-ai/dsh-action-cards'
import type {} from '@deepseek-ai/dsh-plugin-manager'
import type {} from '@deepseek-ai/dsh-subagent'
import type {} from '@deepseek-ai/dsh-app-boot'
@@ -274,11 +274,11 @@ class PersonalizedPages {
directory: sourceDirectory, packageName: bundleName,
packaging: 'Write a package.json with the exact reserved name, version, and dsh.bundle.patch="./cordis.patch.yml". Write cordis.patch.yml as a plain YAML or JSON array containing only {insert:[...]} operations. Do not use groups, aliases, custom tags or includes. Every inserted id must start with the package name plus a colon, and each module name must be this package or one of its exports. Use existing DSH slots and theme tokens. Build and export all runtime entry points before reporting ready. Symlinks must be relative and remain inside this package; the installed copy must work without the source directory.',
...(card.customLocation === undefined ? {
uiReference: fileURLToPath(import.meta.resolve('@deepseek-ai/dsh-experimental-creation-recommendations/references/'
uiReference: fileURLToPath(import.meta.resolve('@deepseek-ai/dsh-creation-recommendations/references/'
+ { 'sidebar-right': 'sidebar-right.md', page: 'session-tab.md', 'sidebar-left': 'sidebar-entry.md' }[card.slot])),
locationPolicy: 'location and uiReference are the user’s final choice in the card. They override any earlier location described in brief; preserve the requested behavior and data scope while adapting the interface to this chosen location.',
} : {
uiReferences: ['sidebar-right.md', 'session-tab.md', 'sidebar-entry.md'].map(file => fileURLToPath(import.meta.resolve('@deepseek-ai/dsh-experimental-creation-recommendations/references/' + file))),
uiReferences: ['sidebar-right.md', 'session-tab.md', 'sidebar-entry.md'].map(file => fileURLToPath(import.meta.resolve('@deepseek-ai/dsh-creation-recommendations/references/' + file))),
locationPolicy: 'location.request is the user’s final placement instruction, overriding earlier placement in brief. Resolve it using existing documented DSH extension points; the references describe common placements, not a new custom slot. Preserve the requested behavior and data scope. Do not change the application shell or install anything outside this removable plugin. If the placement cannot be implemented, report ready:false instead of silently substituting another location.',
}),
lifecycle: 'Read the relevant absolute uiReference or uiReferences bundled with this plugin before implementation; they supplement the cordis-plugin-development skill. Follow their registration, persistence and teardown guidance. Unloading must remove only this plugin’s UI and tabs, preserving unrelated content. Generate and build only; the caller installs and validates the live result.',
@@ -57,7 +57,7 @@ describe('interface creation', () => {
const spec = await f.complete()
expect(spec).toMatchObject({ provider: 'spawn', delivery: 'caller', request: { agentPreset: 'cordis' } })
expect(spec.request.parent).toBe(f.agent)
const guide = fileURLToPath(import.meta.resolve('@deepseek-ai/dsh-experimental-creation-recommendations/references/session-tab.md'))
const guide = fileURLToPath(import.meta.resolve('@deepseek-ai/dsh-creation-recommendations/references/session-tab.md'))
expect(spec.request.prompt.find(block => block.type === 'text')?.text).toContain(JSON.stringify(guide))
expect(await readFile(guide, 'utf8')).toContain('conversation.view')
expect(spec.request.cwd!.startsWith(join(f.agent.session.header.cwd!, '.dsh-created-plugins'))).toBe(true)
@@ -90,7 +90,7 @@ describe('interface creation', () => {
await f.act('create', 'sidebar-left')
const spec = await f.complete()
const instructions: unknown = JSON.parse(spec.request.prompt.find(block => block.type === 'text')!.text)
expect(instructions).toMatchObject({ location: 'sidebar-left', uiReference: fileURLToPath(import.meta.resolve('@deepseek-ai/dsh-experimental-creation-recommendations/references/sidebar-entry.md')),
expect(instructions).toMatchObject({ location: 'sidebar-left', uiReference: fileURLToPath(import.meta.resolve('@deepseek-ai/dsh-creation-recommendations/references/sidebar-entry.md')),
locationPolicy: 'location and uiReference are the user’s final choice in the card. They override any earlier location described in brief; preserve the requested behavior and data scope while adapting the interface to this chosen location.',
})
expect(f.current()).toMatchObject({ phase: 'installed', slot: 'sidebar-left' })
@@ -143,7 +143,7 @@ describe('interface creation', () => {
const spec = await f.complete()
const instructions: unknown = JSON.parse(spec.request.prompt.find(block => block.type === 'text')!.text)
const references = ['sidebar-right.md', 'session-tab.md', 'sidebar-entry.md'].map(file =>
fileURLToPath(import.meta.resolve('@deepseek-ai/dsh-experimental-creation-recommendations/references/' + file)))
fileURLToPath(import.meta.resolve('@deepseek-ai/dsh-creation-recommendations/references/' + file)))
expect(instructions).toMatchObject({ location: { request: '左侧入口打开全屏日历' }, uiReferences: references })
expect(instructions).toHaveProperty('locationPolicy', expect.stringContaining('instead of silently substituting another location'))
expect(instructions).not.toHaveProperty('uiReference')
@@ -10,7 +10,7 @@ import { mountAgentLoopTestDependencies, mountAgentLoopTestHarness } from '@deep
import Skills from '@deepseek-ai/dsh-skill'
import * as SkillTool from '@deepseek-ai/dsh-tool-skill'
import RemoteAccess from '@deepseek-ai/dsh-api-remote-access'
import ActionCards from '@deepseek-ai/dsh-experimental-action-cards'
import ActionCards from '@deepseek-ai/dsh-action-cards'
import type { Agent } from '@deepseek-ai/dsh-agent'
import type { BundleInfo, ChangeResult } from '@deepseek-ai/dsh-plugin-manager/types'
import type { SubagentActivationSpec, SubagentResult } from '@deepseek-ai/dsh-subagent'
@@ -21,7 +21,7 @@ import * as NativeExecutor from '@deepseek-ai/dsh-tool-executor-native'
import FsLocal from '@deepseek-ai/dsh-fs-local'
import WorkingDirectory from '@deepseek-ai/dsh-working-directory'
import Access from '@deepseek-ai/dsh-api-remote-access'
import * as ActionCards from '@deepseek-ai/dsh-experimental-action-cards'
import * as ActionCards from '@deepseek-ai/dsh-action-cards'
import type { SubagentActivation, SubagentActivationSpec } from '@deepseek-ai/dsh-subagent'
import { MockAdapter, textResponse, toolCallResponse } from '../../../core/agent-loop/tests/mock-adapter.ts'
import * as Recommendations from '../src/index.ts'
@@ -554,7 +554,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
'client-ui-deliverables DeliverablesTail id \'@deepseek-ai/dsh-client-ui-deliverables\'',
'client-ui-plan PlanCards',
'client-ui-schedule ScheduleTurnCard id \'schedule-created\'',
'experimental-client-ui-action-cards ActionCardTail id \'@deepseek-ai/dsh-experimental-client-ui-action-cards\'',
'client-ui-action-cards ActionCardTail id \'@deepseek-ai/dsh-client-ui-action-cards\'',
],
replaceRisk: 'none',
example: 'return {\n inject: [\'slots\'],\n apply(ctx) {\n ctx.slots.inject(\'conversation.chat.turnTail\', () => ctx.slots.register(\n { name: \'conversation.chat.turnTail\', id: \'my-entry\', order: 100, label: \'My entry\' },\n () => React.createElement(\'div\', null, \'hello\'),\n ))\n },\n}',
@@ -5063,7 +5063,7 @@ export const CLIENT_SLOT_API: readonly ClientSlotEntry[] = [
'client-ui-tool TodoRow key \'todo_write\'',
'client-ui-tool WebRow key \'web_search\'',
'client-ui-tool WebRow key \'web_fetch\'',
'experimental-client-ui-action-cards ProposeRow key \'propose_action\'',
'client-ui-action-cards ProposeRow key \'propose_action\'',
'client-ui-cordis CordisDefineRow key \'cordis_define\'',
'client-ui-cordis CordisRunRow key \'cordis_run\'',
'client-ui-cordis CordisActionRow key \'cordis_stop\'',
@@ -189,8 +189,11 @@ Every package below exports a Cordis plugin that a bundle patch can name in a Lo
| Package | Config | Description |
|---|---|---|
| `@deepseek-ai/dsh-action-cards` | yes | Optional action cards below answers: one shared proposal tool, card state, user actions and status notices |
| `@deepseek-ai/dsh-client-ui-action-cards` | no | Action cards below completed answers: the shared card frame, kind bodies and the compact tool row |
| `@deepseek-ai/dsh-client-ui-creation-recommendations` | no | Body of the personalized page card: location choice, creation progress, Keep, Undo and Restore |
| `@deepseek-ai/dsh-creation-recommendations` | no | Create persistent removable interface plugins from explicit conversation needs |
| `@deepseek-ai/dsh-cua` | no | Shared Computer Use application objects, authorization, and logged tool execution |
| `@deepseek-ai/dsh-experimental-action-cards` | yes | Optional action cards below answers: one shared proposal tool, card state, user actions and status notices |
| `@deepseek-ai/dsh-experimental-agent-team` | yes | Implicit-root Agent Teams roster, direct peer messaging, and shared task DAG |
| `@deepseek-ai/dsh-experimental-api-speech-to-text` | yes | Authenticated experimental speech transcription for browser clients |
| `@deepseek-ai/dsh-experimental-auto-review` | no | Per-tool LLM authorization review for the DeepSeek Harness Auto permission preset |
@@ -198,15 +201,12 @@ Every package below exports a Cordis plugin that a bundle patch can name in a Lo
| `@deepseek-ai/dsh-experimental-browser-use-playwright-mcp` | yes | Experimental per-Session Chromium browser tools through @playwright/mcp |
| `@deepseek-ai/dsh-experimental-browser-use-stagehand-native` | yes | Experimental Stagehand browser tools with separately configured native models |
| `@deepseek-ai/dsh-experimental-claude-code-mods` | yes | Experimental bridge: load Claude Code mods (hooks modules) and run their hook chains on DeepSeek Harness extension points |
| `@deepseek-ai/dsh-experimental-client-ui-action-cards` | no | Action cards below completed answers: the shared card frame, kind bodies and the compact tool row |
| `@deepseek-ai/dsh-experimental-client-ui-agent-team` | no | Web Agent Teams roster, task board, and teammate navigation |
| `@deepseek-ai/dsh-experimental-client-ui-claude-code-mods` | no | Web band above the prompt for Claude Code mods: draws each session's mod tree and sends button presses back to the bridge |
| `@deepseek-ai/dsh-experimental-client-ui-cot-translation` | yes | Optional machine translation of expanded reasoning, preserving original Session text |
| `@deepseek-ai/dsh-experimental-client-ui-creation-recommendations` | no | Body of the personalized page card: location choice, creation progress, Keep, Undo and Restore |
| `@deepseek-ai/dsh-experimental-client-ui-voice-input` | no | Record speech and insert editable text into the conversation draft |
| `@deepseek-ai/dsh-experimental-computer-use-cua-driver-mcp` | yes | Experimental computer use through an installed Cua Driver MCP executable |
| `@deepseek-ai/dsh-experimental-computer-use-cua-driver-native` | no | Experimental computer-use provider embedding the Cua Driver native npm SDK |
| `@deepseek-ai/dsh-experimental-creation-recommendations` | no | Create persistent removable interface plugins from explicit conversation needs |
| `@deepseek-ai/dsh-experimental-cua-macos` | yes | macOS native provider for shared Computer Use application and window objects |
| `@deepseek-ai/dsh-experimental-inspector` | yes | Experimental cross-realm CDP hub for Host debugging and Client Runtime inspection |
| `@deepseek-ai/dsh-experimental-ptc-runtime-python` | yes | CPython subprocess implementation of the DeepSeek Harness PTC execution seam |
+19 -19
View File
@@ -25,6 +25,9 @@ importers:
.:
devDependencies:
'@deepseek-ai/dsh-action-cards':
specifier: workspace:*
version: link:packages/experimental/action-cards
'@deepseek-ai/dsh-agent':
specifier: workspace:*
version: link:packages/core/agent
@@ -40,9 +43,6 @@ importers:
'@deepseek-ai/dsh-cua-bundle':
specifier: workspace:*
version: link:packages/experimental/cua-bundle
'@deepseek-ai/dsh-experimental-action-cards':
specifier: workspace:*
version: link:packages/experimental/action-cards
'@deepseek-ai/dsh-experimental-browser-use-chrome-devtools-mcp':
specifier: workspace:*
version: link:packages/experimental/browser-use-chrome-devtools-mcp
@@ -325,6 +325,9 @@ importers:
'@deepseek-ai/dsh-cordis-client-runner':
specifier: workspace:*
version: link:../../packages/extensions/cordis-client-runner
'@deepseek-ai/dsh-creation-recommendations':
specifier: workspace:*
version: link:../../packages/experimental/creation-recommendations
'@deepseek-ai/dsh-cua-bundle':
specifier: workspace:*
version: link:../../packages/experimental/cua-bundle
@@ -340,9 +343,6 @@ importers:
'@deepseek-ai/dsh-experimental-cot-translation-bundle':
specifier: workspace:*
version: link:../../packages/experimental/cot-translation-bundle
'@deepseek-ai/dsh-experimental-creation-recommendations':
specifier: workspace:*
version: link:../../packages/experimental/creation-recommendations
'@deepseek-ai/dsh-experimental-inspector-profile':
specifier: workspace:*
version: link:../../packages/experimental/inspector-profile
@@ -8674,6 +8674,9 @@ importers:
'@deepseek-ai/cordis':
specifier: workspace:~
version: link:../../../vendor/cordis
'@deepseek-ai/dsh-action-cards':
specifier: workspace:*
version: link:../action-cards
'@deepseek-ai/dsh-api-remotes':
specifier: workspace:*
version: link:../../api/remotes
@@ -8704,9 +8707,6 @@ importers:
'@deepseek-ai/dsh-client-ui-tool':
specifier: workspace:*
version: link:../../client/ui-tool
'@deepseek-ai/dsh-experimental-action-cards':
specifier: workspace:*
version: link:../action-cards
'@deepseek-ai/dsh-llm':
specifier: workspace:*
version: link:../../llm/llm
@@ -8915,6 +8915,9 @@ importers:
'@deepseek-ai/cordis':
specifier: workspace:~
version: link:../../../vendor/cordis
'@deepseek-ai/dsh-action-cards':
specifier: workspace:*
version: link:../action-cards
'@deepseek-ai/dsh-client-locale':
specifier: workspace:*
version: link:../../client/locale
@@ -8924,6 +8927,9 @@ importers:
'@deepseek-ai/dsh-client-test-runtime':
specifier: workspace:*
version: link:../../test-support/client-runtime
'@deepseek-ai/dsh-client-ui-action-cards':
specifier: workspace:*
version: link:../client-ui-action-cards
'@deepseek-ai/dsh-client-ui-primitives':
specifier: workspace:*
version: link:../../client/ui-primitives
@@ -8933,13 +8939,7 @@ importers:
'@deepseek-ai/dsh-client-ui-slots':
specifier: workspace:*
version: link:../../client/ui-slots
'@deepseek-ai/dsh-experimental-action-cards':
specifier: workspace:*
version: link:../action-cards
'@deepseek-ai/dsh-experimental-client-ui-action-cards':
specifier: workspace:*
version: link:../client-ui-action-cards
'@deepseek-ai/dsh-experimental-creation-recommendations':
'@deepseek-ai/dsh-creation-recommendations':
specifier: workspace:*
version: link:../creation-recommendations
'@deepseek-ai/dsh-llm':
@@ -9155,13 +9155,13 @@ importers:
packages/experimental/creation-recommendations:
dependencies:
'@deepseek-ai/dsh-experimental-action-cards':
'@deepseek-ai/dsh-action-cards':
specifier: workspace:*
version: link:../action-cards
'@deepseek-ai/dsh-experimental-client-ui-action-cards':
'@deepseek-ai/dsh-client-ui-action-cards':
specifier: workspace:*
version: link:../client-ui-action-cards
'@deepseek-ai/dsh-experimental-client-ui-creation-recommendations':
'@deepseek-ai/dsh-client-ui-creation-recommendations':
specifier: workspace:*
version: link:../client-ui-creation-recommendations
resolve.exports:
+1 -1
View File
@@ -218,7 +218,7 @@ const packageFileExtras: Readonly<Record<string, readonly string[]>> = {
// Creator's composition guidance travels with the declaration package.
'@deepseek-ai/dsh-agent-preset': ['skills'],
// Personalized pages ship the location guidance used by their Creator.
'@deepseek-ai/dsh-experimental-creation-recommendations': ['references/*.md', 'skills/*.md'],
'@deepseek-ai/dsh-creation-recommendations': ['references/*.md', 'skills/*.md'],
// The Web Host mounts the default-off settings owner independently of the
// delegation-tool instances.
'@deepseek-ai/dsh-tool-subagent': ['lib/model-selection-settings.js'],
+9 -1
View File
@@ -1,6 +1,10 @@
/** Experimental package identities, publication policy, and retained npm names. */
/** Explicit npm identities retained across experimental classification and package-role moves. */
/**
* Experimental packages whose npm names omit the experimental prefix, by directory: identities retained across
* experimental classification and package-role moves, and packages named without the prefix so that leaving
* experimental status keeps their names.
*/
export const EXPERIMENTAL_PACKAGE_NAME_EXCEPTIONS: Readonly<Record<string, string>> = {
'packages/experimental/cua': '@deepseek-ai/dsh-cua',
'packages/experimental/cua-bundle': '@deepseek-ai/dsh-cua-bundle',
@@ -14,6 +18,10 @@ export const EXPERIMENTAL_PACKAGE_NAME_EXCEPTIONS: Readonly<Record<string, strin
'packages/experimental/hooks-codex': '@deepseek-ai/dsh-hooks-codex',
'packages/experimental/webhook': '@deepseek-ai/dsh-webhook',
'packages/experimental/webhook-github': '@deepseek-ai/dsh-webhook-github',
'packages/experimental/action-cards': '@deepseek-ai/dsh-action-cards',
'packages/experimental/client-ui-action-cards': '@deepseek-ai/dsh-client-ui-action-cards',
'packages/experimental/creation-recommendations': '@deepseek-ai/dsh-creation-recommendations',
'packages/experimental/client-ui-creation-recommendations': '@deepseek-ai/dsh-client-ui-creation-recommendations',
} satisfies Record<`packages/experimental/${string}`, `@deepseek-ai/dsh-${string}`>
/** npm namespace for experimental packages without retained-name exceptions. */
+2 -2
View File
@@ -109,10 +109,10 @@ const GROUP_ORDER = [
const SERVICE_ROLES: ServiceRole[] = [
{
key: 'actionCards',
pkg: 'experimental-action-cards',
pkg: 'action-cards',
title: 'Optional action cards',
mode: 'service',
consumers: ['experimental-creation-recommendations', 'experimental-client-ui-action-cards'],
consumers: ['creation-recommendations', 'client-ui-action-cards'],
note: 'Owns the card tool, card state, user actions and status notices; card kinds register their actions and handlers.',
},
{
+2 -2
View File
@@ -43,7 +43,7 @@ import SubagentRuntime from '@deepseek-ai/dsh-subagent'
import type { SubagentProvider } from '@deepseek-ai/dsh-subagent'
import * as ToolSubagentControl from '@deepseek-ai/dsh-tool-subagent-control'
import SkillRegistry from '@deepseek-ai/dsh-skill'
import ActionCards from '@deepseek-ai/dsh-experimental-action-cards'
import ActionCards from '@deepseek-ai/dsh-action-cards'
import RemoteAccess from '@deepseek-ai/dsh-api-remote-access'
import * as SkillFileSystem from '@deepseek-ai/dsh-skill-filesystem'
import LocalJobRegistry from '@deepseek-ai/dsh-jobs-local'
@@ -242,7 +242,7 @@ const TOOL_PACKAGES: ToolPackage[] = [
},
},
{
pkg: '@deepseek-ai/dsh-experimental-action-cards',
pkg: '@deepseek-ai/dsh-action-cards',
dir: 'action-cards',
source: 'packages/experimental/action-cards/src/index.ts',
requires: ['ctx.tools', 'ctx.agents', 'ctx.sessionProjections', 'ctx.remoteAccess'],
+4 -4
View File
@@ -49,7 +49,7 @@ describe('release families', () => {
expect(members
.filter(member => member.directory.startsWith('packages/experimental/'))
.map(member => member.name)).toEqual([
'@deepseek-ai/dsh-experimental-action-cards',
'@deepseek-ai/dsh-action-cards',
'@deepseek-ai/dsh-experimental-agent-team-profile',
'@deepseek-ai/dsh-experimental-agent-team',
'@deepseek-ai/dsh-experimental-api-speech-to-text',
@@ -60,16 +60,16 @@ describe('release families', () => {
'@deepseek-ai/dsh-experimental-browser-use-runtime',
'@deepseek-ai/dsh-experimental-browser-use-stagehand-native',
'@deepseek-ai/dsh-experimental-claude-code-mods',
'@deepseek-ai/dsh-experimental-client-ui-action-cards',
'@deepseek-ai/dsh-client-ui-action-cards',
'@deepseek-ai/dsh-experimental-client-ui-agent-team',
'@deepseek-ai/dsh-experimental-client-ui-claude-code-mods',
'@deepseek-ai/dsh-experimental-client-ui-cot-translation',
'@deepseek-ai/dsh-experimental-client-ui-creation-recommendations',
'@deepseek-ai/dsh-client-ui-creation-recommendations',
'@deepseek-ai/dsh-experimental-client-ui-voice-input',
'@deepseek-ai/dsh-experimental-computer-use-cua-driver-mcp',
'@deepseek-ai/dsh-experimental-computer-use-cua-driver-native',
'@deepseek-ai/dsh-experimental-cot-translation-bundle',
'@deepseek-ai/dsh-experimental-creation-recommendations',
'@deepseek-ai/dsh-creation-recommendations',
'@deepseek-ai/dsh-cua-bundle',
'@deepseek-ai/dsh-experimental-cua-macos',
'@deepseek-ai/dsh-cua',
@@ -16,7 +16,7 @@
{"type":"session/title","data":{"title":"I wish I had a","messageSeqs":[8],"source":{"kind":"fallback"}}}
{"type":"assistant/message","data":{"turn":1,"step":1,"message":{"role":"assistant","content":[{"type":"tool-call","id":"call_creation_skill","name":"skill","arguments":"{\"name\":\"personalized-pages\"}"}],"source":{"kind":"model","provider":"deepseek-official","model":"deepseek-v4-flash"},"id":"{{message:6}}"},"stream":[{"type":"chunk","time":1792674450282,"chunk":{"type":"block-start","index":0,"blockType":"tool-call"}},{"type":"chunk","time":1792674450282,"chunk":{"type":"block-end","index":0,"block":{"type":"tool-call","id":"call_creation_skill","name":"skill","arguments":"{\"name\":\"personalized-pages\"}"}}},{"type":"chunk","time":1792674450283,"chunk":{"type":"finish","reason":{"kind":"tool-calls"}}}]},"surfaceOp":"append"}
{"type":"tool/call","data":{"turn":1,"step":1,"callId":"call_creation_skill","name":"skill","arguments":"{\"name\":\"personalized-pages\"}"}}
{"type":"tool/result","data":{"turn":1,"step":1,"message":{"role":"tool","source":{"kind":"tool","callId":"call_creation_skill"},"toolCallId":"call_creation_skill","content":[{"type":"text","text":"<skill_content name=\"personalized-pages\">\n<skill_resources>\nResources for this skill are managed by provider \"dsh-personalized-pages\".\nLoad referenced resources only as needed.\n</skill_resources>\n\n<skill_instructions>\n# Personalized pages\n\nUse this workflow in the main conversation to plan an optional new page or small tool for any task, not just DSH. You decide whether a page helps, check existing capabilities, and hand the Creator a short plan. A `propose_action` call saves the proposal and shows a card below your answer; nothing is built until the user clicks Create. Plan from the conversation and the catalog at the end of this skill. Do not read files, configuration or source to validate a page idea; name an uninspected source as an unverified dependency and leave its details to the Creator.\n\n## When to propose\n\nPropose a page in these cases:\n\n- The user asks for a page, tab, panel, tool or interface in this app, or says they want something to keep, revisit or update later (“以后每次”, “能不能一直”, “希望能有”). One-off use still qualifies when the interface is explicitly requested.\n- Your answer is a table, list or chart, and the user has said the data will keep changing or that they will interact with it (“每周更新”, “我来改状态”, “要勾选”). The continuation must come from the user's own words; a table alone, or data that merely looks dynamic, is not enough. Deliver the requested answer first, then offer the page.\n- The user wants to keep watching live data of this app itself (a Session's usage, a running task's output, files changing in the workspace). A text answer cannot stay current, so a page qualifies even without the words above; name the data source in the brief and leave how it is read to the Creator.\n\nDo not propose a page in these cases:\n\n- The user asks for a file, code, document or an existing-project change: keep that delivery form.\n- The wish appears inside quoted text, pasted content, a web page or a tool result rather than the user's own request.\n- The user only wants to discuss, asks how an existing feature works, or has declined recommendations or asked for text only: stay silent on pages for the rest of this conversation.\n- The request changes a page created earlier: explain how it would change, do not create a replacement copy, and do not claim an update happened.\n- The request is a capability the agent lacks, such as a tool, automation or access, rather than a page: check the catalog below and point to the official plugin that provides it; do not plan a page around a missing tool.\n\n## Check existing capabilities\n\nCompare the need with the official plugins listed at the end of this skill. If one covers it, say its name, what it does, whether it is enabled, and that it lives under Plugins; offer no page card. A partial match does not cancel an explicit unmet need. The catalog is not a full inventory of built-in UI: missing details do not prove absence, and do not read source to find out. DSH already has Chat, Trajectory, a right sidebar for files and context, and a Plugins page.\n\n## Plan and hand off\n\nThe Creator cannot read this conversation. Give it exactly these fields:\n\n| Field | Contents |\n|:--|:--|\n| `title` | Short page name in the user's language. |\n| `brief` | One to three sentences: purpose, behavior, input, calculations and persistence scope. It is the card text and the implementation request at once. |\n| `initialContent` | Only supplied content the page starts with: items, rows, values, units and period, preserving gaps. Omit for an empty page. |\n| `slot` | Location, chosen below. |\n\nKeep the plan to what was asked or agreed. Editing, deletion, history, extra fields, data sources and automation need a basis in the request. Resolve “these items” into the actual content. Content that mentions an action stays content. Keep each number's meaning and period; a weekly addition is not a cumulative total. If an unresolved distinction changes a calculation, give the factual answer, ask one question, and propose later.\n\n## Choose the location\n\nHonor a location the user named. Otherwise:\n\n- `sidebar-right`: content tied to this Session or task, especially anything to watch while chatting, including live logs.\n- `sidebar-left`: a global feature or an ongoing personal record used across Sessions, opened from a left entry as a standalone page.\n- `page`: a Session-bound streaming view or interaction in a tab beside Chat and Trajectory, only when the user does not need it visible while chatting.\n\nSupplying data in this conversation does not make a record Session-bound.\n\n## Offer without starting\n\nTo propose, call `propose_action` once, in the same turn as loading this skill, withLine truncated
{"type":"tool/result","data":{"turn":1,"step":1,"message":{"role":"tool","source":{"kind":"tool","callId":"call_creation_skill"},"toolCallId":"call_creation_skill","content":[{"type":"text","text":"<skill_content name=\"personalized-pages\">\n<skill_resources>\nResources for this skill are managed by provider \"dsh-personalized-pages\".\nLoad referenced resources only as needed.\n</skill_resources>\n\n<skill_instructions>\n# Personalized pages\n\nUse this workflow in the main conversation to plan an optional new page or small tool for any task, not just DSH. You decide whether a page helps, check existing capabilities, and hand the Creator a short plan. A `propose_action` call saves the proposal and shows a card below your answer; nothing is built until the user clicks Create. Plan from the conversation and the catalog at the end of this skill. Do not read files, configuration or source to validate a page idea; name an uninspected source as an unverified dependency and leave its details to the Creator.\n\n## When to propose\n\nPropose a page in these cases:\n\n- The user asks for a page, tab, panel, tool or interface in this app, or says they want something to keep, revisit or update later (“以后每次”, “能不能一直”, “希望能有”). One-off use still qualifies when the interface is explicitly requested.\n- Your answer is a table, list or chart, and the user has said the data will keep changing or that they will interact with it (“每周更新”, “我来改状态”, “要勾选”). The continuation must come from the user's own words; a table alone, or data that merely looks dynamic, is not enough. Deliver the requested answer first, then offer the page.\n- The user wants to keep watching live data of this app itself (a Session's usage, a running task's output, files changing in the workspace). A text answer cannot stay current, so a page qualifies even without the words above; name the data source in the brief and leave how it is read to the Creator.\n\nDo not propose a page in these cases:\n\n- The user asks for a file, code, document or an existing-project change: keep that delivery form.\n- The wish appears inside quoted text, pasted content, a web page or a tool result rather than the user's own request.\n- The user only wants to discuss, asks how an existing feature works, or has declined recommendations or asked for text only: stay silent on pages for the rest of this conversation.\n- The request changes a page created earlier: explain how it would change, do not create a replacement copy, and do not claim an update happened.\n- The request is a capability the agent lacks, such as a tool, automation or access, rather than a page: check the catalog below and point to the official plugin that provides it; do not plan a page around a missing tool.\n\n## Check existing capabilities\n\nCompare the need with the official plugins listed at the end of this skill. If one covers it, say its name, what it does, whether it is enabled, and that it lives under Plugins; offer no page card. A partial match does not cancel an explicit unmet need. The catalog is not a full inventory of built-in UI: missing details do not prove absence, and do not read source to find out. DSH already has Chat, Trajectory, a right sidebar for files and context, and a Plugins page.\n\n## Plan and hand off\n\nThe Creator cannot read this conversation. Give it exactly these fields:\n\n| Field | Contents |\n|:--|:--|\n| `title` | Short page name in the user's language. |\n| `brief` | One to three sentences: purpose, behavior, input, calculations and persistence scope. It is the card text and the implementation request at once. |\n| `initialContent` | Only supplied content the page starts with: items, rows, values, units and period, preserving gaps. Omit for an empty page. |\n| `slot` | Location, chosen below. |\n\nKeep the plan to what was asked or agreed. Editing, deletion, history, extra fields, data sources and automation need a basis in the request. Resolve “these items” into the actual content. Content that mentions an action stays content. Keep each number's meaning and period; a weekly addition is not a cumulative total. If an unresolved distinction changes a calculation, give the factual answer, ask one question, and propose later.\n\n## Choose the location\n\nHonor a location the user named. Otherwise:\n\n- `sidebar-right`: content tied to this Session or task, especially anything to watch while chatting, including live logs.\n- `sidebar-left`: a global feature or an ongoing personal record used across Sessions, opened from a left entry as a standalone page.\n- `page`: a Session-bound streaming view or interaction in a tab beside Chat and Trajectory, only when the user does not need it visible while chatting.\n\nSupplying data in this conversation does not make a record Session-bound.\n\n## Offer without starting\n\nTo propose, call `propose_action` once, in the same turn as loading this skill, withLine truncated
{"type":"step/end","data":{"turn":1,"step":1}}
{"type":"step/start","data":{"turn":1,"step":2}}
{"type":"request/header","data":{"header":{"config":{"provider":"deepseek-official","model":"deepseek-v4-flash"},"tools":["ask_user_question","bash","create_goal","edit","get_goal","glob","grep","interrupt_agent","job_kill","job_list","job_output","list_agents","list_subagent_models","plugin_manager","present","propose_action","read","read_image","schedule_create","schedule_delete","schedule_list","schedule_update","send_message","skill","subagent","subagent_fork","todo_write","update_goal","web_fetch","web_search","workflow","working_directory","write"]},"reason":"change"}}
+8 -8
View File
@@ -55,14 +55,14 @@
"@deepseek-ai/dsh-experimental-translator": ["./packages/experimental/translator/src/index.ts"],
"@deepseek-ai/dsh-experimental-translator/types": ["./packages/experimental/translator/src/types.ts"],
"@deepseek-ai/dsh-experimental-client-ui-cot-translation": ["./packages/experimental/client-ui-cot-translation/src/index.ts"],
"@deepseek-ai/dsh-experimental-action-cards": ["./packages/experimental/action-cards/src/index.ts"],
"@deepseek-ai/dsh-experimental-action-cards/types": ["./packages/experimental/action-cards/src/types.ts"],
"@deepseek-ai/dsh-experimental-client-ui-action-cards": ["./packages/experimental/client-ui-action-cards/src/index.ts"],
"@deepseek-ai/dsh-experimental-client-ui-action-cards/client": ["./packages/experimental/client-ui-action-cards/src/client/index.ts"],
"@deepseek-ai/dsh-experimental-creation-recommendations": ["./packages/experimental/creation-recommendations/src/index.ts"],
"@deepseek-ai/dsh-experimental-creation-recommendations/types": ["./packages/experimental/creation-recommendations/src/types.ts"],
"@deepseek-ai/dsh-experimental-client-ui-creation-recommendations": ["./packages/experimental/client-ui-creation-recommendations/src/index.ts"],
"@deepseek-ai/dsh-experimental-client-ui-creation-recommendations/client": ["./packages/experimental/client-ui-creation-recommendations/src/client/index.ts"],
"@deepseek-ai/dsh-action-cards": ["./packages/experimental/action-cards/src/index.ts"],
"@deepseek-ai/dsh-action-cards/types": ["./packages/experimental/action-cards/src/types.ts"],
"@deepseek-ai/dsh-client-ui-action-cards": ["./packages/experimental/client-ui-action-cards/src/index.ts"],
"@deepseek-ai/dsh-client-ui-action-cards/client": ["./packages/experimental/client-ui-action-cards/src/client/index.ts"],
"@deepseek-ai/dsh-creation-recommendations": ["./packages/experimental/creation-recommendations/src/index.ts"],
"@deepseek-ai/dsh-creation-recommendations/types": ["./packages/experimental/creation-recommendations/src/types.ts"],
"@deepseek-ai/dsh-client-ui-creation-recommendations": ["./packages/experimental/client-ui-creation-recommendations/src/index.ts"],
"@deepseek-ai/dsh-client-ui-creation-recommendations/client": ["./packages/experimental/client-ui-creation-recommendations/src/client/index.ts"],
"@deepseek-ai/dsh-experimental-client-ui-cot-translation/types": ["./packages/experimental/client-ui-cot-translation/src/types.ts"],
"@deepseek-ai/dsh-experimental-client-ui-cot-translation/client": ["./packages/experimental/client-ui-cot-translation/src/client/index.ts"],
"@deepseek-ai/dsh-experimental-cot-translation-bundle": ["./packages/experimental/cot-translation-bundle/src/index.ts"],