@goodandready/dsh-goal 0.1.2 → 0.1.3
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.md +120 -38
- package/docs/README.ru.md +143 -0
- package/docs/README.zh.md +143 -0
- package/package.json +3 -3
- package/README.ru.md +0 -65
package/README.md
CHANGED
|
@@ -1,61 +1,143 @@
|
|
|
1
|
-
# @goodandready/dsh-goal
|
|
1
|
+
# 📦 @goodandready/dsh-goal
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
<div align="center">
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
<h3>Autonomous Goal Execution & Multi-Turn Task Tracking Engine with Sticky Header for DeepSeek Harness</h3>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="https://www.npmjs.com/package/@goodandready/dsh-goal"><img src="https://img.shields.io/npm/v/@goodandready/dsh-goal.svg?style=for-the-badge&color=6366f1&labelColor=1e1b4b" alt="npm version"></a>
|
|
9
|
+
<a href="LICENSE"><img src="https://img.shields.io/github/license/GooDAnDReaDY/dsh-goal.svg?style=for-the-badge&color=10b981&labelColor=064e3b" alt="license"></a>
|
|
10
|
+
<a href="https://github.com/topics/dsh-plugin"><img src="https://img.shields.io/badge/DSH-Plugin-8b5cf6.svg?style=for-the-badge&labelColor=2e1065" alt="DSH Plugin"></a>
|
|
11
|
+
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/Node-20%2B-f59e0b.svg?style=for-the-badge&labelColor=451a03" alt="Node version"></a>
|
|
12
|
+
</p>
|
|
13
|
+
|
|
14
|
+
<!-- Author Showcase Link -->
|
|
15
|
+
<p align="center">
|
|
16
|
+
<a href="https://goodandready.app/"><img src="https://img.shields.io/badge/All_Author_Projects-goodandready.app-ff4500.svg?style=for-the-badge&logo=rocket&logoColor=white&labelColor=1a1a2e" alt="GoodAndReady Showcase"></a>
|
|
17
|
+
</p>
|
|
18
|
+
|
|
19
|
+
<p align="center">
|
|
20
|
+
<a href="README.md"><b>🇬🇧 English</b></a> •
|
|
21
|
+
<a href="docs/README.ru.md"><b>🇷🇺 Русский</b></a> •
|
|
22
|
+
<a href="docs/README.zh.md"><b>🇨🇳 中文说明</b></a>
|
|
23
|
+
</p>
|
|
24
|
+
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## ⚡ Overview & The Problem
|
|
30
|
+
|
|
31
|
+
Complex engineering tasks require multi-step autonomy: decomposing high-level objectives into milestones, executing successive iterations without manual user re-prompting, and maintaining clear visibility into task progress.
|
|
32
|
+
|
|
33
|
+
**`@goodandready/dsh-goal`** brings autonomous goal execution to DeepSeek Harness via the `/goal` command:
|
|
34
|
+
* 🎯 **Sticky Top Goal Banner**: Pinned status header with live timer (`• 2s`, `• 1m 45s`), active goal title, and interactive control buttons.
|
|
35
|
+
* ⏸️ **Play / Pause / Cancel**: Instantly pause the autonomous loop or resume execution on demand.
|
|
36
|
+
* 📋 **Milestone Breakdown Drawer**: Interactive checklist showing sub-tasks, percentage completion, and iteration logs.
|
|
37
|
+
* 🤖 **Autonomous Agent Tools**: Provides `goal_set_milestones`, `goal_update_progress`, and `goal_finish` tools directly to the agent.
|
|
38
|
+
* 🛡️ **Safety Guardrails**: Configurable `maxIterations` limit to prevent runaway loops.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 🏛️ Architecture
|
|
43
|
+
|
|
44
|
+
```mermaid
|
|
45
|
+
graph TD
|
|
46
|
+
subgraph Input ["User Interaction"]
|
|
47
|
+
Cmd["Slash Command: /goal <objective>"]
|
|
48
|
+
API["REST API: POST /dsh-goal/action"]
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
subgraph GoalEngine ["Goal Lifecycle Engine (lib/index.js)"]
|
|
52
|
+
State["State Manager (IDLE, RUNNING, PAUSED, COMPLETED)"]
|
|
53
|
+
Milestones["Milestone Tracker & Decomposition"]
|
|
54
|
+
Disk["Persistence Store (~/.dsh/goal-state.json)"]
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
subgraph AgentLoop ["Autonomous Agent Drive"]
|
|
58
|
+
ToolSet["goal_set_milestones"]
|
|
59
|
+
ToolProgress["goal_update_progress"]
|
|
60
|
+
ToolFinish["goal_finish"]
|
|
61
|
+
LimitGuard{"maxIterations Guard"}
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
subgraph UI ["DSH Web Interface"]
|
|
65
|
+
Banner["Sticky Top Goal Banner"]
|
|
66
|
+
Timer["Live Elapsed Timer"]
|
|
67
|
+
Drawer["Milestone Checklist Modal"]
|
|
68
|
+
Settings["Settings Card (Schemastery)"]
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
Cmd --> GoalEngine
|
|
72
|
+
API --> GoalEngine
|
|
73
|
+
GoalEngine --> State
|
|
74
|
+
State --> Disk
|
|
75
|
+
State --> Banner
|
|
76
|
+
State --> Drawer
|
|
77
|
+
GoalEngine --> AgentLoop
|
|
78
|
+
AgentLoop --> LimitGuard
|
|
79
|
+
ToolSet --> GoalEngine
|
|
80
|
+
ToolProgress --> GoalEngine
|
|
81
|
+
ToolFinish --> GoalEngine
|
|
82
|
+
```
|
|
6
83
|
|
|
7
84
|
---
|
|
8
85
|
|
|
9
|
-
##
|
|
86
|
+
## 📦 Installation
|
|
10
87
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
- `goal_update_progress`: Step-by-step milestone completion tracking.
|
|
17
|
-
- `goal_finish`: Goal completion with deliverable summary.
|
|
18
|
-
- ⚙️ **Safety Limit & Settings**: Max iterations guardrail to prevent infinite agent loops.
|
|
19
|
-
- 🌐 **Bilingual**: Full English and Russian localization.
|
|
88
|
+
```bash
|
|
89
|
+
dsh plugin --profile web add @goodandready/dsh-goal
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Restart your DeepSeek Harness instance and refresh the browser.
|
|
20
93
|
|
|
21
94
|
---
|
|
22
95
|
|
|
23
|
-
##
|
|
96
|
+
## 💬 Usage & Quick Start
|
|
97
|
+
|
|
98
|
+
Start a goal directly in chat:
|
|
99
|
+
|
|
100
|
+
```text
|
|
101
|
+
/goal Refactor the authentication middleware and add integration tests
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Or trigger via REST API:
|
|
24
105
|
|
|
25
106
|
```bash
|
|
26
|
-
|
|
107
|
+
curl -X POST http://localhost:3080/dsh-goal/action \
|
|
108
|
+
-H "Content-Type: application/json" \
|
|
109
|
+
-d '{"action":"start","title":"Optimize database queries"}'
|
|
27
110
|
```
|
|
28
111
|
|
|
29
|
-
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## ⚙️ Configuration Reference (`settings.yaml`)
|
|
30
115
|
|
|
31
|
-
|
|
116
|
+
```yaml
|
|
117
|
+
dsh-goal:
|
|
118
|
+
maxIterations: 25
|
|
119
|
+
autoDrive: true
|
|
120
|
+
enableSound: true
|
|
121
|
+
```
|
|
32
122
|
|
|
33
|
-
|
|
123
|
+
| Parameter | Type | Default | Description |
|
|
124
|
+
|:---|:---|:---|:---|
|
|
125
|
+
| `maxIterations` | `number` | `25` | Safety limit: maximum autonomous iterations per goal |
|
|
126
|
+
| `autoDrive` | `boolean` | `true` | Keep the autonomous agent loop running between turns |
|
|
127
|
+
| `enableSound` | `boolean` | `true` | Play completion audio chime when a goal finishes |
|
|
34
128
|
|
|
35
|
-
|
|
36
|
-
|---|---|---|---|
|
|
37
|
-
| `maxIterations` | number | `25` | Safety limit: max autonomous iterations per goal |
|
|
38
|
-
| `autoDrive` | boolean | `true` | Keep the autonomous loop running after each turn |
|
|
39
|
-
| `enableSound` | boolean | `true` | Play a sound when a goal completes |
|
|
129
|
+
---
|
|
40
130
|
|
|
41
|
-
|
|
131
|
+
## 🧪 Testing
|
|
42
132
|
|
|
43
|
-
|
|
133
|
+
Run the automated test suite:
|
|
44
134
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
2. Or use the REST API:
|
|
50
|
-
```bash
|
|
51
|
-
curl -X POST http://localhost:3080/dsh-goal/action \
|
|
52
|
-
-H "Content-Type: application/json" \
|
|
53
|
-
-d '{"action":"start","title":"Optimize database queries"}'
|
|
54
|
-
```
|
|
55
|
-
3. Watch the sticky top banner update with live timer and milestones in real-time.
|
|
135
|
+
```bash
|
|
136
|
+
npm test
|
|
137
|
+
```
|
|
56
138
|
|
|
57
139
|
---
|
|
58
140
|
|
|
59
|
-
## License
|
|
141
|
+
## 📄 License
|
|
60
142
|
|
|
61
|
-
MIT © [
|
|
143
|
+
MIT © [GooDAnDReaDY](https://github.com/GooDAnDReaDY)
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# 📦 @goodandready/dsh-goal
|
|
2
|
+
|
|
3
|
+
<div align="center">
|
|
4
|
+
|
|
5
|
+
<h3>Движок автономного выполнения целей и многошагового трекинга задач для DeepSeek Harness</h3>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="https://www.npmjs.com/package/@goodandready/dsh-goal"><img src="https://img.shields.io/npm/v/@goodandready/dsh-goal.svg?style=for-the-badge&color=6366f1&labelColor=1e1b4b" alt="npm version"></a>
|
|
9
|
+
<a href="../LICENSE"><img src="https://img.shields.io/github/license/GooDAnDReaDY/dsh-goal.svg?style=for-the-badge&color=10b981&labelColor=064e3b" alt="license"></a>
|
|
10
|
+
<a href="https://github.com/topics/dsh-plugin"><img src="https://img.shields.io/badge/DSH-Plugin-8b5cf6.svg?style=for-the-badge&labelColor=2e1065" alt="DSH Plugin"></a>
|
|
11
|
+
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/Node-20%2B-f59e0b.svg?style=for-the-badge&labelColor=451a03" alt="Node version"></a>
|
|
12
|
+
</p>
|
|
13
|
+
|
|
14
|
+
<!-- Обязательная кнопка перехода на витрину всех проектов -->
|
|
15
|
+
<p align="center">
|
|
16
|
+
<a href="https://goodandready.app/"><img src="https://img.shields.io/badge/Все_проекты_автора-goodandready.app-ff4500.svg?style=for-the-badge&logo=rocket&logoColor=white&labelColor=1a1a2e" alt="Все проекты автора"></a>
|
|
17
|
+
</p>
|
|
18
|
+
|
|
19
|
+
<p align="center">
|
|
20
|
+
<a href="../README.md"><b>🇬🇧 English</b></a> •
|
|
21
|
+
<a href="README.ru.md"><b>🇷🇺 Русский</b></a> •
|
|
22
|
+
<a href="README.zh.md"><b>🇨🇳 中文说明</b></a>
|
|
23
|
+
</p>
|
|
24
|
+
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## ⚡ Обзор и решаемая проблема
|
|
30
|
+
|
|
31
|
+
Решение комплексных инженерных задач требует автономного многошагового выполнения: декомпозиции целей на майлстоуны, непрерывного выполнения итераций без ручного подталкивания пользователя и наглядного отслеживания прогресса.
|
|
32
|
+
|
|
33
|
+
**`@goodandready/dsh-goal`** внедряет автономный режим достижения целей в DeepSeek Harness через команду `/goal`:
|
|
34
|
+
* 🎯 **Плавающий баннер в шапке**: зафиксированный статус-бар над чатом с таймером выполнения (`• 2s`, `• 1m 45s`), заголовком цели и кнопками управления.
|
|
35
|
+
* ⏸️ **Управление циклом (Play / Pause / Cancel)**: мгновенная приостановка автономного цикла агента или его возобновление в любой момент.
|
|
36
|
+
* 📋 **Интерактивная панель майлстоунов**: модальное окно со списком подзадач, прогресс-баром и журналом выполнения.
|
|
37
|
+
* 🤖 **Инструменты агента**: `goal_set_milestones`, `goal_update_progress` и `goal_finish` для самостоятельной работы ИИ.
|
|
38
|
+
* 🛡️ **Защитные лимиты**: настраиваемое ограничение `maxIterations` для предотвращения бесконечных циклов.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 🏛️ Архитектура
|
|
43
|
+
|
|
44
|
+
```mermaid
|
|
45
|
+
graph TD
|
|
46
|
+
subgraph Input ["Взаимодействие"]
|
|
47
|
+
Cmd["Слеш-команда: /goal <цель>"]
|
|
48
|
+
API["REST API: POST /dsh-goal/action"]
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
subgraph GoalEngine ["Движок целей (lib/index.js)"]
|
|
52
|
+
State["Менеджер состояний (IDLE, RUNNING, PAUSED, COMPLETED)"]
|
|
53
|
+
Milestones["Трекер и декомпозиция майлстоунов"]
|
|
54
|
+
Disk["Хранилище состояний (~/.dsh/goal-state.json)"]
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
subgraph AgentLoop ["Автономный цикл агента"]
|
|
58
|
+
ToolSet["goal_set_milestones"]
|
|
59
|
+
ToolProgress["goal_update_progress"]
|
|
60
|
+
ToolFinish["goal_finish"]
|
|
61
|
+
LimitGuard{"Ограничение maxIterations"}
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
subgraph UI ["Интерфейс DSH"]
|
|
65
|
+
Banner["Баннер цели над чатом"]
|
|
66
|
+
Timer["Таймер выполнения"]
|
|
67
|
+
Drawer["Модальное окно задач"]
|
|
68
|
+
Settings["Карточка настроек (Schemastery)"]
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
Cmd --> GoalEngine
|
|
72
|
+
API --> GoalEngine
|
|
73
|
+
GoalEngine --> State
|
|
74
|
+
State --> Disk
|
|
75
|
+
State --> Banner
|
|
76
|
+
State --> Drawer
|
|
77
|
+
GoalEngine --> AgentLoop
|
|
78
|
+
AgentLoop --> LimitGuard
|
|
79
|
+
ToolSet --> GoalEngine
|
|
80
|
+
ToolProgress --> GoalEngine
|
|
81
|
+
ToolFinish --> GoalEngine
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 📦 Установка
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
dsh plugin --profile web add @goodandready/dsh-goal
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Перезапустите экземпляр DeepSeek Harness и обновите вкладку в браузере.
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## 💬 Быстрый старт
|
|
97
|
+
|
|
98
|
+
Запустите цель прямо в чате:
|
|
99
|
+
|
|
100
|
+
```text
|
|
101
|
+
/goal Провести рефакторинг middleware авторизации и написать интеграционные тесты
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Или через REST API:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
curl -X POST http://localhost:3080/dsh-goal/action \
|
|
108
|
+
-H "Content-Type: application/json" \
|
|
109
|
+
-d '{"action":"start","title":"Оптимизация SQL-запросов"}'
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## ⚙️ Таблица конфигурации (`settings.yaml`)
|
|
115
|
+
|
|
116
|
+
```yaml
|
|
117
|
+
dsh-goal:
|
|
118
|
+
maxIterations: 25
|
|
119
|
+
autoDrive: true
|
|
120
|
+
enableSound: true
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
| Параметр | Тип | По умолчанию | Описание |
|
|
124
|
+
|:---|:---|:---|:---|
|
|
125
|
+
| `maxIterations` | `number` | `25` | Защитный лимит: максимум автономных итераций на цель |
|
|
126
|
+
| `autoDrive` | `boolean` | `true` | Автоматически продолжать автономный цикл между тактами |
|
|
127
|
+
| `enableSound` | `boolean` | `true` | Звуковое уведомление при успешном завершении цели |
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## 🧪 Тестирование
|
|
132
|
+
|
|
133
|
+
Запуск набора юнит-тестов:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
npm test
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## 📄 Лицензия
|
|
142
|
+
|
|
143
|
+
MIT © [GooDAnDReaDY](https://github.com/GooDAnDReaDY)
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# 📦 @goodandready/dsh-goal
|
|
2
|
+
|
|
3
|
+
<div align="center">
|
|
4
|
+
|
|
5
|
+
<h3>面向 DeepSeek Harness 的自主目标执行、任务里程碑分解与顶部常驻状态条引擎</h3>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="https://www.npmjs.com/package/@goodandready/dsh-goal"><img src="https://img.shields.io/npm/v/@goodandready/dsh-goal.svg?style=for-the-badge&color=6366f1&labelColor=1e1b4b" alt="npm version"></a>
|
|
9
|
+
<a href="../LICENSE"><img src="https://img.shields.io/github/license/GooDAnDReaDY/dsh-goal.svg?style=for-the-badge&color=10b981&labelColor=064e3b" alt="license"></a>
|
|
10
|
+
<a href="https://github.com/topics/dsh-plugin"><img src="https://img.shields.io/badge/DSH-Plugin-8b5cf6.svg?style=for-the-badge&labelColor=2e1065" alt="DSH Plugin"></a>
|
|
11
|
+
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/Node-20%2B-f59e0b.svg?style=for-the-badge&labelColor=451a03" alt="Node version"></a>
|
|
12
|
+
</p>
|
|
13
|
+
|
|
14
|
+
<!-- 作者所有项目展示页面链接 -->
|
|
15
|
+
<p align="center">
|
|
16
|
+
<a href="https://goodandready.app/"><img src="https://img.shields.io/badge/作者所有开源项目-goodandready.app-ff4500.svg?style=for-the-badge&logo=rocket&logoColor=white&labelColor=1a1a2e" alt="所有项目"></a>
|
|
17
|
+
</p>
|
|
18
|
+
|
|
19
|
+
<p align="center">
|
|
20
|
+
<a href="../README.md"><b>🇬🇧 English</b></a> •
|
|
21
|
+
<a href="README.ru.md"><b>🇷🇺 Русский</b></a> •
|
|
22
|
+
<a href="README.zh.md"><b>🇨🇳 中文说明</b></a>
|
|
23
|
+
</p>
|
|
24
|
+
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## ⚡ 概述与核心解决痛点
|
|
30
|
+
|
|
31
|
+
复杂的软件工程任务往往需要多步骤的自主循环:将宏观目标分解为里程碑子任务、多轮自动连续推进而无需用户反复手动下发指令,以及对执行过程保持清晰的可视化监控。
|
|
32
|
+
|
|
33
|
+
**`@goodandready/dsh-goal`** 通过 `/goal` 指令为 DeepSeek Harness 带来原生的目标自主执行系统:
|
|
34
|
+
* 🎯 **顶部常驻状态条**:固定在聊天窗口顶部的状态横幅,显示实时运行计时器(`• 2s`, `• 1m 45s`)、当前目标标题与控制按钮。
|
|
35
|
+
* ⏸️ **自主循环控制 (Play / Pause / Cancel)**:可随时暂停智能体自主多轮循环,或根据需要一键恢复。
|
|
36
|
+
* 📋 **里程碑任务抽屉**:交互式子任务清单,展示完成百分比进度条与执行日志。
|
|
37
|
+
* 🤖 **智能体原生工具**:提供 `goal_set_milestones`, `goal_update_progress`, `goal_finish` 工具。
|
|
38
|
+
* 🛡️ **安全防护机制**:支持配置 `maxIterations` 最大循环轮次,杜绝死循环消耗。
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 🏛️ 架构设计
|
|
43
|
+
|
|
44
|
+
```mermaid
|
|
45
|
+
graph TD
|
|
46
|
+
subgraph Input ["用户交互与输入"]
|
|
47
|
+
Cmd["聊天斜杠指令: /goal <目标描述>"]
|
|
48
|
+
API["REST API 路由: POST /dsh-goal/action"]
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
subgraph GoalEngine ["目标生命周期引擎 (lib/index.js)"]
|
|
52
|
+
State["状态机 (IDLE, RUNNING, PAUSED, COMPLETED)"]
|
|
53
|
+
Milestones["里程碑分解与进度追踪器"]
|
|
54
|
+
Disk["状态持久化存储 (~/.dsh/goal-state.json)"]
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
subgraph AgentLoop ["智能体自主执行驱动"]
|
|
58
|
+
ToolSet["goal_set_milestones"]
|
|
59
|
+
ToolProgress["goal_update_progress"]
|
|
60
|
+
ToolFinish["goal_finish"]
|
|
61
|
+
LimitGuard{"maxIterations 熔断防护"}
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
subgraph UI ["DSH Web 前端界面"]
|
|
65
|
+
Banner["顶部常驻状态横幅"]
|
|
66
|
+
Timer["实时执行计时器"]
|
|
67
|
+
Drawer["里程碑清单详情模态框"]
|
|
68
|
+
Settings["设置面板卡片 (Schemastery)"]
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
Cmd --> GoalEngine
|
|
72
|
+
API --> GoalEngine
|
|
73
|
+
GoalEngine --> State
|
|
74
|
+
State --> Disk
|
|
75
|
+
State --> Banner
|
|
76
|
+
State --> Drawer
|
|
77
|
+
GoalEngine --> AgentLoop
|
|
78
|
+
AgentLoop --> LimitGuard
|
|
79
|
+
ToolSet --> GoalEngine
|
|
80
|
+
ToolProgress --> GoalEngine
|
|
81
|
+
ToolFinish --> GoalEngine
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 📦 快速安装
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
dsh plugin --profile web add @goodandready/dsh-goal
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
重启 DeepSeek Harness 实例并刷新浏览器页面。
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## 💬 快速上手
|
|
97
|
+
|
|
98
|
+
在聊天框中直接启动自主目标:
|
|
99
|
+
|
|
100
|
+
```text
|
|
101
|
+
/goal 重构身份验证中间件并编写端到端集成测试
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
或通过 REST 接口调用:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
curl -X POST http://localhost:3080/dsh-goal/action \
|
|
108
|
+
-H "Content-Type: application/json" \
|
|
109
|
+
-d '{"action":"start","title":"优化数据库查询性能"}'
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## ⚙️ 配置参数参考 (`settings.yaml`)
|
|
115
|
+
|
|
116
|
+
```yaml
|
|
117
|
+
dsh-goal:
|
|
118
|
+
maxIterations: 25
|
|
119
|
+
autoDrive: true
|
|
120
|
+
enableSound: true
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
| 参数项 | 类型 | 默认值 | 说明 |
|
|
124
|
+
|:---|:---|:---|:---|
|
|
125
|
+
| `maxIterations` | `number` | `25` | 安全熔断阈值:单目标允许的最大自主轮次 |
|
|
126
|
+
| `autoDrive` | `boolean` | `true` | 是否在轮次结束后自动驱动智能体继续推进 |
|
|
127
|
+
| `enableSound` | `boolean` | `true` | 目标完成时是否播放提示音效 |
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## 🧪 自动化测试
|
|
132
|
+
|
|
133
|
+
运行自动化测试套件:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
npm test
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## 📄 许可证
|
|
142
|
+
|
|
143
|
+
MIT © [GooDAnDReaDY](https://github.com/GooDAnDReaDY)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goodandready/dsh-goal",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Goal mode & autonomous execution plugin for DeepSeek Harness with sticky top banner",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
},
|
|
13
13
|
"files": [
|
|
14
14
|
"lib/",
|
|
15
|
-
"docs/",
|
|
16
15
|
"cordis.patch.yml",
|
|
17
16
|
"README.md",
|
|
18
|
-
"
|
|
17
|
+
"docs/",
|
|
18
|
+
"LICENSE"
|
|
19
19
|
],
|
|
20
20
|
"scripts": {
|
|
21
21
|
"test": "node --test test/*.test.mjs"
|
package/README.ru.md
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
# @goodandready/dsh-goal
|
|
2
|
-
|
|
3
|
-
> **Плагин целеполагания и автономного выполнения задач (Goal Mode) для DeepSeek Harness**
|
|
4
|
-
|
|
5
|
-
`dsh-goal` внедряет в DeepSeek Harness автономный режим целеполагания с закреплённой верхней панелью (Sticky Top Banner), декомпозицией шагов на вехи (milestones), живым таймером и интерактивным управлением (пауза, продолжение, отмена, окно детального чеклиста).
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Возможности
|
|
10
|
-
|
|
11
|
-
- 🎯 **Закреплённая панель цели (Top Banner)**: компактная плашка над чатом в стиле нативного UI DSH:
|
|
12
|
-
- Иконка мишени 🎯;
|
|
13
|
-
- Лейбл «Текущая цель» и название активной задачи;
|
|
14
|
-
- Живой секундомер выполнения (`• 2s`, `• 14s`, `• 2m 10s`);
|
|
15
|
-
- Быстрые кнопки: 🗑 (сбросить/отменить), ⏸ / ▶ (пауза/возобновление), ⛶ (развернуть детали).
|
|
16
|
-
- ⛶ **Модальное окно чеклиста вех**: подробный список подзадач, прогресс-бар выполнения (0–100%) и лог шагов.
|
|
17
|
-
- 🤖 **Инструменты для модели**:
|
|
18
|
-
- `goal_set_milestones` — разбиение цели на этапы;
|
|
19
|
-
- `goal_update_progress` — фиксация выполнения очередного этапа;
|
|
20
|
-
- `goal_finish` — завершение цели с итоговым резюме.
|
|
21
|
-
- 🛡️ **Safety Guardrails**: настраиваемый лимит шагов (maxIterations) для защиты от зацикливания.
|
|
22
|
-
- ⚙️ **Карточка настроек**: управление плагином во вкладке «Настройки → Плагины».
|
|
23
|
-
- 🌐 **Локализация**: полная поддержка русского и английского языков.
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## Установка
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
dsh plugin add @goodandready/dsh-goal
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Требуется ядро DeepSeek Harness **0.1.2-rc.1** или новее: клиентская половина не объявляет внешних клиентских модулей (`dsh.client.inject: []`), потому что в rc.1 `slots` / `locale` / `settingsScope` — встроенные службы ядра, а настройки плагина регистрируются schemastery-схемой.
|
|
34
|
-
|
|
35
|
-
## Настройки
|
|
36
|
-
|
|
37
|
-
Настройки живут в карточке плагина: **Настройки → Плагины → Настройки плагинов** («Цели и автономный режим (Goal Mode)»). Карточка читает живой снимок пространства настроек (пока пространство не в статусе `ready`, карточка не рисуется) и сохраняет только изменённые поля; неудачная запись не стирает введённые значения.
|
|
38
|
-
|
|
39
|
-
| Поле | Тип | По умолчанию | Назначение |
|
|
40
|
-
|---|---|---|---|
|
|
41
|
-
| `maxIterations` | число | `25` | Safety-лимит: максимум автономных итераций на цель |
|
|
42
|
-
| `autoDrive` | булево | `true` | Продолжать автономный цикл после каждого хода |
|
|
43
|
-
| `enableSound` | булево | `true` | Звуковой сигнал по завершении цели |
|
|
44
|
-
|
|
45
|
-
Пространство настроек: `dsh-goal`.
|
|
46
|
-
|
|
47
|
-
## Использование
|
|
48
|
-
|
|
49
|
-
1. Поставьте цель сообщением в чате:
|
|
50
|
-
```text
|
|
51
|
-
/goal Исправить баг в аутентификации и добавить тесты
|
|
52
|
-
```
|
|
53
|
-
2. Или отправьте команду через REST API:
|
|
54
|
-
```bash
|
|
55
|
-
curl -X POST http://localhost:3080/dsh-goal/action \
|
|
56
|
-
-H "Content-Type: application/json" \
|
|
57
|
-
-d '{"action":"start","title":"Привет"}'
|
|
58
|
-
```
|
|
59
|
-
3. Сверху появится панель с таймером и кнопками управления.
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## Лицензия
|
|
64
|
-
|
|
65
|
-
MIT © [goodandready](https://goodandready.app)
|