@lih-x-x/kmr 1.0.0 → 1.0.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.
Files changed (49) hide show
  1. package/dist/chunk-X36FOW5Y.js +47 -0
  2. package/dist/cli.js +51 -34
  3. package/dist/config-KM4HTJA2.js +12 -0
  4. package/dist/index.js +1134 -207
  5. package/package.json +11 -3
  6. package/dist/agent/claudeCode.d.ts +0 -12
  7. package/dist/agent/claudeCode.js +0 -109
  8. package/dist/agent/prompt.d.ts +0 -3
  9. package/dist/agent/prompt.js +0 -33
  10. package/dist/agent/types.d.ts +0 -7
  11. package/dist/agent/types.js +0 -1
  12. package/dist/cli-init.d.ts +0 -1
  13. package/dist/cli-init.js +0 -12
  14. package/dist/cli.d.ts +0 -2
  15. package/dist/config.d.ts +0 -17
  16. package/dist/config.js +0 -38
  17. package/dist/index.d.ts +0 -1
  18. package/dist/lark/client.d.ts +0 -8
  19. package/dist/lark/client.js +0 -68
  20. package/dist/lark/docReader.d.ts +0 -9
  21. package/dist/lark/docReader.js +0 -75
  22. package/dist/lark/messenger.d.ts +0 -22
  23. package/dist/lark/messenger.js +0 -156
  24. package/dist/lark/router.d.ts +0 -20
  25. package/dist/lark/router.js +0 -75
  26. package/dist/lark/taskCreator.d.ts +0 -15
  27. package/dist/lark/taskCreator.js +0 -41
  28. package/dist/query/finder.d.ts +0 -2
  29. package/dist/query/finder.js +0 -18
  30. package/dist/query/handler.d.ts +0 -8
  31. package/dist/query/handler.js +0 -17
  32. package/dist/session/manager.d.ts +0 -12
  33. package/dist/session/manager.js +0 -114
  34. package/dist/session/skill.d.ts +0 -1
  35. package/dist/session/skill.js +0 -19
  36. package/dist/storage/jsonStore.d.ts +0 -11
  37. package/dist/storage/jsonStore.js +0 -51
  38. package/dist/storage/types.d.ts +0 -52
  39. package/dist/storage/types.js +0 -1
  40. package/dist/web/openBrowser.d.ts +0 -1
  41. package/dist/web/openBrowser.js +0 -15
  42. package/dist/web/public/public/app.js +0 -344
  43. package/dist/web/public/public/index.html +0 -28
  44. package/dist/web/public/style.css +0 -428
  45. package/dist/web/server.d.ts +0 -6
  46. package/dist/web/server.js +0 -209
  47. /package/dist/{web → public}/public/app.js +0 -0
  48. /package/dist/{web → public}/public/index.html +0 -0
  49. /package/dist/{web/public → public}/public/style.css +0 -0
@@ -0,0 +1,47 @@
1
+ // src/config.ts
2
+ import fs from "fs";
3
+ import path from "path";
4
+ import os from "os";
5
+ function getKmrDir() {
6
+ return process.env.KMR_HOME || path.join(os.homedir(), ".kmr");
7
+ }
8
+ var KMR_DIR = getKmrDir();
9
+ var DEFAULT_CONFIG = {
10
+ lark: {
11
+ appId: "",
12
+ appSecret: ""
13
+ },
14
+ agent: {
15
+ provider: "claude-code",
16
+ timeout: 12e4
17
+ },
18
+ storage: {
19
+ dataDir: path.join(getKmrDir(), "data", "meetings")
20
+ }
21
+ };
22
+ function initConfig() {
23
+ const kmrDir = getKmrDir();
24
+ const configPath = path.join(kmrDir, "config.json");
25
+ const dataDir = path.join(kmrDir, "data", "meetings");
26
+ fs.mkdirSync(dataDir, { recursive: true });
27
+ if (!fs.existsSync(configPath)) {
28
+ fs.writeFileSync(configPath, JSON.stringify(DEFAULT_CONFIG, null, 2), "utf-8");
29
+ }
30
+ }
31
+ function loadConfig() {
32
+ const kmrDir = getKmrDir();
33
+ const configPath = path.join(kmrDir, "config.json");
34
+ if (!fs.existsSync(configPath)) {
35
+ throw new Error(`\u914D\u7F6E\u6587\u4EF6\u4E0D\u5B58\u5728: ${configPath}
36
+ \u8BF7\u5148\u8FD0\u884C kmr init`);
37
+ }
38
+ const raw = fs.readFileSync(configPath, "utf-8");
39
+ return JSON.parse(raw);
40
+ }
41
+
42
+ export {
43
+ getKmrDir,
44
+ KMR_DIR,
45
+ initConfig,
46
+ loadConfig
47
+ };
package/dist/cli.js CHANGED
@@ -1,43 +1,60 @@
1
1
  #!/usr/bin/env node
2
- import { argv } from 'node:process';
3
- const command = argv[2];
4
- if (command === 'init') {
5
- const { initConfig, getKmrDir } = await import('./config.js');
6
- const path = await import('node:path');
7
- const kmrDir = getKmrDir();
8
- console.log(`初始化 KMR 配置目录: ${kmrDir}`);
9
- initConfig();
10
- console.log('✅ 目录结构创建完成');
11
- console.log(`\n请编辑配置文件填入飞书凭证:\n ${path.join(kmrDir, 'config.json')}`);
12
- console.log('\n配置完成后运行 kmr 启动服务');
2
+
3
+ // src/cli.ts
4
+ import { argv } from "process";
5
+ async function checkUpdate() {
6
+ try {
7
+ const { createRequire } = await import("module");
8
+ const require2 = createRequire(import.meta.url);
9
+ const pkg = require2("../package.json");
10
+ const res = await fetch(`https://registry.npmjs.org/${pkg.name}/latest`, { signal: AbortSignal.timeout(3e3) });
11
+ const data = await res.json();
12
+ if (data.version && data.version !== pkg.version) {
13
+ console.log(`
14
+ \u2B06\uFE0F \u65B0\u7248\u672C\u53EF\u7528: ${pkg.version} \u2192 ${data.version}`);
15
+ console.log(` \u8FD0\u884C npm install -g ${pkg.name} \u66F4\u65B0
16
+ `);
17
+ }
18
+ } catch {
19
+ }
13
20
  }
14
- else if (command === '--help' || command === '-h') {
15
- console.log(`
16
- KMR(Key Meetings Record)— 关键会议记录服务
21
+ var command = argv[2];
22
+ if (command === "init") {
23
+ const { initConfig, getKmrDir } = await import("./config-KM4HTJA2.js");
24
+ const path = await import("path");
25
+ const kmrDir = getKmrDir();
26
+ console.log(`\u521D\u59CB\u5316 KMR \u914D\u7F6E\u76EE\u5F55: ${kmrDir}`);
27
+ initConfig();
28
+ console.log("\u2705 \u76EE\u5F55\u7ED3\u6784\u521B\u5EFA\u5B8C\u6210");
29
+ console.log(`
30
+ \u8BF7\u7F16\u8F91\u914D\u7F6E\u6587\u4EF6\u586B\u5165\u98DE\u4E66\u51ED\u8BC1:
31
+ ${path.join(kmrDir, "config.json")}`);
32
+ console.log("\n\u914D\u7F6E\u5B8C\u6210\u540E\u8FD0\u884C kmr \u542F\u52A8\u670D\u52A1");
33
+ } else if (command === "--help" || command === "-h") {
34
+ console.log(`
35
+ KMR\uFF08Key Meetings Record\uFF09\u2014 \u5173\u952E\u4F1A\u8BAE\u8BB0\u5F55\u670D\u52A1
17
36
 
18
- 用法:
19
- kmr 启动服务(飞书机器人 + Web 管理界面)
20
- kmr init 初始化配置目录 ~/.kmr/
21
- kmr --help 显示帮助
37
+ \u7528\u6CD5:
38
+ kmr \u542F\u52A8\u670D\u52A1\uFF08\u98DE\u4E66\u673A\u5668\u4EBA + Web \u7BA1\u7406\u754C\u9762\uFF09
39
+ kmr init \u521D\u59CB\u5316\u914D\u7F6E\u76EE\u5F55 ~/.kmr/
40
+ kmr --help \u663E\u793A\u5E2E\u52A9
22
41
 
23
- 前置条件:
24
- - acpx 已全局安装(npm install -g acpx@latest
25
- - Claude Code 可通过 acpx 调用
26
- - 飞书自建应用已创建并配置权限
42
+ \u524D\u7F6E\u6761\u4EF6:
43
+ - acpx \u5DF2\u5168\u5C40\u5B89\u88C5\uFF08npm install -g acpx@latest\uFF09
44
+ - Claude Code \u53EF\u901A\u8FC7 acpx \u8C03\u7528
45
+ - \u98DE\u4E66\u81EA\u5EFA\u5E94\u7528\u5DF2\u521B\u5EFA\u5E76\u914D\u7F6E\u6743\u9650
27
46
 
28
- 快速开始:
47
+ \u5FEB\u901F\u5F00\u59CB:
29
48
  1. kmr init
30
- 2. 编辑 ~/.kmr/config.json 填入飞书凭证
49
+ 2. \u7F16\u8F91 ~/.kmr/config.json \u586B\u5165\u98DE\u4E66\u51ED\u8BC1
31
50
  3. kmr
32
51
  `);
33
- }
34
- else if (command === '--version' || command === '-v') {
35
- const { createRequire } = await import('node:module');
36
- const require = createRequire(import.meta.url);
37
- const pkg = require('../package.json');
38
- console.log(pkg.version);
39
- }
40
- else {
41
- // 默认启动服务
42
- await import('./index.js');
52
+ } else if (command === "--version" || command === "-v") {
53
+ const { createRequire } = await import("module");
54
+ const require2 = createRequire(import.meta.url);
55
+ const pkg = require2("../package.json");
56
+ console.log(pkg.version);
57
+ } else {
58
+ checkUpdate();
59
+ await import("./index.js");
43
60
  }
@@ -0,0 +1,12 @@
1
+ import {
2
+ KMR_DIR,
3
+ getKmrDir,
4
+ initConfig,
5
+ loadConfig
6
+ } from "./chunk-X36FOW5Y.js";
7
+ export {
8
+ KMR_DIR,
9
+ getKmrDir,
10
+ initConfig,
11
+ loadConfig
12
+ };