shipmyagent 1.0.241 → 1.0.245
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/bin/main/context/context-agent/components/RuntimeOrchestrator.d.ts.map +1 -1
- package/bin/main/context/context-agent/components/RuntimeOrchestrator.js +10 -4
- package/bin/main/context/context-agent/components/RuntimeOrchestrator.js.map +1 -1
- package/bin/main/context/manager/RequestContext.d.ts.map +1 -1
- package/bin/main/context/manager/RequestContext.js +29 -0
- package/bin/main/context/manager/RequestContext.js.map +1 -1
- package/bin/main/server/commands/Index.js +366 -12
- package/bin/main/server/commands/Index.js.map +1 -1
- package/bin/main/server/commands/Status.d.ts.map +1 -0
- package/bin/main/server/commands/Status.js +77 -0
- package/bin/main/server/commands/Status.js.map +1 -0
- package/bin/main/server/daemon/Manager.d.ts.map +1 -1
- package/bin/main/server/daemon/Manager.js +25 -0
- package/bin/main/server/daemon/Manager.js.map +1 -1
- package/bin/main/server/manager/AgentRegistry.d.ts.map +1 -0
- package/bin/main/server/manager/AgentRegistry.js +162 -0
- package/bin/main/server/manager/AgentRegistry.js.map +1 -0
- package/bin/main/tools/shell/Tool.d.ts.map +1 -1
- package/bin/main/tools/shell/Tool.js +199 -12
- package/bin/main/tools/shell/Tool.js.map +1 -1
- package/bin/main/types/Manager.d.ts.map +1 -0
- package/bin/main/types/Manager.js +9 -0
- package/bin/main/types/Manager.js.map +1 -0
- package/bin/main/types/Start.d.ts.map +1 -1
- package/bin/main/types/Start.js +2 -0
- package/bin/main/types/Start.js.map +1 -1
- package/bin/services/chat/channels/qq/QQ.d.ts.map +1 -1
- package/bin/services/chat/channels/qq/QQ.js +172 -149
- package/bin/services/chat/channels/qq/QQ.js.map +1 -1
- package/bin/services/skills/Index.d.ts.map +1 -1
- package/bin/services/skills/Index.js +40 -10
- package/bin/services/skills/Index.js.map +1 -1
- package/bin/services/skills/PROMPT.txt +10 -6
- package/bin/services/skills/runtime/Prompt.d.ts.map +1 -1
- package/bin/services/skills/runtime/Prompt.js +39 -37
- package/bin/services/skills/runtime/Prompt.js.map +1 -1
- package/bin/services/skills/runtime/SystemProvider.js +1 -1
- package/bin/utils/logger/Format.d.ts.map +1 -1
- package/bin/utils/logger/Format.js +9 -4
- package/bin/utils/logger/Format.js.map +1 -1
- package/package.json +1 -1
- package/src/services/README.md +1 -1
- package/src/services/skills/PROMPT.txt +10 -6
- package/test/logger/format.test.mjs +31 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeOrchestrator.d.ts","sourceRoot":"","sources":["../../../../../src/main/context/context-agent/components/RuntimeOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"RuntimeOrchestrator.d.ts","sourceRoot":"","sources":["../../../../../src/main/context/context-agent/components/RuntimeOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAKvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,KAAK,EACV,yBAAyB,EAC1B,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,KAAK,0BAA0B,GAAG;IAChC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CACtC,CAAC;AAEF;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,qBAAqB;IAC5D,QAAQ,CAAC,IAAI,0BAA0B;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;gBAEtD,OAAO,EAAE,0BAA0B;IAMzC,OAAO,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAoBnD,wBAAwB,CACtB,KAAK,EAAE;QACL,MAAM,EAAE,oBAAoB,EAAE,CAAC;QAC/B,wBAAwB,EAAE,CACxB,QAAQ,EAAE,gBAAgB,EAAE,KACzB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;KAC9B,GACA,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC;QACnD,MAAM,EAAE,oBAAoB,EAAE,CAAC;QAC/B,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;KAC3B,CAAC;IA+CF,yBAAyB,IAAI,CAAC,UAAU,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC;IAoBnE;;OAEG;IACH,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;CAuB9D"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* - step 边界回调从 RequestContext 读取,Agent 不直接管理来源。
|
|
7
7
|
*/
|
|
8
8
|
import { generateId } from "../../../../utils/Id.js";
|
|
9
|
-
import { requestContext } from "../../../context/manager/RequestContext.js";
|
|
9
|
+
import { drainInjectedUserMessages, requestContext, } from "../../../context/manager/RequestContext.js";
|
|
10
10
|
import { OrchestratorComponent } from "../../../agent/components/OrchestratorComponent.js";
|
|
11
11
|
/**
|
|
12
12
|
* RuntimeOrchestrator 默认实现。
|
|
@@ -40,8 +40,10 @@ export class RuntimeOrchestrator extends OrchestratorComponent {
|
|
|
40
40
|
}
|
|
41
41
|
createPrepareStepHandler(input) {
|
|
42
42
|
return async ({ messages, }) => {
|
|
43
|
+
const injectedMessages = drainInjectedUserMessages();
|
|
43
44
|
const onStepCallback = requestContext.getStore()?.onStepCallback;
|
|
44
|
-
if (typeof onStepCallback !== "function"
|
|
45
|
+
if (typeof onStepCallback !== "function" &&
|
|
46
|
+
injectedMessages.length === 0) {
|
|
45
47
|
return { system: input.system };
|
|
46
48
|
}
|
|
47
49
|
const incomingMessages = Array.isArray(messages)
|
|
@@ -49,8 +51,12 @@ export class RuntimeOrchestrator extends OrchestratorComponent {
|
|
|
49
51
|
: [];
|
|
50
52
|
let outMessages;
|
|
51
53
|
try {
|
|
52
|
-
const mergedMessages = await onStepCallback();
|
|
53
|
-
const
|
|
54
|
+
const mergedMessages = typeof onStepCallback === "function" ? await onStepCallback() : [];
|
|
55
|
+
const mergedWithInjected = [
|
|
56
|
+
...injectedMessages,
|
|
57
|
+
...(Array.isArray(mergedMessages) ? mergedMessages : []),
|
|
58
|
+
];
|
|
59
|
+
const mergedModelMessages = await input.appendMergedUserMessages(mergedWithInjected);
|
|
54
60
|
if (mergedModelMessages.length > 0) {
|
|
55
61
|
// 关键点(中文):保持当前 step 已有消息顺序不变,只把新增 user 消息追加到末尾。
|
|
56
62
|
outMessages = [...incomingMessages, ...mergedModelMessages];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeOrchestrator.js","sourceRoot":"","sources":["../../../../../src/main/context/context-agent/components/RuntimeOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,
|
|
1
|
+
{"version":3,"file":"RuntimeOrchestrator.js","sourceRoot":"","sources":["../../../../../src/main/context/context-agent/components/RuntimeOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EACL,yBAAyB,EACzB,cAAc,GACf,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AAoBxF;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,qBAAqB;IACnD,IAAI,GAAG,sBAAsB,CAAC;IACtB,SAAS,CAAS;IAClB,QAAQ,CAAyC;IAElE,YAAY,OAAmC;QAC7C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;QACJ,CAAC;QACD,mDAAmD;QACnD,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,SAAS;gBAAE,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAChD,CAAC;QACD,OAAO;YACL,KAAK;SACN,CAAC;IACJ,CAAC;IAED,wBAAwB,CACtB,KAKC;QAKD,OAAO,KAAK,EAAE,EACZ,QAAQ,GAGT,EAGE,EAAE;YACH,MAAM,gBAAgB,GAAG,yBAAyB,EAAE,CAAC;YACrD,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC;YACjE,IACE,OAAO,cAAc,KAAK,UAAU;gBACpC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAC7B,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,CAAC;YAED,MAAM,gBAAgB,GAAmB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC9D,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,EAAE,CAAC;YACP,IAAI,WAAuC,CAAC;YAC5C,IAAI,CAAC;gBACH,MAAM,cAAc,GAClB,OAAO,cAAc,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,MAAM,kBAAkB,GAAG;oBACzB,GAAG,gBAAgB;oBACnB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzD,CAAC;gBACF,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,wBAAwB,CAC9D,kBAAkB,CACnB,CAAC;gBACF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnC,gDAAgD;oBAChD,WAAW,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,mBAAmB,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;YAED,OAAO;gBACL,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjE,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,yBAAyB;QACvB,MAAM,uBAAuB,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,uBAAuB,CAAC;QACnF,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,OAAO,KAAK,EAAE,UAAmB,EAAiB,EAAE;YAClD,MAAM,IAAI,GAAG,UAAgC,CAAC;YAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAChD,IAAI,OAAO,uBAAuB,KAAK,UAAU,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACvE,IAAI,CAAC;gBACH,kBAAkB,IAAI,CAAC,CAAC;gBACxB,MAAM,uBAAuB,CAAC;oBAC5B,IAAI,EAAE,QAAQ;oBACd,qCAAqC;oBACrC,SAAS,EAAE,kBAAkB;iBAC9B,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,0CAA0C;YAC5C,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,6BAA6B,CAAC,IAAY;QACxC,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,iHAAiH,CAClH,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,OAAO;YACL,EAAE,EAAE,KAAK,SAAS,IAAI,UAAU,EAAE,EAAE;YACpC,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC;gBACJ,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;gBACd,SAAS;gBACT,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,QAAQ;aACf;YACD,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;SACpD,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../../../../src/main/context/manager/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAE3D;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../../../../src/main/context/manager/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAE3D;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,0BAA0B,CAAC;IAErD;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,wBAAwB,EAAE,CAAC;CACnD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,mCAA0C,CAAC;AAEtE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEzE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,SAAS,CAE9D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,wBAAwB,GAChC,IAAI,CAON;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,wBAAwB,EAAE,CAMtE"}
|
|
@@ -19,4 +19,33 @@ export function withRequestContext(ctx, fn) {
|
|
|
19
19
|
export function getRequestContext() {
|
|
20
20
|
return requestContext.getStore();
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* 入队一条“待注入 user 消息”。
|
|
24
|
+
*
|
|
25
|
+
* 关键点(中文)
|
|
26
|
+
* - 若当前不在请求上下文内,静默忽略(fail-open)。
|
|
27
|
+
*/
|
|
28
|
+
export function enqueueInjectedUserMessage(message) {
|
|
29
|
+
const store = requestContext.getStore();
|
|
30
|
+
if (!store || !message)
|
|
31
|
+
return;
|
|
32
|
+
if (!Array.isArray(store.injectedUserMessages)) {
|
|
33
|
+
store.injectedUserMessages = [];
|
|
34
|
+
}
|
|
35
|
+
store.injectedUserMessages.push(message);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 读取并清空“待注入 user 消息”队列。
|
|
39
|
+
*
|
|
40
|
+
* 关键点(中文)
|
|
41
|
+
* - 采用 drain 语义,确保每条注入消息只在下一 step 使用一次。
|
|
42
|
+
*/
|
|
43
|
+
export function drainInjectedUserMessages() {
|
|
44
|
+
const store = requestContext.getStore();
|
|
45
|
+
if (!store || !Array.isArray(store.injectedUserMessages))
|
|
46
|
+
return [];
|
|
47
|
+
const out = [...store.injectedUserMessages];
|
|
48
|
+
store.injectedUserMessages = [];
|
|
49
|
+
return out;
|
|
50
|
+
}
|
|
22
51
|
//# sourceMappingURL=RequestContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestContext.js","sourceRoot":"","sources":["../../../../src/main/context/manager/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"RequestContext.js","sourceRoot":"","sources":["../../../../src/main/context/manager/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AA0CrD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,iBAAiB,EAAkB,CAAC;AAEtE;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAI,GAAmB,EAAE,EAAW;IACpE,OAAO,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,cAAc,CAAC,QAAQ,EAAE,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAiC;IAEjC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;IACxC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO;QAAE,OAAO;IAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC/C,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC;IAClC,CAAC;IACD,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;IACxC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC;QAAE,OAAO,EAAE,CAAC;IACpE,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC5C,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC;IAChC,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -3,12 +3,15 @@
|
|
|
3
3
|
* CLI 程序入口模块。
|
|
4
4
|
*
|
|
5
5
|
* 职责说明:
|
|
6
|
-
* 1. 组装所有一级命令(init/agent/config/service/extension)。
|
|
6
|
+
* 1. 组装所有一级命令(init/agent/config/service/extension/manager)。
|
|
7
7
|
* 2. 统一处理命令行参数解析规则(端口、布尔值)。
|
|
8
8
|
* 3. 处理默认命令回退:未指定已知一级命令时自动转发到 `agent on`。
|
|
9
9
|
*/
|
|
10
|
-
import { readFileSync } from "fs";
|
|
11
|
-
import { basename, dirname, join } from "path";
|
|
10
|
+
import { readFileSync, existsSync } from "fs";
|
|
11
|
+
import { basename, dirname, join, resolve } from "path";
|
|
12
|
+
import os from "os";
|
|
13
|
+
import fs from "fs-extra";
|
|
14
|
+
import { spawn } from "child_process";
|
|
12
15
|
import { fileURLToPath } from "url";
|
|
13
16
|
import { Command } from "commander";
|
|
14
17
|
import { registerConfigCommand } from "./Config.js";
|
|
@@ -18,11 +21,17 @@ import { runCommand } from "./Run.js";
|
|
|
18
21
|
import { registerServicesCommand } from "./Services.js";
|
|
19
22
|
import { registerExtensionsCommand } from "./Extensions.js";
|
|
20
23
|
import { startCommand } from "./Start.js";
|
|
24
|
+
import { statusCommand } from "./Status.js";
|
|
21
25
|
import { stopCommand } from "./Stop.js";
|
|
22
26
|
import { registerAllServicesForCli } from "../../service/ServiceCommand.js";
|
|
23
27
|
import { registerAllExtensionsForCli } from "../../extension/ExtensionCommand.js";
|
|
24
28
|
import { getServiceRootCommandNames, } from "../../service/Manager.js";
|
|
25
29
|
import { getExtensionRootCommandNames } from "../../extension/Manager.js";
|
|
30
|
+
import { cleanupStaleDaemonFiles, getDaemonLogPath, isProcessAlive as isDaemonProcessAlive, readDaemonPid, stopDaemonProcess, } from "../../../main/server/daemon/Manager.js";
|
|
31
|
+
import { getManagerAgentRegistryPath, listManagedAgents, removeManagedAgentEntry, } from "../../../main/server/manager/AgentRegistry.js";
|
|
32
|
+
const MANAGER_DIR = join(os.homedir(), ".ship", "manager");
|
|
33
|
+
const MANAGER_PID_PATH = join(MANAGER_DIR, "manager.pid");
|
|
34
|
+
const MANAGER_LOG_PATH = join(MANAGER_DIR, "manager.log");
|
|
26
35
|
// 在 ES 模块中获取 __dirname
|
|
27
36
|
const __filename = fileURLToPath(import.meta.url);
|
|
28
37
|
const __dirname = dirname(__filename);
|
|
@@ -33,7 +42,7 @@ const program = new Command();
|
|
|
33
42
|
* 在关键运行命令执行前打印当前 sma 版本。
|
|
34
43
|
*
|
|
35
44
|
* 说明(中文)
|
|
36
|
-
* - 仅用于
|
|
45
|
+
* - 仅用于 runtime 相关命令,避免影响 `config --json` 等结构化输出。
|
|
37
46
|
*/
|
|
38
47
|
function withVersionBanner(action) {
|
|
39
48
|
return async (...args) => {
|
|
@@ -62,6 +71,181 @@ function parseBoolean(value) {
|
|
|
62
71
|
return false;
|
|
63
72
|
throw new Error(`Invalid boolean: ${value}`);
|
|
64
73
|
}
|
|
74
|
+
function resolveAgentName(projectRoot) {
|
|
75
|
+
const fallback = basename(projectRoot);
|
|
76
|
+
const shipJsonPath = join(projectRoot, "ship.json");
|
|
77
|
+
if (!existsSync(shipJsonPath))
|
|
78
|
+
return fallback;
|
|
79
|
+
try {
|
|
80
|
+
const raw = readFileSync(shipJsonPath, "utf-8");
|
|
81
|
+
const parsed = JSON.parse(raw);
|
|
82
|
+
if (typeof parsed.name === "string" && parsed.name.trim()) {
|
|
83
|
+
return parsed.name.trim();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
// ignore parse errors and fallback to dirname
|
|
88
|
+
}
|
|
89
|
+
return fallback;
|
|
90
|
+
}
|
|
91
|
+
function injectAgentContext(pathInput = ".") {
|
|
92
|
+
const projectRoot = resolve(String(pathInput || "."));
|
|
93
|
+
const agentName = resolveAgentName(projectRoot);
|
|
94
|
+
process.env.SMA_AGENT_PATH = projectRoot;
|
|
95
|
+
process.env.SMA_AGENT_NAME = agentName;
|
|
96
|
+
return { projectRoot, agentName };
|
|
97
|
+
}
|
|
98
|
+
function isManagerProcessAlive(pid) {
|
|
99
|
+
try {
|
|
100
|
+
process.kill(pid, 0);
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
async function readManagerPid() {
|
|
108
|
+
try {
|
|
109
|
+
const raw = await fs.readFile(MANAGER_PID_PATH, "utf-8");
|
|
110
|
+
const pid = Number.parseInt(String(raw).trim(), 10);
|
|
111
|
+
return Number.isFinite(pid) && pid > 0 ? pid : null;
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
async function startManagerCommand() {
|
|
118
|
+
await fs.ensureDir(MANAGER_DIR);
|
|
119
|
+
const existingPid = await readManagerPid();
|
|
120
|
+
if (existingPid && isManagerProcessAlive(existingPid)) {
|
|
121
|
+
console.log("ℹ️ SMA manager is already running");
|
|
122
|
+
console.log(` pid: ${existingPid}`);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
if (existingPid) {
|
|
126
|
+
await fs.remove(MANAGER_PID_PATH);
|
|
127
|
+
}
|
|
128
|
+
const cliPath = resolve(__dirname, "./Index.js");
|
|
129
|
+
const logFd = fs.openSync(MANAGER_LOG_PATH, "a");
|
|
130
|
+
const child = spawn(process.execPath, [cliPath, "manager", "run"], {
|
|
131
|
+
cwd: process.cwd(),
|
|
132
|
+
detached: true,
|
|
133
|
+
stdio: ["ignore", logFd, logFd],
|
|
134
|
+
env: {
|
|
135
|
+
...process.env,
|
|
136
|
+
SHIPMYAGENT_MANAGER: "1",
|
|
137
|
+
},
|
|
138
|
+
});
|
|
139
|
+
child.unref();
|
|
140
|
+
if (!child.pid) {
|
|
141
|
+
throw new Error("Failed to start manager process (missing pid)");
|
|
142
|
+
}
|
|
143
|
+
await fs.writeFile(MANAGER_PID_PATH, String(child.pid), "utf-8");
|
|
144
|
+
console.log("✅ SMA manager started");
|
|
145
|
+
console.log(` pid: ${child.pid}`);
|
|
146
|
+
console.log(` log: ${MANAGER_LOG_PATH}`);
|
|
147
|
+
}
|
|
148
|
+
async function runManagerRuntimeCommand() {
|
|
149
|
+
await fs.ensureDir(MANAGER_DIR);
|
|
150
|
+
await fs.writeFile(MANAGER_PID_PATH, String(process.pid), "utf-8");
|
|
151
|
+
const shutdown = async () => {
|
|
152
|
+
await fs.remove(MANAGER_PID_PATH);
|
|
153
|
+
process.exit(0);
|
|
154
|
+
};
|
|
155
|
+
process.on("SIGINT", () => {
|
|
156
|
+
void shutdown();
|
|
157
|
+
});
|
|
158
|
+
process.on("SIGTERM", () => {
|
|
159
|
+
void shutdown();
|
|
160
|
+
});
|
|
161
|
+
// 极简 manager runtime:仅保持进程存活,提供统一管理入口。
|
|
162
|
+
setInterval(() => {
|
|
163
|
+
// keep alive
|
|
164
|
+
}, 60_000);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* 解析 manager 维护的“正在运行” agent 列表。
|
|
168
|
+
*
|
|
169
|
+
* 关键点(中文)
|
|
170
|
+
* - 先做每个项目的 stale pid 清理,再判活。
|
|
171
|
+
* - 不在运行的记录会从 registry 移除,保持列表语义稳定(仅显示活跃 agent)。
|
|
172
|
+
*/
|
|
173
|
+
async function resolveRunningManagedAgents() {
|
|
174
|
+
const entries = await listManagedAgents();
|
|
175
|
+
const views = [];
|
|
176
|
+
for (const entry of entries) {
|
|
177
|
+
const projectRoot = resolve(String(entry.projectRoot || "").trim() || ".");
|
|
178
|
+
try {
|
|
179
|
+
await cleanupStaleDaemonFiles(projectRoot);
|
|
180
|
+
const daemonPid = await readDaemonPid(projectRoot);
|
|
181
|
+
if (!daemonPid || !isDaemonProcessAlive(daemonPid)) {
|
|
182
|
+
await removeManagedAgentEntry(projectRoot);
|
|
183
|
+
continue;
|
|
184
|
+
}
|
|
185
|
+
views.push({
|
|
186
|
+
projectRoot,
|
|
187
|
+
registeredPid: entry.pid,
|
|
188
|
+
daemonPid,
|
|
189
|
+
running: true,
|
|
190
|
+
startedAt: entry.startedAt,
|
|
191
|
+
updatedAt: entry.updatedAt,
|
|
192
|
+
logPath: getDaemonLogPath(projectRoot),
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
// 关键点(中文):读取异常时移除脏记录,避免后续 list/status 持续噪音。
|
|
197
|
+
try {
|
|
198
|
+
await removeManagedAgentEntry(projectRoot);
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
// ignore
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
return views.sort((a, b) => a.projectRoot.localeCompare(b.projectRoot));
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* 打印 manager 下活跃 agent 列表。
|
|
209
|
+
*/
|
|
210
|
+
function printRunningManagedAgents(views) {
|
|
211
|
+
if (views.length === 0) {
|
|
212
|
+
console.log("ℹ️ No running agent daemon managed by manager");
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
console.log(`✅ Running agents: ${views.length}`);
|
|
216
|
+
for (const item of views) {
|
|
217
|
+
console.log(`- project: ${item.projectRoot}`);
|
|
218
|
+
console.log(` pid: ${item.daemonPid}`);
|
|
219
|
+
console.log(` startedAt: ${item.startedAt}`);
|
|
220
|
+
console.log(` updatedAt: ${item.updatedAt}`);
|
|
221
|
+
console.log(` log: ${item.logPath}`);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* `sma manager status`。
|
|
226
|
+
*
|
|
227
|
+
* 关键点(中文)
|
|
228
|
+
* - 同时输出 manager 进程状态 + manager 维护的活跃 agent 列表摘要。
|
|
229
|
+
*/
|
|
230
|
+
async function managerStatusCommand() {
|
|
231
|
+
const managerPid = await readManagerPid();
|
|
232
|
+
const managerRunning = Boolean(managerPid && isManagerProcessAlive(managerPid));
|
|
233
|
+
if (managerPid && !managerRunning) {
|
|
234
|
+
await fs.remove(MANAGER_PID_PATH);
|
|
235
|
+
}
|
|
236
|
+
if (managerRunning) {
|
|
237
|
+
console.log("✅ SMA manager is running");
|
|
238
|
+
console.log(` pid: ${managerPid}`);
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
console.log("ℹ️ SMA manager is not running");
|
|
242
|
+
}
|
|
243
|
+
console.log(` pidFile: ${MANAGER_PID_PATH}`);
|
|
244
|
+
console.log(` log: ${MANAGER_LOG_PATH}`);
|
|
245
|
+
console.log(` registry: ${getManagerAgentRegistryPath()}`);
|
|
246
|
+
const runningAgents = await resolveRunningManagedAgents();
|
|
247
|
+
printRunningManagedAgents(runningAgents);
|
|
248
|
+
}
|
|
65
249
|
program
|
|
66
250
|
.name(basename(process.argv[1] || "shipmyagent"))
|
|
67
251
|
.description("把一个代码仓库,启动为一个拥有自主意识和执行能力的 Agent")
|
|
@@ -73,31 +257,176 @@ const init = program
|
|
|
73
257
|
.description("初始化 ShipMyAgent 项目")
|
|
74
258
|
.helpOption("--help", "display help for command")
|
|
75
259
|
.action(initCommand);
|
|
260
|
+
const manager = program
|
|
261
|
+
.command("manager")
|
|
262
|
+
.description("SMA manager internals");
|
|
263
|
+
manager
|
|
264
|
+
.command("run")
|
|
265
|
+
.description("internal manager runtime")
|
|
266
|
+
.action(runManagerRuntimeCommand);
|
|
267
|
+
manager
|
|
268
|
+
.command("status")
|
|
269
|
+
.description("查看 manager 与已托管 agent 运行状态")
|
|
270
|
+
.helpOption("--help", "display help for command")
|
|
271
|
+
.action(withVersionBanner(async () => {
|
|
272
|
+
await managerStatusCommand();
|
|
273
|
+
}));
|
|
274
|
+
const managerAgents = manager
|
|
275
|
+
.command("agents")
|
|
276
|
+
.description("通过 manager 统一管理 agent daemon");
|
|
277
|
+
managerAgents
|
|
278
|
+
.command("list")
|
|
279
|
+
.description("列出 manager 当前托管的活跃 agent daemon")
|
|
280
|
+
.helpOption("--help", "display help for command")
|
|
281
|
+
.option("--json [enabled]", "以 JSON 输出", parseBoolean)
|
|
282
|
+
.action(withVersionBanner(async (options) => {
|
|
283
|
+
const views = await resolveRunningManagedAgents();
|
|
284
|
+
if (options?.json) {
|
|
285
|
+
console.log(JSON.stringify({
|
|
286
|
+
success: true,
|
|
287
|
+
count: views.length,
|
|
288
|
+
agents: views,
|
|
289
|
+
}, null, 2));
|
|
290
|
+
return;
|
|
291
|
+
}
|
|
292
|
+
printRunningManagedAgents(views);
|
|
293
|
+
}));
|
|
294
|
+
managerAgents
|
|
295
|
+
.command("start <path>")
|
|
296
|
+
.description("启动指定项目的 agent daemon(等价于 `sma agent on <path>`)")
|
|
297
|
+
.option("-p, --port <port>", "服务端口(可在 ship.json 的 start.port 配置)", parsePort)
|
|
298
|
+
.option("-h, --host <host>", "服务主机(可在 ship.json 的 start.host 配置)")
|
|
299
|
+
.option("--webui [enabled]", "启动交互式 Web 界面(可在 ship.json 的 start.webui 配置)", parseBoolean)
|
|
300
|
+
.option("--webport <port>", "交互式 Web 界面端口(可在 ship.json 的 start.webport 配置)", parsePort)
|
|
301
|
+
.helpOption("--help", "display help for command")
|
|
302
|
+
.action(withVersionBanner(async (cwd, options) => {
|
|
303
|
+
injectAgentContext(cwd);
|
|
304
|
+
await startCommand(cwd, options);
|
|
305
|
+
}));
|
|
306
|
+
managerAgents
|
|
307
|
+
.command("open <path>")
|
|
308
|
+
.description("启动指定项目的 agent daemon(`start` 别名)")
|
|
309
|
+
.option("-p, --port <port>", "服务端口(可在 ship.json 的 start.port 配置)", parsePort)
|
|
310
|
+
.option("-h, --host <host>", "服务主机(可在 ship.json 的 start.host 配置)")
|
|
311
|
+
.option("--webui [enabled]", "启动交互式 Web 界面(可在 ship.json 的 start.webui 配置)", parseBoolean)
|
|
312
|
+
.option("--webport <port>", "交互式 Web 界面端口(可在 ship.json 的 start.webport 配置)", parsePort)
|
|
313
|
+
.helpOption("--help", "display help for command")
|
|
314
|
+
.action(withVersionBanner(async (cwd, options) => {
|
|
315
|
+
injectAgentContext(cwd);
|
|
316
|
+
await startCommand(cwd, options);
|
|
317
|
+
}));
|
|
318
|
+
managerAgents
|
|
319
|
+
.command("stop <pathOrAll>")
|
|
320
|
+
.description("停止指定项目 agent daemon;传 `all` 可停止全部活跃 agent")
|
|
321
|
+
.helpOption("--help", "display help for command")
|
|
322
|
+
.action(withVersionBanner(async (pathOrAll) => {
|
|
323
|
+
const target = String(pathOrAll || "").trim();
|
|
324
|
+
if (!target) {
|
|
325
|
+
throw new Error("pathOrAll is required");
|
|
326
|
+
}
|
|
327
|
+
if (target.toLowerCase() !== "all") {
|
|
328
|
+
injectAgentContext(target);
|
|
329
|
+
await stopCommand(target);
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
const views = await resolveRunningManagedAgents();
|
|
333
|
+
if (views.length === 0) {
|
|
334
|
+
console.log("ℹ️ No running agent daemon to stop");
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
337
|
+
console.log(`Stopping ${views.length} managed agents...`);
|
|
338
|
+
for (const item of views) {
|
|
339
|
+
try {
|
|
340
|
+
const result = await stopDaemonProcess({
|
|
341
|
+
projectRoot: item.projectRoot,
|
|
342
|
+
});
|
|
343
|
+
if (result.stopped) {
|
|
344
|
+
console.log(`✅ stopped: ${item.projectRoot} (pid=${item.daemonPid})`);
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
console.log(`ℹ️ already stopped: ${item.projectRoot}`);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
catch (error) {
|
|
351
|
+
console.log(`❌ stop failed: ${item.projectRoot}`);
|
|
352
|
+
console.log(` error: ${String(error)}`);
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
}));
|
|
356
|
+
managerAgents
|
|
357
|
+
.command("status <path>")
|
|
358
|
+
.description("查看指定项目的 agent daemon 状态(等价于 `sma agent status <path>`)")
|
|
359
|
+
.helpOption("--help", "display help for command")
|
|
360
|
+
.action(withVersionBanner(async (cwd) => {
|
|
361
|
+
injectAgentContext(cwd);
|
|
362
|
+
await statusCommand(cwd);
|
|
363
|
+
}));
|
|
364
|
+
managerAgents
|
|
365
|
+
.command("restart <path>")
|
|
366
|
+
.description("重启指定项目的 agent daemon(等价于 `sma agent restart <path>`)")
|
|
367
|
+
.option("-p, --port <port>", "服务端口(可在 ship.json 的 start.port 配置)", parsePort)
|
|
368
|
+
.option("-h, --host <host>", "服务主机(可在 ship.json 的 start.host 配置)")
|
|
369
|
+
.option("--webui [enabled]", "启动交互式 Web 界面(可在 ship.json 的 start.webui 配置)", parseBoolean)
|
|
370
|
+
.option("--webport <port>", "交互式 Web 界面端口(可在 ship.json 的 start.webport 配置)", parsePort)
|
|
371
|
+
.helpOption("--help", "display help for command")
|
|
372
|
+
.action(withVersionBanner(async (cwd, options) => {
|
|
373
|
+
injectAgentContext(cwd);
|
|
374
|
+
await restartCommand(cwd, options);
|
|
375
|
+
}));
|
|
376
|
+
program
|
|
377
|
+
.command("start")
|
|
378
|
+
.description("启动 SMA Manager(后台)")
|
|
379
|
+
.helpOption("--help", "display help for command")
|
|
380
|
+
.action(withVersionBanner(async () => {
|
|
381
|
+
await startManagerCommand();
|
|
382
|
+
}));
|
|
383
|
+
program
|
|
384
|
+
.command("status [path]")
|
|
385
|
+
.description("查看当前目录或指定目录 Agent Runtime 状态")
|
|
386
|
+
.helpOption("--help", "display help for command")
|
|
387
|
+
.action(withVersionBanner(async (cwd = ".") => {
|
|
388
|
+
injectAgentContext(cwd);
|
|
389
|
+
await statusCommand(cwd);
|
|
390
|
+
}));
|
|
76
391
|
const agent = program
|
|
77
392
|
.command("agent")
|
|
78
393
|
.description("管理 Agent Runtime 启停与重启")
|
|
79
394
|
.helpOption("--help", "display help for command");
|
|
80
395
|
agent
|
|
81
396
|
.command("on [path]")
|
|
82
|
-
.description("启动 Agent Runtime
|
|
397
|
+
.description("启动 Agent Runtime(默认后台;--foreground 为前台)")
|
|
83
398
|
.option("-p, --port <port>", "服务端口(可在 ship.json 的 start.port 配置)", parsePort)
|
|
84
399
|
.option("-h, --host <host>", "服务主机(可在 ship.json 的 start.host 配置)")
|
|
85
400
|
.option("--webui [enabled]", "启动交互式 Web 界面(可在 ship.json 的 start.webui 配置)", parseBoolean)
|
|
86
401
|
.option("--webport <port>", "交互式 Web 界面端口(可在 ship.json 的 start.webport 配置)", parsePort)
|
|
87
|
-
.option("--
|
|
402
|
+
.option("--foreground [enabled]", "前台启动(仅当前终端)", parseBoolean)
|
|
403
|
+
.option("--daemon [enabled]", "后台启动(兼容参数)", parseBoolean)
|
|
88
404
|
.helpOption("--help", "display help for command")
|
|
89
405
|
.action(withVersionBanner(async (cwd = ".", options) => {
|
|
90
|
-
|
|
91
|
-
|
|
406
|
+
injectAgentContext(cwd);
|
|
407
|
+
const shouldForeground = options.foreground === true || options.daemon === false;
|
|
408
|
+
if (shouldForeground) {
|
|
409
|
+
await runCommand(cwd, options);
|
|
92
410
|
return;
|
|
93
411
|
}
|
|
94
|
-
await
|
|
412
|
+
await startCommand(cwd, options);
|
|
95
413
|
}));
|
|
96
414
|
agent
|
|
97
415
|
.command("off [path]")
|
|
98
416
|
.description("停止后台 Agent Runtime(daemon)")
|
|
99
417
|
.helpOption("--help", "display help for command")
|
|
100
|
-
.action(withVersionBanner(
|
|
418
|
+
.action(withVersionBanner(async (cwd = ".") => {
|
|
419
|
+
injectAgentContext(cwd);
|
|
420
|
+
await stopCommand(cwd);
|
|
421
|
+
}));
|
|
422
|
+
agent
|
|
423
|
+
.command("status [path]")
|
|
424
|
+
.description("查看后台 Agent Runtime(daemon)状态")
|
|
425
|
+
.helpOption("--help", "display help for command")
|
|
426
|
+
.action(withVersionBanner(async (cwd = ".") => {
|
|
427
|
+
injectAgentContext(cwd);
|
|
428
|
+
await statusCommand(cwd);
|
|
429
|
+
}));
|
|
101
430
|
agent
|
|
102
431
|
.command("restart [path]")
|
|
103
432
|
.description("重启后台 Agent Runtime(daemon)")
|
|
@@ -106,7 +435,10 @@ agent
|
|
|
106
435
|
.option("--webui [enabled]", "启动交互式 Web 界面(可在 ship.json 的 start.webui 配置)", parseBoolean)
|
|
107
436
|
.option("--webport <port>", "交互式 Web 界面端口(可在 ship.json 的 start.webport 配置)", parsePort)
|
|
108
437
|
.helpOption("--help", "display help for command")
|
|
109
|
-
.action(withVersionBanner(
|
|
438
|
+
.action(withVersionBanner(async (cwd = ".", options) => {
|
|
439
|
+
injectAgentContext(cwd);
|
|
440
|
+
await restartCommand(cwd, options);
|
|
441
|
+
}));
|
|
110
442
|
registerConfigCommand(program);
|
|
111
443
|
registerServicesCommand(program);
|
|
112
444
|
registerExtensionsCommand(program);
|
|
@@ -114,17 +446,39 @@ registerExtensionsCommand(program);
|
|
|
114
446
|
registerAllServicesForCli(program);
|
|
115
447
|
// 扩展命令统一注册(voice / future extensions)
|
|
116
448
|
registerAllExtensionsForCli(program);
|
|
449
|
+
// 每次执行 sma 默认注入当前目录 agent 上下文环境变量。
|
|
450
|
+
injectAgentContext(".");
|
|
451
|
+
// `sma agent .` => `sma agent on .`
|
|
452
|
+
if (process.argv[2] === "agent") {
|
|
453
|
+
const secondArg = process.argv[3];
|
|
454
|
+
const knownAgentSubCommands = new Set([
|
|
455
|
+
"on",
|
|
456
|
+
"off",
|
|
457
|
+
"status",
|
|
458
|
+
"restart",
|
|
459
|
+
"help",
|
|
460
|
+
"--help",
|
|
461
|
+
"-h",
|
|
462
|
+
]);
|
|
463
|
+
if (secondArg &&
|
|
464
|
+
!knownAgentSubCommands.has(secondArg) &&
|
|
465
|
+
!String(secondArg).startsWith("-")) {
|
|
466
|
+
process.argv.splice(3, 0, "on");
|
|
467
|
+
}
|
|
468
|
+
}
|
|
117
469
|
// 默认行为:`shipmyagent` / `shipmyagent .` / `shipmyagent [on-options]` -> `shipmyagent agent on [path]`
|
|
118
470
|
const firstArg = process.argv[2];
|
|
119
471
|
const staticRootCommands = [
|
|
120
472
|
init.name(),
|
|
121
473
|
agent.name(),
|
|
122
474
|
"config",
|
|
475
|
+
"start",
|
|
476
|
+
"status",
|
|
477
|
+
"manager",
|
|
123
478
|
// 关键点(中文):以下命令已移除;仍保留在识别列表里,避免误回退为 `agent on`。
|
|
124
479
|
"restart",
|
|
125
480
|
"alias",
|
|
126
481
|
"run",
|
|
127
|
-
"start",
|
|
128
482
|
"stop",
|
|
129
483
|
// 关键点(中文):`services` 已移除,仍保留在识别列表里,避免误回退为 `agent on`。
|
|
130
484
|
"services",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Index.js","sourceRoot":"","sources":["../../../../src/main/server/commands/Index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Index.js","sourceRoot":"","sources":["../../../../src/main/server/commands/Index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Status.d.ts","sourceRoot":"","sources":["../../../../src/main/server/commands/Status.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgCH;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,GAAG,GAAE,MAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA8CpE"}
|