@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 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.46") {
9
+ if (data.version && data.version !== "1.0.48") {
10
10
  console.log(`
11
- \u2B06\uFE0F \u65B0\u7248\u672C\u53EF\u7528: ${"1.0.46"} \u2192 ${data.version}`);
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.46");
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\u53D1\u9001\u6D88\u606F
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\u76F4\u63A5\u8F93\u51FA\u7EAF\u6587\u672C\u56DE\u590D\uFF0C\u4E0D\u8981\u8F93\u51FA JSON\u3001markdown \u4EE3\u7801\u5757\u7B49\u683C\u5F0F\u3002`;
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
- const reply = await this.sendToSession(sessionName, text);
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
- ["--approve-all", agentCmd, "-s", sessionName, SESSION_SKILL],
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
- ["--approve-all", agentCmd, "-s", sessionName, text],
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lih-x-x/kmr",
3
- "version": "1.0.46",
3
+ "version": "1.0.48",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "bin": {