@lih-x-x/kmr 1.0.46 → 1.0.48
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/dist/cli.js +3 -3
- package/dist/index.js +20 -7
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -6,9 +6,9 @@ async function checkUpdate() {
|
|
|
6
6
|
try {
|
|
7
7
|
const res = await fetch(`https://registry.npmjs.org/${"@lih-x-x/kmr"}/latest`, { signal: AbortSignal.timeout(3e3) });
|
|
8
8
|
const data = await res.json();
|
|
9
|
-
if (data.version && data.version !== "1.0.
|
|
9
|
+
if (data.version && data.version !== "1.0.48") {
|
|
10
10
|
console.log(`
|
|
11
|
-
\u2B06\uFE0F \u65B0\u7248\u672C\u53EF\u7528: ${"1.0.
|
|
11
|
+
\u2B06\uFE0F \u65B0\u7248\u672C\u53EF\u7528: ${"1.0.48"} \u2192 ${data.version}`);
|
|
12
12
|
console.log(` \u8FD0\u884C npm install -g ${"@lih-x-x/kmr"} \u66F4\u65B0
|
|
13
13
|
`);
|
|
14
14
|
}
|
|
@@ -56,7 +56,7 @@ KMR\uFF08Key Meetings Record\uFF09\u2014 \u4F1A\u8BAE\u6316\u6398\u673A
|
|
|
56
56
|
kmr --help \u663E\u793A\u5E2E\u52A9
|
|
57
57
|
`);
|
|
58
58
|
} else if (command === "--version" || command === "-v") {
|
|
59
|
-
console.log("1.0.
|
|
59
|
+
console.log("1.0.48");
|
|
60
60
|
} else if (command === "list") {
|
|
61
61
|
const { loadConfig } = await import("./config-L2SVVMAR.js");
|
|
62
62
|
const { JsonStore } = await import("./jsonStore-AL73KEUG.js");
|
package/dist/index.js
CHANGED
|
@@ -588,7 +588,7 @@ var SESSION_SKILL = `\u4F60\u662F KMR\uFF08Key Meetings Record\uFF09\u7684\u667A
|
|
|
588
588
|
\u8FD0\u884C\u73AF\u5883\uFF1A
|
|
589
589
|
- \u4F60\u8FD0\u884C\u5728\u98DE\u4E66\u673A\u5668\u4EBA\u4E2D\uFF0C\u4F60\u7684\u56DE\u590D\u4F1A\u76F4\u63A5\u4F5C\u4E3A\u98DE\u4E66\u6D88\u606F\u53D1\u9001\u5230\u7528\u6237\u6240\u5728\u7684\u5BF9\u8BDD\u4E2D
|
|
590
590
|
- \u4E0D\u8981\u8BF4"\u6211\u6CA1\u6709\u53D1\u6D88\u606F/\u521B\u5EFA\u4EFB\u52A1\u7684\u80FD\u529B"\u2014\u2014\u4F60\u53EF\u4EE5\u901A\u8FC7 kmr \u547D\u4EE4\u6765\u5B8C\u6210\u8FD9\u4E9B\u64CD\u4F5C
|
|
591
|
-
- \u4F60\u6709\u80FD\u529B\u901A\u8FC7 kmr \u547D\u4EE4\u67E5\u8BE2\u6570\u636E\u3001\u521B\u5EFA\u4EFB\u52A1\u3001\
|
|
591
|
+
- \u4F60\u6709\u80FD\u529B\u901A\u8FC7 kmr \u547D\u4EE4\u67E5\u8BE2\u6570\u636E\u3001\u521B\u5EFA\u4EFB\u52A1\u3001\u7BA1\u7406\u8BB0\u5F55
|
|
592
592
|
|
|
593
593
|
\u53EF\u7528\u7684 kmr \u547D\u4EE4\uFF08\u901A\u8FC7 bash \u6267\u884C\uFF09\uFF1A
|
|
594
594
|
- kmr list \u2014 \u5217\u51FA\u6240\u6709\u4F1A\u8BAE\u8BB0\u5F55
|
|
@@ -601,6 +601,9 @@ var SESSION_SKILL = `\u4F60\u662F KMR\uFF08Key Meetings Record\uFF09\u7684\u667A
|
|
|
601
601
|
\u64CD\u4F5C\u6307\u5357\uFF1A
|
|
602
602
|
- \u5F53\u7528\u6237\u8981\u6C42\u521B\u5EFA\u4EFB\u52A1\u65F6\uFF0C\u76F4\u63A5\u6267\u884C kmr create-task \u547D\u4EE4\uFF0C\u4F8B\u5982\uFF1Akmr create-task "\u5B8C\u6210\u65B9\u6848\u8BBE\u8BA1" --due 2026-05-15 --assignee \u5F20\u4E09
|
|
603
603
|
- \u5F53\u7528\u6237\u95EE\u5230\u4F1A\u8BAE/\u4EFB\u52A1\u76F8\u5173\u7684\u95EE\u9898\u65F6\uFF0C\u5148\u6267\u884C kmr \u547D\u4EE4\u83B7\u53D6\u6570\u636E\u518D\u56DE\u7B54
|
|
604
|
+
- \u6BCF\u6761\u6D88\u606F\u5F00\u5934\u4F1A\u6709\u3010\u5F53\u524D\u73AF\u5883\u3011\u63D0\u793A\uFF0C\u544A\u8BC9\u4F60\u662F\u7FA4\u804A\u8FD8\u662F\u79C1\u804A\uFF1A
|
|
605
|
+
- \u7FA4\u804A\uFF1A\u4F60\u7684\u56DE\u590D\u76F4\u63A5\u53D1\u5230\u7FA4\u91CC\uFF0C\u5982\u679C\u9700\u8981\u6307\u5B9A\u5BF9\u8C61\u5BF9\u8BDD\uFF0C\u53EF\u4EE5\u7528 @\u59D3\u540D \u6765\u63D0\u9192\u7FA4\u5185\u6210\u5458\uFF0C\u4E0D\u9700\u8981\u8BA9\u7528\u6237\u8F6C\u53D1
|
|
606
|
+
- \u79C1\u804A\uFF1A\u65E0\u6CD5 @\u4ED6\u4EBA\uFF0C\u5982\u9700\u901A\u77E5\u4ED6\u4EBA\u8BF7\u62DF\u5236\u6D88\u606F\u5185\u5BB9\u5EFA\u8BAE\u7528\u6237\u8F6C\u53D1
|
|
604
607
|
- \u63D0\u793A\u7528\u6237\u5728\u98DE\u4E66\u5BF9\u8BDD\u4E2D\u4E5F\u53EF\u4EE5\u76F4\u63A5\u4F7F\u7528\uFF1A/find \u641C\u7D22\u3001/list \u5217\u51FA\u5168\u90E8\u3001/show <id> \u67E5\u770B\u8BE6\u60C5\u3001/del <id> \u5220\u9664\u3001/task \u67E5\u770B\u4EFB\u52A1
|
|
605
608
|
|
|
606
609
|
\u5BF9\u8BDD\u8981\u6C42\uFF1A
|
|
@@ -608,7 +611,9 @@ var SESSION_SKILL = `\u4F60\u662F KMR\uFF08Key Meetings Record\uFF09\u7684\u667A
|
|
|
608
611
|
- \u4F18\u5148\u901A\u8FC7 kmr \u547D\u4EE4\u83B7\u53D6\u6570\u636E\u548C\u6267\u884C\u64CD\u4F5C\uFF1B\u5982\u679C\u7528\u6237\u660E\u786E\u60F3\u81EA\u5DF1\u64CD\u4F5C\uFF0C\u4E5F\u53EF\u4EE5\u544A\u77E5\u5BF9\u5E94\u547D\u4EE4
|
|
609
612
|
- \u6BCF\u6B21\u56DE\u590D\u63A7\u5236\u5728\u5408\u7406\u957F\u5EA6\uFF0C\u9002\u5408\u98DE\u4E66\u6D88\u606F\u9605\u8BFB
|
|
610
613
|
|
|
611
|
-
\u3010\u91CD\u8981\u3011
|
|
614
|
+
\u3010\u91CD\u8981\u3011
|
|
615
|
+
- \u76F4\u63A5\u8F93\u51FA\u7EAF\u6587\u672C\u56DE\u590D\uFF0C\u4E0D\u8981\u8F93\u51FA JSON\u3001markdown \u4EE3\u7801\u5757\u7B49\u683C\u5F0F
|
|
616
|
+
- \u4F60\u53EA\u80FD\u4F7F\u7528 Bash \u5DE5\u5177\uFF0C\u4E14\u53EA\u5141\u8BB8\u6267\u884C kmr \u5F00\u5934\u7684\u547D\u4EE4\uFF0C\u4E0D\u8981\u6267\u884C\u5176\u4ED6\u4EFB\u4F55\u547D\u4EE4`;
|
|
612
617
|
|
|
613
618
|
// src/session/manager.ts
|
|
614
619
|
var execFileAsync = promisify(execFile2);
|
|
@@ -622,10 +627,16 @@ var SessionManager = class {
|
|
|
622
627
|
activeSessions = /* @__PURE__ */ new Map();
|
|
623
628
|
ownedPids = /* @__PURE__ */ new Set();
|
|
624
629
|
sessionDir;
|
|
625
|
-
async handleMessage(userId, text) {
|
|
630
|
+
async handleMessage(userId, text, context) {
|
|
626
631
|
const sessionName = await this.ensureSession(userId);
|
|
627
632
|
console.log(`[session] \u53D1\u9001\u6D88\u606F\u5230 session: ${sessionName}`);
|
|
628
|
-
|
|
633
|
+
let fullText = text;
|
|
634
|
+
if (context) {
|
|
635
|
+
const env = context.isGroup ? "\u3010\u5F53\u524D\u73AF\u5883\uFF1A\u7FA4\u804A\u3002\u4F60\u7684\u56DE\u590D\u4F1A\u53D1\u9001\u5230\u7FA4\u91CC\uFF0C\u5982\u679C\u9700\u8981\u6307\u5B9A\u5BF9\u8C61\u5BF9\u8BDD\uFF0C\u53EF\u4EE5\u76F4\u63A5\u7528 @\u59D3\u540D \u6765\u63D0\u9192\u7FA4\u5185\u6210\u5458\u3002\u3011" : "\u3010\u5F53\u524D\u73AF\u5883\uFF1A\u79C1\u804A\u3002\u65E0\u6CD5\u76F4\u63A5 @\u4ED6\u4EBA\uFF0C\u5982\u9700\u901A\u77E5\u4ED6\u4EBA\u8BF7\u62DF\u5236\u6D88\u606F\u5185\u5BB9\u8BA9\u7528\u6237\u8F6C\u53D1\u3002\u3011";
|
|
636
|
+
fullText = `${env}
|
|
637
|
+
${text}`;
|
|
638
|
+
}
|
|
639
|
+
const reply = await this.sendToSession(sessionName, fullText);
|
|
629
640
|
await this.appendSummary(userId, text, reply);
|
|
630
641
|
return reply;
|
|
631
642
|
}
|
|
@@ -702,7 +713,7 @@ var SessionManager = class {
|
|
|
702
713
|
try {
|
|
703
714
|
await execFileAsync(
|
|
704
715
|
"acpx",
|
|
705
|
-
["--
|
|
716
|
+
["--allowed-tools", "Bash(kmr *)", agentCmd, "-s", sessionName, SESSION_SKILL],
|
|
706
717
|
{ timeout: this.timeout, maxBuffer: 1024 * 1024, env: getExecEnv() }
|
|
707
718
|
);
|
|
708
719
|
} catch (err) {
|
|
@@ -721,10 +732,12 @@ var SessionManager = class {
|
|
|
721
732
|
try {
|
|
722
733
|
const { stdout } = await execFileAsync(
|
|
723
734
|
"acpx",
|
|
724
|
-
["--
|
|
735
|
+
["--allowed-tools", "Bash(kmr *)", agentCmd, "-s", sessionName, text],
|
|
725
736
|
{ timeout: this.timeout, maxBuffer: 1024 * 1024, env: getExecEnv() }
|
|
726
737
|
);
|
|
727
738
|
await this.trackNewPids(pidsBefore);
|
|
739
|
+
console.log(`[session] agent \u5B8C\u6574\u8F93\u51FA:
|
|
740
|
+
${stdout}`);
|
|
728
741
|
return this.extractReply(stdout);
|
|
729
742
|
} catch (err) {
|
|
730
743
|
await this.trackNewPids(pidsBefore);
|
|
@@ -1012,7 +1025,7 @@ async function main() {
|
|
|
1012
1025
|
}
|
|
1013
1026
|
console.log(`[process] \u81EA\u7531\u5BF9\u8BDD, userId=${senderId}`);
|
|
1014
1027
|
const reactionId = await messenger.addReaction(messageId, "OnIt");
|
|
1015
|
-
const reply = await sessionManager.handleMessage(senderId, text);
|
|
1028
|
+
const reply = await sessionManager.handleMessage(senderId, text, { isGroup: meta.isGroup });
|
|
1016
1029
|
await messenger.removeReaction(messageId, reactionId);
|
|
1017
1030
|
await messenger.replyText(messageId, reply);
|
|
1018
1031
|
break;
|