@deepseek-ai/dsh-agent-presets 0.1.3-alpha.2 → 0.1.5-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.i18n.yaml +2 -2
- package/README.md +3 -1
- package/README.zh.md +3 -1
- package/lib/typert.host.js +28 -8
- package/package.json +27 -27
- package/presets/cordis/agent.cordis.yml +3 -0
- package/presets/minimal/agent.cordis.yml +5 -24
- package/presets/minimal/preset.yml +1 -1
- package/presets/ptc/agent.cordis.yml +3 -0
- package/presets/standard/agent.cordis.yml +3 -0
package/README.i18n.yaml
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write packages/preset/agent-presets/README.md
|
|
5
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: 6ef3374a5f1ae6b83005073f80d63d156ee92f9c
|
|
6
|
+
README.zh.md: a1be6d634e592126711befad4ffcb06ca0bdc26c
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ English | [中文](README.zh.md)
|
|
|
9
9
|
|
|
10
10
|
## Summary
|
|
11
11
|
|
|
12
|
-
`dsh-agent-presets`
|
|
12
|
+
Use `dsh-agent-presets` to give each session the tools, prompt sections, and skills named by one preset's `agent.cordis.yml`. One process can run sessions with different presets while keeping their state separate. The preset list combines shipped definitions with configured and user roots, reports why a preset cannot start, and can create a local preset by copying an existing one. Deployments and users can choose defaults; only an empty session may switch presets. Treat every authored preset as trusted configuration because it grants the capabilities of the plugins it selects.
|
|
13
13
|
|
|
14
14
|
## Table of Contents
|
|
15
15
|
|
|
@@ -27,6 +27,8 @@ English | [中文](README.zh.md)
|
|
|
27
27
|
|
|
28
28
|
Mount this package in a composition that should give each agent session its own tools, prompt sections, and skills from a preset file. Every session names a preset — explicitly or through the configured default — and is composed from it; without the package, sessions fall back to whatever the host composition mounts.
|
|
29
29
|
|
|
30
|
+
The shipped Web `standard`, `ptc`, and `cordis` presets include [explicit file delivery](../../client/ui-deliverables/README.md#explicit-deliveries). The `minimal` preset keeps its fixed two-tool training configuration.
|
|
31
|
+
|
|
30
32
|
### What a preset gives a session
|
|
31
33
|
|
|
32
34
|
A session composed from a preset runs the plugins that preset's `agent.cordis.yml` names: its tools, prompt sections, and skills. Sessions joined to the same preset share one installed composition, and each session's state stays separate. A child agent (subagent) joins its parent's composition, so it sees the same tools and prompt sections as the agent that spawned it.
|
package/README.zh.md
CHANGED
|
@@ -9,7 +9,7 @@ kind: "package-reference"
|
|
|
9
9
|
|
|
10
10
|
## 概述
|
|
11
11
|
|
|
12
|
-
`dsh-agent-presets`
|
|
12
|
+
使用 `dsh-agent-presets` 为每个会话提供某个 preset 的 `agent.cordis.yml` 所指定的工具、提示词段落与 skill(技能)。一个进程可以运行使用不同 preset 的会话,同时保持它们的状态相互隔离。preset 名单合并随附定义、已配置根目录与用户根目录,会报告 preset 无法启动的原因,也能通过复制现有 preset 创建本地 preset。部署与用户都可选择默认值;只有空会话可以切换 preset。请将每个自行编写的 preset 视为受信任配置,因为它会授予其所选插件的能力。
|
|
13
13
|
|
|
14
14
|
## 目录
|
|
15
15
|
|
|
@@ -27,6 +27,8 @@ kind: "package-reference"
|
|
|
27
27
|
|
|
28
28
|
在需要让每个 agent 会话从 preset 文件获得自己的工具、提示词段落与 skill 的组装中挂载本包。每个会话都会命名一个 preset——显式指定或通过配置的默认值——并据此组装;没有本包时,会话只能回退到宿主组装挂载的内容。
|
|
29
29
|
|
|
30
|
+
随附 Web 的 `standard`、`ptc` 与 `cordis` preset 包含[显式文件交付](../../client/ui-deliverables/README.zh.md#explicit-deliveries)。`minimal` preset 保留固定的双工具训练配置。
|
|
31
|
+
|
|
30
32
|
### preset 给会话带来什么
|
|
31
33
|
|
|
32
34
|
从 preset 组装的会话会运行该 preset `agent.cordis.yml` 所列插件:它的工具、提示词段落与 skill。加入同一 preset 的会话共享一份已安装的组装,且各会话的状态彼此隔离。子 agent(subagent)会加入其父方的组装,因此它看到的工具与提示词段落和创建它的 agent 相同。
|
package/lib/typert.host.js
CHANGED
|
@@ -474,7 +474,15 @@ export const TYPERT = {
|
|
|
474
474
|
},
|
|
475
475
|
{
|
|
476
476
|
"name": "EpochHeader",
|
|
477
|
-
"declaration": "export interface EpochHeader {\n config: LlmCallConfig;\n adapterDefaults?: LlmCallConfigAdapterDefaults;\n
|
|
477
|
+
"declaration": "export interface EpochHeader {\n config: LlmCallConfig;\n adapterDefaults?: LlmCallConfigAdapterDefaults;\n tools?: ToolSchema[];\n}"
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
"name": "FeedbackCategory",
|
|
481
|
+
"declaration": "export type FeedbackCategory = 'task-result' | 'instruction-following' | 'product-interaction' | 'service-stability' | 'resource-cost' | 'security-privacy-permission' | 'other';"
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"name": "FeedbackRecord",
|
|
485
|
+
"declaration": "export interface FeedbackRecord {\n readonly text?: string;\n readonly category?: FeedbackCategory;\n}"
|
|
478
486
|
},
|
|
479
487
|
{
|
|
480
488
|
"name": "FileAttachmentRef",
|
|
@@ -546,7 +554,7 @@ export const TYPERT = {
|
|
|
546
554
|
},
|
|
547
555
|
{
|
|
548
556
|
"name": "Inbox",
|
|
549
|
-
"declaration": "export
|
|
557
|
+
"declaration": "export interface Inbox {\n readonly nextTurn: readonly UserMessage[];\n readonly nextStep: readonly UserMessage[];\n clear(): void;\n append(target: InboxTarget, message: UserMessage): void;\n prepend(target: InboxTarget, message: UserMessage): void;\n replace(messageId: MessageId, newMessage: UserMessage): boolean;\n remove(messageId: MessageId): boolean;\n splice(target: InboxTarget, start: number, deleteCount: number, inserted: UserMessage[]): UserMessage[];\n}"
|
|
550
558
|
},
|
|
551
559
|
{
|
|
552
560
|
"name": "InboxTarget",
|
|
@@ -578,7 +586,7 @@ export const TYPERT = {
|
|
|
578
586
|
},
|
|
579
587
|
{
|
|
580
588
|
"name": "MessageFeedbackItem",
|
|
581
|
-
"declaration": "export interface MessageFeedbackItem {\n readonly messageId: MessageId;\n readonly rating: MessageFeedbackRating;\n readonly note?: string;\n readonly version: MessageFeedbackVersion;\n readonly createdAt: number;\n readonly updatedAt: number;\n}"
|
|
589
|
+
"declaration": "export interface MessageFeedbackItem {\n readonly messageId: MessageId;\n readonly rating: MessageFeedbackRating;\n readonly note?: string;\n readonly category?: FeedbackCategory;\n readonly version: MessageFeedbackVersion;\n readonly createdAt: number;\n readonly updatedAt: number;\n}"
|
|
582
590
|
},
|
|
583
591
|
{
|
|
584
592
|
"name": "MessageFeedbackPut",
|
|
@@ -654,7 +662,7 @@ export const TYPERT = {
|
|
|
654
662
|
},
|
|
655
663
|
{
|
|
656
664
|
"name": "RequestContext",
|
|
657
|
-
"declaration": "export interface RequestContext {\n provider: string;\n model: string;\n contextWindow?: number;\n}"
|
|
665
|
+
"declaration": "export interface RequestContext {\n provider: string;\n model: string;\n contextWindow?: number;\n systemPromptUpdate?: SystemPromptUpdate;\n}"
|
|
658
666
|
},
|
|
659
667
|
{
|
|
660
668
|
"name": "RequestHeaderReason",
|
|
@@ -674,11 +682,11 @@ export const TYPERT = {
|
|
|
674
682
|
},
|
|
675
683
|
{
|
|
676
684
|
"name": "SessionEvent",
|
|
677
|
-
"declaration": "export type SessionEvent<T extends SessionEventType = SessionEventType> = { [K in SessionEventType]: { type: K; seq: SessionSeq; time: number; data: SessionEventMap[K]; ignorable?: true; } & (K extends SurfaceEventType ? {
|
|
685
|
+
"declaration": "export type SessionEvent<T extends SessionEventType = SessionEventType> = { [K in SessionEventType]: { type: K; seq: SessionSeq; time: number; data: SessionEventMap[K]; ignorable?: true; } & (K extends SurfaceEventType ? SurfaceIntent<K> : { surfaceOp?: never; sourceEventSeqs?: never; }) }[T];"
|
|
678
686
|
},
|
|
679
687
|
{
|
|
680
688
|
"name": "SessionEventMap",
|
|
681
|
-
"declaration": "export interface SessionEventMap {\n 'turn/start': { turn: number; };\n 'turn/end': { turn: number; reason: TurnEndReason; };\n 'step/start': { turn: number; step: number; };\n 'step/end': { turn: number; step: number; };\n 'user/message': UserMessage;\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; stream: AssistantStreamRecord[]; usage?: TokenUsage; interrupted?: true; };\n 'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[]; };\n 'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string; };\n 'tool/result': { turn: number; step: number; message: ToolResultMessage; error?: { name: string; code: string; }; meta?: JsonValue; };\n 'request/header': { header: EpochHeader; reason: RequestHeaderReason; startsSeries?: true; };\n 'request/context': RequestContext;\n 'session/end-seed': { inherited?: true; };\n 'agent/inbox/spliced': { target: InboxTarget; start: number; removedCount?: number; inserted: UserMessage[]; outcome?: 'canceled'; };\n 'approval/asked': { id: ApprovalRequestId; toolName: string; callId?: ToolCallId; reason?: string; };\n 'approval/decided': { id: ApprovalRequestId; outcome: ApprovalOutcome; };\n 'approval/policy': { policy: ApprovalPolicy; source?: 'delegation'; };\n 'tool/
|
|
689
|
+
"declaration": "export interface SessionEventMap {\n 'turn/start': { turn: number; };\n 'turn/end': { turn: number; reason: TurnEndReason; };\n 'step/start': { turn: number; step: number; };\n 'step/end': { turn: number; step: number; };\n 'user/message': UserMessage;\n 'system/message': { turn: number; step: number; message: SystemMessage; };\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; stream: AssistantStreamRecord[]; usage?: TokenUsage; interrupted?: true; };\n 'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[]; };\n 'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string; };\n 'tool/result': { turn: number; step: number; message: ToolResultMessage; error?: { name: string; code: string; }; meta?: JsonValue; };\n 'request/header': { header: EpochHeader; reason: RequestHeaderReason; startsSeries?: true; };\n 'request/context': RequestContext;\n 'session/end-seed': { inherited?: true; };\n 'agent/inbox/spliced': { target: InboxTarget; start: number; removedCount?: number; inserted: UserMessage[]; outcome?: 'canceled'; };\n 'approval/asked': { id: ApprovalRequestId; toolName: string; callId?: ToolCallId; reason?: string; };\n 'approval/decided': { id: ApprovalRequestId; outcome: ApprovalOutcome; };\n 'approval/policy': { policy: ApprovalPolicy; source?: 'delegation'; };\n 'tool/ptc-dispatch-start': PtcDispatchStartEventData;\n 'tool/ptc-dispatch': PtcDispatchEventData;\n 'agent-preset/selected': { agentPreset: string; };\n 'command/run': { commandId: CommandId; name: string; args?: string; source: CommandSource; };\n 'command/done': { commandId: CommandId; kind: 'success' | 'error'; text?: string; sourceEventSeq?: import('@deepseek-ai/dsh-session/types').SessionSeq; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'subagent/descriptor': SubagentDescriptorData;\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'subagent/catalog': SubagentCatalogEvent;\n 'feedback/record': FeedbackRecord;\n 'team/member': { version: 2; teamId: TeamId; member: TeamMemberSnapshot; };\n 'team/task': { version: 2; teamId: TeamId; task: TeamTaskSnapshot; };\n 'team/message/queued': { version: 2; teamId: TeamId; message: TeamMessageSnapshot; };\n 'team/message/delivered': { version: 2; teamId: TeamId; messageId: TeamMessageId; targetId: SessionId; };\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\n 'compaction/start': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; };\n 'compaction/summary': { compactionId: CompactionId; sourceCommandId?: CommandId; summary: ContentBlock[]; shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; provider: string; model: string; maxTokens?: number; usage?: TokenUsage; } & ({ rawOutput: ContentBlock[]; llmStreamCall: true; } | { rawOutput?: ContentBlock[]; llmStreamCall?: never; });\n 'compaction/end': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; error?: string; };\n 'compaction/prune': { shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; };\n}"
|
|
682
690
|
},
|
|
683
691
|
{
|
|
684
692
|
"name": "SessionEventType",
|
|
@@ -736,6 +744,10 @@ export const TYPERT = {
|
|
|
736
744
|
"name": "StreamChunk",
|
|
737
745
|
"declaration": "export type StreamChunk = { type: 'block-start'; index: number; blockType: ContentBlockType; } | { type: 'text-delta'; index: number; text: string; } | { type: 'reasoning-delta'; index: number; text: string; } | { type: 'tool-call-delta'; index: number; id: ToolCallId; name?: string; argumentsDelta: string; } | { type: 'block-end'; index: number; block: ContentBlock; } | { type: 'usage'; usage: TokenUsage; } | { type: 'finish'; reason: FinishReason; replayState?: ReplayEnvelope; };"
|
|
738
746
|
},
|
|
747
|
+
{
|
|
748
|
+
"name": "SubagentCatalogEvent",
|
|
749
|
+
"declaration": "export type SubagentCatalogEvent = { readonly version: 0; readonly childId: SessionId; readonly childCreatedAt: number; } & ({ readonly mode: 'one-shot'; readonly label?: string; } | { readonly mode: 'continuable'; readonly label: string; });"
|
|
750
|
+
},
|
|
739
751
|
{
|
|
740
752
|
"name": "SubagentDescriptorBase",
|
|
741
753
|
"declaration": "export interface SubagentDescriptorBase {\n readonly version: number;\n readonly mode: 'one-shot' | 'continuable';\n readonly provider: string;\n}"
|
|
@@ -750,7 +762,7 @@ export const TYPERT = {
|
|
|
750
762
|
},
|
|
751
763
|
{
|
|
752
764
|
"name": "SurfaceEventType",
|
|
753
|
-
"declaration": "export type SurfaceEventType = 'user/message' | 'assistant/message' | 'tool/result';"
|
|
765
|
+
"declaration": "export type SurfaceEventType = 'system/message' | 'user/message' | 'assistant/message' | 'tool/result';"
|
|
754
766
|
},
|
|
755
767
|
{
|
|
756
768
|
"name": "SurfaceIntent",
|
|
@@ -758,7 +770,15 @@ export const TYPERT = {
|
|
|
758
770
|
},
|
|
759
771
|
{
|
|
760
772
|
"name": "SurfaceOp",
|
|
761
|
-
"declaration": "export type SurfaceOp = 'append' | { op: 'replace';
|
|
773
|
+
"declaration": "export type SurfaceOp = 'append' | { op: 'replace'; startSeq: SessionSeq; endSeq: SessionSeq; };"
|
|
774
|
+
},
|
|
775
|
+
{
|
|
776
|
+
"name": "SystemMessage",
|
|
777
|
+
"declaration": "export interface SystemMessage extends Message {\n readonly role: 'system';\n readonly source: MessageSourceMap['plugin'];\n}"
|
|
778
|
+
},
|
|
779
|
+
{
|
|
780
|
+
"name": "SystemPromptUpdate",
|
|
781
|
+
"declaration": "export type SystemPromptUpdate = 'in-history';"
|
|
762
782
|
},
|
|
763
783
|
{
|
|
764
784
|
"name": "TeamId",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-agent-presets",
|
|
3
3
|
"description": "Per-session agent composition from preset cordis.yml files for the DeepSeek Harness",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.5-alpha.2",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -55,18 +55,18 @@
|
|
|
55
55
|
"license": "MIT",
|
|
56
56
|
"peerDependencies": {
|
|
57
57
|
"@deepseek-ai/cordis-plugin-include": "^1.0.7",
|
|
58
|
-
"@deepseek-ai/dsh-agent": "^0.1.3-alpha.2",
|
|
59
|
-
"@deepseek-ai/dsh-atomic-write": "^0.1.3-alpha.2",
|
|
60
|
-
"@deepseek-ai/dsh-invariants": "^0.1.3-alpha.2",
|
|
61
58
|
"@deepseek-ai/cordis-plugin-loader": "^1.0.3",
|
|
62
|
-
"@deepseek-ai/dsh-
|
|
63
|
-
"@deepseek-ai/dsh-
|
|
64
|
-
"@deepseek-ai/dsh-
|
|
65
|
-
"@deepseek-ai/dsh-
|
|
66
|
-
"@deepseek-ai/dsh-
|
|
67
|
-
"@deepseek-ai/dsh-session": "^0.1.
|
|
68
|
-
"@deepseek-ai/dsh-
|
|
69
|
-
"@deepseek-ai/dsh-
|
|
59
|
+
"@deepseek-ai/dsh-agent": "^0.1.5-alpha.2",
|
|
60
|
+
"@deepseek-ai/dsh-atomic-write": "^0.1.5-alpha.2",
|
|
61
|
+
"@deepseek-ai/dsh-invariants": "^0.1.5-alpha.2",
|
|
62
|
+
"@deepseek-ai/dsh-home-paths": "^0.1.5-alpha.2",
|
|
63
|
+
"@deepseek-ai/dsh-scope": "^0.1.5-alpha.2",
|
|
64
|
+
"@deepseek-ai/dsh-session": "^0.1.5-alpha.2",
|
|
65
|
+
"@deepseek-ai/dsh-session-projection": "^0.1.5-alpha.2",
|
|
66
|
+
"@deepseek-ai/dsh-settings": "^0.1.5-alpha.2",
|
|
67
|
+
"@deepseek-ai/dsh-system-prompt": "^0.1.5-alpha.2",
|
|
68
|
+
"@deepseek-ai/dsh-tools": "^0.1.5-alpha.2",
|
|
69
|
+
"@deepseek-ai/dsh-typert-protocol": "^0.1.5-alpha.2",
|
|
70
70
|
"@deepseek-ai/cordis": "^4.0.2"
|
|
71
71
|
},
|
|
72
72
|
"dependencies": {
|
|
@@ -76,22 +76,22 @@
|
|
|
76
76
|
},
|
|
77
77
|
"devDependencies": {
|
|
78
78
|
"@deepseek-ai/cordis-plugin-group": "^1.0.2",
|
|
79
|
-
"@deepseek-ai/cordis-plugin-loader": "^1.0.3",
|
|
80
|
-
"@deepseek-ai/dsh-agent": "^0.1.3-alpha.2",
|
|
81
|
-
"@deepseek-ai/dsh-agent-loop": "^0.1.3-alpha.2",
|
|
82
79
|
"@deepseek-ai/cordis-plugin-include": "^1.0.7",
|
|
83
|
-
"@deepseek-ai/
|
|
84
|
-
"@deepseek-ai/dsh-
|
|
85
|
-
"@deepseek-ai/dsh-
|
|
86
|
-
"@deepseek-ai/dsh-
|
|
87
|
-
"@deepseek-ai/dsh-
|
|
88
|
-
"@deepseek-ai/dsh-
|
|
89
|
-
"@deepseek-ai/dsh-session
|
|
90
|
-
"@deepseek-ai/dsh-
|
|
91
|
-
"@deepseek-ai/dsh-
|
|
80
|
+
"@deepseek-ai/cordis-plugin-loader": "^1.0.3",
|
|
81
|
+
"@deepseek-ai/dsh-agent": "^0.1.5-alpha.2",
|
|
82
|
+
"@deepseek-ai/dsh-agent-loop": "^0.1.5-alpha.2",
|
|
83
|
+
"@deepseek-ai/dsh-llm": "^0.1.5-alpha.2",
|
|
84
|
+
"@deepseek-ai/dsh-home-paths": "^0.1.5-alpha.2",
|
|
85
|
+
"@deepseek-ai/dsh-scope": "^0.1.5-alpha.2",
|
|
86
|
+
"@deepseek-ai/dsh-session": "^0.1.5-alpha.2",
|
|
87
|
+
"@deepseek-ai/dsh-session-projection": "^0.1.5-alpha.2",
|
|
88
|
+
"@deepseek-ai/dsh-invariants": "^0.1.5-alpha.2",
|
|
89
|
+
"@deepseek-ai/dsh-settings": "^0.1.5-alpha.2",
|
|
90
|
+
"@deepseek-ai/dsh-settings-file": "^0.1.5-alpha.2",
|
|
91
|
+
"@deepseek-ai/dsh-tools": "^0.1.5-alpha.2",
|
|
92
|
+
"@deepseek-ai/dsh-typert-protocol": "^0.1.5-alpha.2",
|
|
93
|
+
"@deepseek-ai/dsh-system-prompt": "^0.1.5-alpha.2",
|
|
92
94
|
"@deepseek-ai/cordis": "^4.0.2",
|
|
93
|
-
"@deepseek-ai/dsh-
|
|
94
|
-
"@deepseek-ai/dsh-system-prompt": "^0.1.3-alpha.2",
|
|
95
|
-
"@deepseek-ai/dsh-settings": "^0.1.3-alpha.2"
|
|
95
|
+
"@deepseek-ai/dsh-atomic-write": "^0.1.5-alpha.2"
|
|
96
96
|
}
|
|
97
97
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# The `minimal` agent preset: a fixed-prompt,
|
|
1
|
+
# The `minimal` agent preset: a fixed-prompt, single-tool coding-agent composition.
|
|
2
2
|
#
|
|
3
3
|
# The persona is the complete system prompt, so global identity, Web orientation,
|
|
4
4
|
# tool guidance, and later assembly listeners cannot add prompt text. Runtime
|
|
5
|
-
# context snapshots are suppressed for this preset, and the model
|
|
6
|
-
# the persistent shell (`bash` on POSIX, `pwsh` on win32)
|
|
7
|
-
#
|
|
5
|
+
# context snapshots are suppressed for this preset, and the model receives only
|
|
6
|
+
# the persistent shell (`bash` on POSIX, `pwsh` on win32). Context compaction is
|
|
7
|
+
# absent.
|
|
8
8
|
|
|
9
9
|
- id: persona
|
|
10
10
|
name: '@deepseek-ai/dsh-persona'
|
|
@@ -41,8 +41,7 @@
|
|
|
41
41
|
description: |-
|
|
42
42
|
Run commands in a bash shell
|
|
43
43
|
* When invoking this tool, the contents of the "command" parameter does NOT need to be XML-escaped.
|
|
44
|
-
*
|
|
45
|
-
* You do have access to a mirror of common linux and python packages via apt and pip.
|
|
44
|
+
* Network access depends on the task environment. Prefer configured mirrors/proxies when they are available.
|
|
46
45
|
* State is persistent across command calls and discussions with the user.
|
|
47
46
|
* To inspect a particular line range of a file, e.g. lines 10-25, try 'sed -n 10,25p /path/to/the/file'.
|
|
48
47
|
* Please avoid commands that may produce a very large amount of output.
|
|
@@ -68,21 +67,3 @@
|
|
|
68
67
|
* Use native Windows paths (C:\...) and $env:NAME variables; this is PowerShell, not bash.
|
|
69
68
|
* Please avoid commands that may produce a very large amount of output.
|
|
70
69
|
* Please run long lived commands in the background, e.g. 'Start-Job' or start a server with Start-Process.
|
|
71
|
-
|
|
72
|
-
# The bare local filesystem shadows the host's sandboxed provider only for this
|
|
73
|
-
# preset. The editor shares that realm and requires absolute paths.
|
|
74
|
-
- id: filesystem
|
|
75
|
-
name: cordis:group
|
|
76
|
-
group: true
|
|
77
|
-
isolate:
|
|
78
|
-
fs: true
|
|
79
|
-
config:
|
|
80
|
-
- id: fs-local
|
|
81
|
-
name: '@deepseek-ai/dsh-fs-local'
|
|
82
|
-
config:
|
|
83
|
-
cwd: !!js process.env.DSH_CWD ?? process.cwd()
|
|
84
|
-
|
|
85
|
-
- id: str-replace-editor
|
|
86
|
-
name: '@deepseek-ai/dsh-tool-str-replace-editor'
|
|
87
|
-
config:
|
|
88
|
-
maxOutputChars: 16000
|