Merge latest PR 956 stack base

This commit is contained in:
Hypatia May
2026-07-30 18:28:11 +08:00
13 changed files with 12 additions and 12 deletions

View File

@@ -10,6 +10,8 @@
// //
// Composition divergences from `dsh web`, all deliberate, all via include // Composition divergences from `dsh web`, all deliberate, all via include
// patches over the SAME tree (never a second yml): temp persistenceRoot; // patches over the SAME tree (never a second yml): temp persistenceRoot;
// user skill roots redirected to empty temp directories (project skill
// discovery remains real);
// workspace-context disabled (recorded fixtures must not embed this repo's // workspace-context disabled (recorded fixtures must not embed this repo's
// AGENTS.md); session-title-llm disabled (its fire-and-forget title call // AGENTS.md); session-title-llm disabled (its fire-and-forget title call
// would race the loop for the session's replay cursor); webserver pinned to // would race the loop for the session's replay cursor); webserver pinned to
@@ -169,6 +171,16 @@ export async function launchWebScaffold(options: LaunchOptions = {}): Promise<We
// per write; the scaffold restores the original cwd after boot, so the // per write; the scaffold restores the original cwd after boot, so the
// row gets an absolute temp root (removed with the workspace at close). // row gets an absolute temp root (removed with the workspace at close).
{ id: 'storage-json', config: { root: join(workspaceCwd, '.dsh-storages') } }, { id: 'storage-json', config: { root: join(workspaceCwd, '.dsh-storages') } },
// Host-level skills are ambient machine state and must not change replay
// goldens. Keep the provider enabled so project skills under workspaceCwd
// remain discoverable, but give its user roots empty scaffold-owned paths.
{
id: 'skill-local',
config: {
dshHome: join(persistenceRoot, 'skill-dsh-home'),
agentsHome: join(persistenceRoot, 'skill-agents-home'),
},
},
// fs/bash cwd default to process.cwd(); the gateway injects the same // fs/bash cwd default to process.cwd(); the gateway injects the same
// value into session.cwd — chdir below anchors all three to the temp // value into session.cwd — chdir below anchors all three to the temp
// workspace, keeping the composition untouched. // workspace, keeping the composition untouched.

View File

@@ -11,7 +11,6 @@
- img - img
- button "编辑": - button "编辑":
- img - img
- button "▸ 上下文注入"
- 'button "Think The user wants me to write a single `run_code` program that:"': - 'button "Think The user wants me to write a single `run_code` program that:"':
- img - img
- img - img

View File

@@ -11,7 +11,6 @@
- img - img
- button "编辑": - button "编辑":
- img - img
- button "▸ 上下文注入"
- button "Think The user wants me to:": - button "Think The user wants me to:":
- img - img
- img - img

View File

@@ -11,7 +11,6 @@
- img - img
- button "编辑": - button "编辑":
- img - img
- button "▸ 上下文注入"
- button "Think The user wants me to run a simple bash command and reply with \"DONE\".": - button "Think The user wants me to run a simple bash command and reply with \"DONE\".":
- img - img
- img - img

View File

@@ -11,7 +11,6 @@
- img - img
- button "编辑": - button "编辑":
- img - img
- button "▸ 上下文注入"
- button "Think The user wants me to reply with a single word. Let me comply.": - button "Think The user wants me to reply with a single word. Let me comply.":
- img - img
- img - img

View File

@@ -11,7 +11,6 @@
- img - img
- button "编辑": - button "编辑":
- img - img
- button "▸ 上下文注入"
- paragraph: partial - paragraph: partial
- text: 已停止 - text: 已停止
- button "复制": - button "复制":

View File

@@ -11,7 +11,6 @@
- img - img
- button "编辑": - button "编辑":
- img - img
- button "▸ 上下文注入"
- textbox "Message the agent" - textbox "Message the agent"
- button "Add attachment": - button "Add attachment":
- img - img

View File

@@ -11,7 +11,6 @@
- img - img
- button "编辑": - button "编辑":
- img - img
- button "▸ 上下文注入"
- button "Think The user is asking for a one-sentence description of event sourcing. This is a straightforward knowledge question that doesn't require any skill loading or tool calls.": - button "Think The user is asking for a one-sentence description of event sourcing. This is a straightforward knowledge question that doesn't require any skill loading or tool calls.":
- img - img
- img - img

View File

@@ -11,7 +11,6 @@
- img - img
- button "编辑": - button "编辑":
- img - img
- button "▸ 上下文注入"
- button "Think The user wants me to use the ask_user_question tool with specific parameters. Let me do exactly that.": - button "Think The user wants me to use the ask_user_question tool with specific parameters. Let me do exactly that.":
- img - img
- img - img

View File

@@ -11,7 +11,6 @@
- img - img
- button "编辑": - button "编辑":
- img - img
- button "▸ 上下文注入"
- paragraph: partial - paragraph: partial
- list: - list:
- listitem: - listitem:

View File

@@ -11,7 +11,6 @@
- img - img
- button "编辑": - button "编辑":
- img - img
- button "▸ 上下文注入"
- paragraph: partial - paragraph: partial
- list: - list:
- listitem: - listitem:

View File

@@ -11,7 +11,6 @@
- img - img
- button "编辑": - button "编辑":
- img - img
- button "▸ 上下文注入"
- button "Think The user wants me to use the ask_user_question tool to ask them a specific question with the given parameters. Let me do exactly that.": - button "Think The user wants me to use the ask_user_question tool to ask them a specific question with the given parameters. Let me do exactly that.":
- img - img
- img - img

View File

@@ -11,7 +11,6 @@
- img - img
- button "编辑": - button "编辑":
- img - img
- button "▸ 上下文注入"
- button "Think The user wants me to use the ask_user_question tool to ask them a specific question with the given parameters. Let me do exactly that.": - button "Think The user wants me to use the ask_user_question tool to ask them a specific question with the given parameters. Let me do exactly that.":
- img - img
- img - img