@geoly-ai/social-hub-cli 0.3.1 → 0.3.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/CHANGELOG.md +16 -0
- package/dist/cmd-manifest.json +2 -2
- package/dist/skill-update-check.d.ts +9 -0
- package/dist/skill-update-check.d.ts.map +1 -1
- package/dist/skill-update-check.js +10 -4
- package/dist/skill-update-check.js.map +1 -1
- package/dist/skill-update-check.test.js +31 -2
- package/dist/skill-update-check.test.js.map +1 -1
- package/dist/update-check.d.ts +14 -1
- package/dist/update-check.d.ts.map +1 -1
- package/dist/update-check.js +39 -7
- package/dist/update-check.js.map +1 -1
- package/dist/update-check.notify.test.d.ts +2 -0
- package/dist/update-check.notify.test.d.ts.map +1 -0
- package/dist/update-check.notify.test.js +51 -0
- package/dist/update-check.notify.test.js.map +1 -0
- package/dist/update-check.test.js +41 -6
- package/dist/update-check.test.js.map +1 -1
- package/package.json +1 -1
- package/skills/manifest.json +1 -1
- package/skills/social-hub-cli/SKILL.md +2 -0
- package/skills/social-hub-intelligence/SKILL.md +33 -0
- package/skills/social-hub-shared/SKILL.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,22 @@ All notable changes to `@geoly-ai/social-hub-cli` are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
Release workflow: `pnpm release:cli` → `pnpm publish:cli`.
|
|
6
6
|
|
|
7
|
+
## [0.3.3] - 2026-07-31
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- 补 hot-posts↔Arctic history 跨 skill 划界 —— 历史帖别误用 Hub 缓存
|
|
12
|
+
|
|
13
|
+
## [0.3.2] - 2026-07-31
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- 自动更新缓存 24h→4h + version/help 也触发(自身不发网络请求)
|
|
18
|
+
|
|
19
|
+
### Documentation
|
|
20
|
+
|
|
21
|
+
- social-hub-shared 更新自动升级说明 —— 4h TTL + version/help 也触发 + 后台自动装
|
|
22
|
+
|
|
7
23
|
## [0.3.1] - 2026-07-31
|
|
8
24
|
|
|
9
25
|
### Added
|
package/dist/cmd-manifest.json
CHANGED
|
@@ -5,6 +5,14 @@ export declare function readRecentlyChangedSkills(): string[] | null;
|
|
|
5
5
|
export declare function clearSkillsChanged(): void;
|
|
6
6
|
/** Agent-facing re-read prompt naming the changed skills. */
|
|
7
7
|
export declare function formatSkillRereadLines(skills: string[]): string[];
|
|
8
|
+
export type SkillCheckCache = {
|
|
9
|
+
checkedAt: string;
|
|
10
|
+
bundledVersion: string;
|
|
11
|
+
targetsKey: string;
|
|
12
|
+
managed: number;
|
|
13
|
+
outdated: number;
|
|
14
|
+
missing: number;
|
|
15
|
+
};
|
|
8
16
|
/** Skip the skill drift check (CI, opt-out flags, version/help, skills ops). */
|
|
9
17
|
export declare function shouldSkipSkillCheck(argv: string[]): boolean;
|
|
10
18
|
export declare function skillAutoUpdateEnabled(): boolean;
|
|
@@ -22,6 +30,7 @@ export declare function formatSkillPendingNoticeLines(outdated: number, missing:
|
|
|
22
30
|
export declare function formatSkillInstallNoticeLines(): string[];
|
|
23
31
|
/** Drop the cache so the next run recomputes drift (call after skills ops). */
|
|
24
32
|
export declare function clearSkillCheckCache(): void;
|
|
33
|
+
export declare function cacheIsFresh(cache: SkillCheckCache, bundledVersion: string, targetsKey: string): boolean;
|
|
25
34
|
/**
|
|
26
35
|
* Install-semantics sync of the bundled skills into every managed target
|
|
27
36
|
* (standard-path scan ∪ registry). Unlike `skills update`, this INSTALLS
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-update-check.d.ts","sourceRoot":"","sources":["../src/skill-update-check.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"skill-update-check.d.ts","sourceRoot":"","sources":["../src/skill-update-check.ts"],"names":[],"mappings":"AA0BA,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAiB1D;AAED,uEAAuE;AACvE,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,GAAG,IAAI,CAY3D;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAMzC;AAED,6DAA6D;AAC7D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAQjE;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAGlB,cAAc,EAAE,MAAM,CAAC;IAGvB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAWF,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAwB5D;AAED,wBAAgB,sBAAsB,IAAI,OAAO,CAGhD;AAED,gFAAgF;AAChF,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAYvE;AAED,kFAAkF;AAClF,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAOrE;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAuBV;AAED,wEAAwE;AACxE,wBAAgB,6BAA6B,IAAI,MAAM,EAAE,CAWxD;AAwCD,+EAA+E;AAC/E,wBAAgB,oBAAoB,IAAI,IAAI,CAM3C;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,eAAe,EACtB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAQT;AA8CD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,SAAgB,GAAG;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9C,CA0BA;AA0BD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,GAAE,MAAM,EAAiB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAiEf"}
|
|
@@ -12,9 +12,10 @@ import { readState } from "./skills/state-store.js";
|
|
|
12
12
|
import { isRunningViaNpx } from "./skills/paths.js";
|
|
13
13
|
const CACHE_DIR = join(homedir(), ".config", "geoly");
|
|
14
14
|
const CACHE_FILE = join(CACHE_DIR, "social-hub-skill-check.json");
|
|
15
|
-
// Drift is checked from local files; cache the result
|
|
16
|
-
//
|
|
17
|
-
|
|
15
|
+
// Drift is checked from local files; cache the result so normal commands don't
|
|
16
|
+
// pay the hashing cost every invocation. Kept in step with the CLI notice cache
|
|
17
|
+
// (4h) so binary self-upgrade and skill sync propagate on the same cadence.
|
|
18
|
+
const CACHE_TTL_MS = 4 * 60 * 60 * 1000;
|
|
18
19
|
// Breadcrumb of skills that just changed on disk (after update/self-update),
|
|
19
20
|
// so `doctor` can remind the agent to re-read them for a short window.
|
|
20
21
|
const CHANGED_FILE = join(CACHE_DIR, "social-hub-skills-changed.json");
|
|
@@ -84,8 +85,13 @@ export function shouldSkipSkillCheck(argv) {
|
|
|
84
85
|
return true;
|
|
85
86
|
if (args.includes("--no-skill-check"))
|
|
86
87
|
return true;
|
|
88
|
+
// Keep version/help instant: the skill drift check hashes skill dirs when the
|
|
89
|
+
// cache is stale, which would delay `--version`/`--help` output. (The binary
|
|
90
|
+
// auto-update still triggers on these — see update-check.ts.)
|
|
87
91
|
if (args.includes("-V") || args.includes("--version"))
|
|
88
92
|
return true;
|
|
93
|
+
if (args.includes("-h") || args.includes("--help"))
|
|
94
|
+
return true;
|
|
89
95
|
// Don't nag during `skills …` ops, or version/help.
|
|
90
96
|
const firstPositional = args.find((arg) => !arg.startsWith("-"));
|
|
91
97
|
if (firstPositional === "version" ||
|
|
@@ -190,7 +196,7 @@ export function clearSkillCheckCache() {
|
|
|
190
196
|
// ignore
|
|
191
197
|
}
|
|
192
198
|
}
|
|
193
|
-
function cacheIsFresh(cache, bundledVersion, targetsKey) {
|
|
199
|
+
export function cacheIsFresh(cache, bundledVersion, targetsKey) {
|
|
194
200
|
// Old caches predating these fields are treated as stale (force recompute).
|
|
195
201
|
if (cache.bundledVersion !== bundledVersion)
|
|
196
202
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-update-check.js","sourceRoot":"","sources":["../src/skill-update-check.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skill-update-check.js","sourceRoot":"","sources":["../src/skill-update-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { afterEach, describe, expect, it } from "vitest";
|
|
2
|
-
import { formatSkillAutoUpdatedLines, formatSkillInstallNoticeLines, formatSkillPendingNoticeLines, formatSkillRereadLines, formatSkillUpdateNoticeLines, shouldSkipSkillCheck, skillAutoUpdateEnabled, } from "./skill-update-check.js";
|
|
2
|
+
import { cacheIsFresh, formatSkillAutoUpdatedLines, formatSkillInstallNoticeLines, formatSkillPendingNoticeLines, formatSkillRereadLines, formatSkillUpdateNoticeLines, shouldSkipSkillCheck, skillAutoUpdateEnabled, } from "./skill-update-check.js";
|
|
3
3
|
function withEnv(key, value, fn) {
|
|
4
4
|
const prev = process.env[key];
|
|
5
5
|
if (value === undefined)
|
|
@@ -28,10 +28,16 @@ describe("shouldSkipSkillCheck", () => {
|
|
|
28
28
|
withEnv("SOCIAL_HUB_NO_UPDATE_CHECK", "1", () => expect(shouldSkipSkillCheck(["node", "cli", "health"])).toBe(true));
|
|
29
29
|
expect(shouldSkipSkillCheck(["node", "cli", "health", "--no-skill-check"])).toBe(true);
|
|
30
30
|
});
|
|
31
|
-
it("skips version/help and skills subcommands", () => {
|
|
31
|
+
it("skips version/help (subcommands + flags) and skills subcommands", () => {
|
|
32
32
|
expect(shouldSkipSkillCheck(["node", "cli", "--version"])).toBe(true);
|
|
33
|
+
expect(shouldSkipSkillCheck(["node", "cli", "-V"])).toBe(true);
|
|
33
34
|
expect(shouldSkipSkillCheck(["node", "cli", "version"])).toBe(true);
|
|
34
35
|
expect(shouldSkipSkillCheck(["node", "cli", "help"])).toBe(true);
|
|
36
|
+
// The --help/-h flags must also skip so the drift hashing never delays
|
|
37
|
+
// help output (the binary auto-update still triggers — see update-check).
|
|
38
|
+
expect(shouldSkipSkillCheck(["node", "cli", "--help"])).toBe(true);
|
|
39
|
+
expect(shouldSkipSkillCheck(["node", "cli", "-h"])).toBe(true);
|
|
40
|
+
expect(shouldSkipSkillCheck(["node", "cli", "doctor", "--help"])).toBe(true);
|
|
35
41
|
expect(shouldSkipSkillCheck(["node", "cli", "skills", "update"])).toBe(true);
|
|
36
42
|
});
|
|
37
43
|
it("runs for normal commands", () => {
|
|
@@ -39,6 +45,29 @@ describe("shouldSkipSkillCheck", () => {
|
|
|
39
45
|
expect(shouldSkipSkillCheck(["node", "cli", "posts", "list"])).toBe(false);
|
|
40
46
|
});
|
|
41
47
|
});
|
|
48
|
+
describe("skill cacheIsFresh (4h TTL)", () => {
|
|
49
|
+
const base = (checkedAt) => ({
|
|
50
|
+
checkedAt,
|
|
51
|
+
bundledVersion: "0.2.30",
|
|
52
|
+
targetsKey: "abc123",
|
|
53
|
+
managed: 5,
|
|
54
|
+
outdated: 0,
|
|
55
|
+
missing: 0,
|
|
56
|
+
});
|
|
57
|
+
it("treats a cache younger than 4h as fresh", () => {
|
|
58
|
+
const at = new Date(Date.now() - 3 * 60 * 60 * 1000).toISOString();
|
|
59
|
+
expect(cacheIsFresh(base(at), "0.2.30", "abc123")).toBe(true);
|
|
60
|
+
});
|
|
61
|
+
it("treats a cache older than 4h as stale", () => {
|
|
62
|
+
const at = new Date(Date.now() - 5 * 60 * 60 * 1000).toISOString();
|
|
63
|
+
expect(cacheIsFresh(base(at), "0.2.30", "abc123")).toBe(false);
|
|
64
|
+
});
|
|
65
|
+
it("stays stale when bundledVersion or targetsKey differ (regardless of age)", () => {
|
|
66
|
+
const at = new Date(Date.now() - 1 * 60 * 60 * 1000).toISOString();
|
|
67
|
+
expect(cacheIsFresh(base(at), "0.2.31", "abc123")).toBe(false);
|
|
68
|
+
expect(cacheIsFresh(base(at), "0.2.30", "different")).toBe(false);
|
|
69
|
+
});
|
|
70
|
+
});
|
|
42
71
|
describe("skillAutoUpdateEnabled", () => {
|
|
43
72
|
it("honors the env flag", () => {
|
|
44
73
|
expect(skillAutoUpdateEnabled()).toBe(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-update-check.test.js","sourceRoot":"","sources":["../src/skill-update-check.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,6BAA6B,EAC7B,sBAAsB,EACtB,4BAA4B,EAC5B,oBAAoB,EACpB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"skill-update-check.test.js","sourceRoot":"","sources":["../src/skill-update-check.test.ts"],"names":[],"mappings":"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"}
|
package/dist/update-check.d.ts
CHANGED
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
export declare const PACKAGE_NAME = "@geoly-ai/social-hub-cli";
|
|
2
|
+
type UpdateCache = {
|
|
3
|
+
checkedAt: string;
|
|
4
|
+
latest: string;
|
|
5
|
+
};
|
|
2
6
|
export declare function shouldSkipUpdateCheck(argv: string[]): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* version/help invocations must stay instant: they trigger the background
|
|
9
|
+
* auto-update only from a fresh cache and never block on a network round-trip
|
|
10
|
+
* (see the cache-only branch in maybeNotifyUpdate). Covers the -V/--version and
|
|
11
|
+
* -h/--help flags plus the `version`/`help` subcommands.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isVersionOrHelpInvocation(argv: string[]): boolean;
|
|
3
14
|
export declare function isNewerVersion(latest: string, current: string): boolean;
|
|
4
|
-
|
|
15
|
+
export declare function cacheIsFresh(cache: UpdateCache): boolean;
|
|
16
|
+
/** Real-time npm latest lookup (bypasses the notice cache). */
|
|
5
17
|
export declare function getLatestVersion(): Promise<string | null>;
|
|
6
18
|
/**
|
|
7
19
|
* Commands `self-update` runs for a global install: upgrade the CLI, then sync
|
|
@@ -43,4 +55,5 @@ export declare function spawnBackgroundUpdate(latest: string, lockFile?: string)
|
|
|
43
55
|
/** 后台更新已启动时给人/agent 的一行提示(stderr;不污染 stdout/JSON)。 */
|
|
44
56
|
export declare function formatAutoUpdateLines(current: string, latest: string): string[];
|
|
45
57
|
export declare function maybeNotifyUpdate(argv?: string[]): Promise<void>;
|
|
58
|
+
export {};
|
|
46
59
|
//# sourceMappingURL=update-check.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../src/update-check.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../src/update-check.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY,6BAA6B,CAAC;AAavD,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAkB7D;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAYjE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAavE;AAuBD,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAIxD;AAED,+DAA+D;AAC/D,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAE/D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,GAC5B,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBvD;AAoBD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED,uEAAuE;AACvE,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAUV;AAaD,wBAAgB,oBAAoB,IAAI,OAAO,CAI9C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,GAAE,MAA8B,GACvC,OAAO,CA4BT;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,GAAE,MAA8B,GACvC,IAAI,CAMN;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAA8B,GACvC,OAAO,CAcT;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAQV;AAoBD,wBAAsB,iBAAiB,CACrC,IAAI,GAAE,MAAM,EAAiB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
|
package/dist/update-check.js
CHANGED
|
@@ -6,7 +6,10 @@ import { isRunningViaNpx } from "./skills/paths.js";
|
|
|
6
6
|
import { getCliVersion } from "./version-info.js";
|
|
7
7
|
export const PACKAGE_NAME = "@geoly-ai/social-hub-cli";
|
|
8
8
|
const REGISTRY_URL = `https://registry.npmjs.org/${PACKAGE_NAME.replace("/", "%2F")}/latest`;
|
|
9
|
-
|
|
9
|
+
// Notice cache TTL: fresh cache is reused (no npm re-fetch); once older than
|
|
10
|
+
// this the next non-version/help command re-queries the registry. Kept short
|
|
11
|
+
// (4h) so a new release propagates to already-upgraded machines within hours.
|
|
12
|
+
const CACHE_TTL_MS = 4 * 60 * 60 * 1000;
|
|
10
13
|
const FETCH_TIMEOUT_MS = 2_000;
|
|
11
14
|
const CACHE_DIR = join(homedir(), ".config", "geoly");
|
|
12
15
|
const CACHE_FILE = join(CACHE_DIR, "social-hub-update-check.json");
|
|
@@ -20,14 +23,37 @@ export function shouldSkipUpdateCheck(argv) {
|
|
|
20
23
|
return true;
|
|
21
24
|
if (argv.includes("--no-update-check"))
|
|
22
25
|
return true;
|
|
23
|
-
|
|
26
|
+
// `self-update` runs its own foreground `npm i -g`; a concurrent background
|
|
27
|
+
// auto-update would double-install, so it stays excluded. Matched on the
|
|
28
|
+
// command position (not anywhere in argv) so a literal "self-update" passed
|
|
29
|
+
// as an option value can't accidentally suppress the check.
|
|
30
|
+
//
|
|
31
|
+
// version/help — both the subcommands AND the --version/-V, --help/-h flags —
|
|
32
|
+
// now DO trigger the check so `social-hub --version` propagates upgrades.
|
|
33
|
+
// maybeNotifyUpdate keeps them instant via a cache-only fast path (no fetch).
|
|
24
34
|
const args = argv.slice(2);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
if (args.some((arg) => skipCommands.has(arg)))
|
|
35
|
+
const firstPositional = args.find((arg) => !arg.startsWith("-"));
|
|
36
|
+
if (firstPositional === "self-update")
|
|
28
37
|
return true;
|
|
29
38
|
return false;
|
|
30
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* version/help invocations must stay instant: they trigger the background
|
|
42
|
+
* auto-update only from a fresh cache and never block on a network round-trip
|
|
43
|
+
* (see the cache-only branch in maybeNotifyUpdate). Covers the -V/--version and
|
|
44
|
+
* -h/--help flags plus the `version`/`help` subcommands.
|
|
45
|
+
*/
|
|
46
|
+
export function isVersionOrHelpInvocation(argv) {
|
|
47
|
+
const args = argv.slice(2);
|
|
48
|
+
if (args.includes("-V") ||
|
|
49
|
+
args.includes("--version") ||
|
|
50
|
+
args.includes("-h") ||
|
|
51
|
+
args.includes("--help")) {
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
const firstPositional = args.find((arg) => !arg.startsWith("-"));
|
|
55
|
+
return firstPositional === "version" || firstPositional === "help";
|
|
56
|
+
}
|
|
31
57
|
export function isNewerVersion(latest, current) {
|
|
32
58
|
const parse = (value) => value.split(".").map((part) => Number.parseInt(part, 10) || 0);
|
|
33
59
|
const latestParts = parse(latest);
|
|
@@ -59,13 +85,13 @@ function writeCache(latest) {
|
|
|
59
85
|
// ignore cache write failures
|
|
60
86
|
}
|
|
61
87
|
}
|
|
62
|
-
function cacheIsFresh(cache) {
|
|
88
|
+
export function cacheIsFresh(cache) {
|
|
63
89
|
const checkedAt = Date.parse(cache.checkedAt);
|
|
64
90
|
if (Number.isNaN(checkedAt))
|
|
65
91
|
return false;
|
|
66
92
|
return Date.now() - checkedAt < CACHE_TTL_MS;
|
|
67
93
|
}
|
|
68
|
-
/** Real-time npm latest lookup (bypasses the
|
|
94
|
+
/** Real-time npm latest lookup (bypasses the notice cache). */
|
|
69
95
|
export async function getLatestVersion() {
|
|
70
96
|
return fetchLatestVersion();
|
|
71
97
|
}
|
|
@@ -252,6 +278,12 @@ export async function maybeNotifyUpdate(argv = process.argv) {
|
|
|
252
278
|
}
|
|
253
279
|
return;
|
|
254
280
|
}
|
|
281
|
+
// version/help must not block on a network fetch — they trigger the auto-update
|
|
282
|
+
// only from a fresh cache (kept warm by regular commands on the 4h TTL). With a
|
|
283
|
+
// stale/absent cache, skip the fetch this run so `--version`/`--help` stay
|
|
284
|
+
// instant; the next regular command refreshes the cache.
|
|
285
|
+
if (isVersionOrHelpInvocation(argv))
|
|
286
|
+
return;
|
|
255
287
|
const latest = await fetchLatestVersion();
|
|
256
288
|
if (!latest)
|
|
257
289
|
return;
|
package/dist/update-check.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-check.js","sourceRoot":"","sources":["../src/update-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,0BAA0B,CAAC;AACvD,MAAM,YAAY,GAAG,8BAA8B,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC;AAC7F,MAAM,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"update-check.js","sourceRoot":"","sources":["../src/update-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-check.notify.test.d.ts","sourceRoot":"","sources":["../src/update-check.notify.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
+
// Force the notice cache to be absent (readFileSync throws) so we exercise the
|
|
3
|
+
// stale/absent-cache path deterministically regardless of the dev machine's
|
|
4
|
+
// real ~/.config/geoly cache. Isolated in its own file so this fs mock doesn't
|
|
5
|
+
// affect the temp-dir lock tests in update-check.test.ts.
|
|
6
|
+
vi.mock("node:fs", async (importOriginal) => {
|
|
7
|
+
const actual = await importOriginal();
|
|
8
|
+
return {
|
|
9
|
+
...actual,
|
|
10
|
+
readFileSync: vi.fn(() => {
|
|
11
|
+
throw new Error("no cache");
|
|
12
|
+
}),
|
|
13
|
+
};
|
|
14
|
+
});
|
|
15
|
+
// Keep a real, known current version so maybeNotifyUpdate doesn't bail on
|
|
16
|
+
// "unknown" before reaching the fetch decision.
|
|
17
|
+
vi.mock("./version-info.js", () => ({
|
|
18
|
+
getCliVersion: () => "0.0.1",
|
|
19
|
+
}));
|
|
20
|
+
const { maybeNotifyUpdate } = await import("./update-check.js");
|
|
21
|
+
describe("maybeNotifyUpdate cache-only fast path", () => {
|
|
22
|
+
let fetchSpy;
|
|
23
|
+
beforeEach(() => {
|
|
24
|
+
// Reject so fetchLatestVersion returns null (no writeCache, no auto-update
|
|
25
|
+
// spawn) — we only assert WHETHER the network was consulted.
|
|
26
|
+
fetchSpy = vi.fn().mockRejectedValue(new Error("network disabled in test"));
|
|
27
|
+
vi.stubGlobal("fetch", fetchSpy);
|
|
28
|
+
delete process.env["SOCIAL_HUB_NO_UPDATE_CHECK"];
|
|
29
|
+
delete process.env["CI"];
|
|
30
|
+
});
|
|
31
|
+
afterEach(() => {
|
|
32
|
+
vi.unstubAllGlobals();
|
|
33
|
+
});
|
|
34
|
+
it("does NOT hit the network for --version when the cache is stale/absent", async () => {
|
|
35
|
+
await maybeNotifyUpdate(["node", "cli", "--version"]);
|
|
36
|
+
expect(fetchSpy).not.toHaveBeenCalled();
|
|
37
|
+
});
|
|
38
|
+
it("does NOT hit the network for --help when the cache is stale/absent", async () => {
|
|
39
|
+
await maybeNotifyUpdate(["node", "cli", "--help"]);
|
|
40
|
+
expect(fetchSpy).not.toHaveBeenCalled();
|
|
41
|
+
});
|
|
42
|
+
it("does NOT hit the network for the version subcommand", async () => {
|
|
43
|
+
await maybeNotifyUpdate(["node", "cli", "version"]);
|
|
44
|
+
expect(fetchSpy).not.toHaveBeenCalled();
|
|
45
|
+
});
|
|
46
|
+
it("DOES query npm for a normal command when the cache is stale/absent", async () => {
|
|
47
|
+
await maybeNotifyUpdate(["node", "cli", "doctor"]);
|
|
48
|
+
expect(fetchSpy).toHaveBeenCalledTimes(1);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=update-check.notify.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-check.notify.test.js","sourceRoot":"","sources":["../src/update-check.notify.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEzE,+EAA+E;AAC/E,4EAA4E;AAC5E,+EAA+E;AAC/E,0DAA0D;AAC1D,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAC1C,MAAM,MAAM,GAAG,MAAM,cAAc,EAA4B,CAAC;IAChE,OAAO;QACL,GAAG,MAAM;QACT,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC,CAAC;KACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,0EAA0E;AAC1E,gDAAgD;AAChD,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;IAClC,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO;CAC7B,CAAC,CAAC,CAAC;AAEJ,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAEhE,QAAQ,CAAC,wCAAwC,EAAE,GAAG,EAAE;IACtD,IAAI,QAAkC,CAAC;IAEvC,UAAU,CAAC,GAAG,EAAE;QACd,2EAA2E;QAC3E,6DAA6D;QAC7D,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAC5E,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,iBAAiB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,iBAAiB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,iBAAiB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,iBAAiB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
|
2
2
|
import { tmpdir } from "node:os";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { afterEach, beforeEach, describe, expect, it } from "vitest";
|
|
5
|
-
import { acquireAutoUpdateLock, buildSelfUpdateSteps, formatAutoUpdateLines, formatUpdateNoticeLines, formatUpgradeCommand, isNewerVersion, releaseAutoUpdateLock, shouldSkipAutoUpdate, shouldSkipUpdateCheck, } from "./update-check.js";
|
|
5
|
+
import { acquireAutoUpdateLock, buildSelfUpdateSteps, cacheIsFresh, formatAutoUpdateLines, formatUpdateNoticeLines, formatUpgradeCommand, isNewerVersion, isVersionOrHelpInvocation, releaseAutoUpdateLock, shouldSkipAutoUpdate, shouldSkipUpdateCheck, } from "./update-check.js";
|
|
6
6
|
describe("shouldSkipUpdateCheck", () => {
|
|
7
7
|
it("skips when env SOCIAL_HUB_NO_UPDATE_CHECK=1", () => {
|
|
8
8
|
const prev = process.env["SOCIAL_HUB_NO_UPDATE_CHECK"];
|
|
@@ -17,10 +17,15 @@ describe("shouldSkipUpdateCheck", () => {
|
|
|
17
17
|
process.env["SOCIAL_HUB_NO_UPDATE_CHECK"] = prev;
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
|
-
it("skips version
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
expect(shouldSkipUpdateCheck(["node", "cli", "
|
|
20
|
+
it("no longer skips version/help commands or the --version/--help flags", () => {
|
|
21
|
+
// version/help now trigger the check (kept instant via cache-only fast path)
|
|
22
|
+
// so `social-hub --version` can propagate a background auto-update.
|
|
23
|
+
expect(shouldSkipUpdateCheck(["node", "cli", "version"])).toBe(false);
|
|
24
|
+
expect(shouldSkipUpdateCheck(["node", "cli", "--version"])).toBe(false);
|
|
25
|
+
expect(shouldSkipUpdateCheck(["node", "cli", "-V"])).toBe(false);
|
|
26
|
+
expect(shouldSkipUpdateCheck(["node", "cli", "help", "doctor"])).toBe(false);
|
|
27
|
+
expect(shouldSkipUpdateCheck(["node", "cli", "--help"])).toBe(false);
|
|
28
|
+
expect(shouldSkipUpdateCheck(["node", "cli", "doctor", "--help"])).toBe(false);
|
|
24
29
|
});
|
|
25
30
|
it("skips when --no-update-check is present", () => {
|
|
26
31
|
expect(shouldSkipUpdateCheck(["node", "cli", "--no-update-check", "doctor"])).toBe(true);
|
|
@@ -30,8 +35,38 @@ describe("shouldSkipUpdateCheck", () => {
|
|
|
30
35
|
expect(shouldSkipUpdateCheck(["node", "cli", "doctor"])).toBe(false);
|
|
31
36
|
expect(shouldSkipUpdateCheck(["node", "cli", "health"])).toBe(false);
|
|
32
37
|
});
|
|
33
|
-
it("skips the redundant notice on self-update", () => {
|
|
38
|
+
it("skips the redundant notice on self-update (command position only)", () => {
|
|
34
39
|
expect(shouldSkipUpdateCheck(["node", "cli", "self-update"])).toBe(true);
|
|
40
|
+
// "self-update" as an option value must NOT suppress the check.
|
|
41
|
+
expect(shouldSkipUpdateCheck(["node", "cli", "doctor", "--note", "self-update"])).toBe(false);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
describe("isVersionOrHelpInvocation", () => {
|
|
45
|
+
it("matches the version/help flags and subcommands", () => {
|
|
46
|
+
expect(isVersionOrHelpInvocation(["node", "cli", "--version"])).toBe(true);
|
|
47
|
+
expect(isVersionOrHelpInvocation(["node", "cli", "-V"])).toBe(true);
|
|
48
|
+
expect(isVersionOrHelpInvocation(["node", "cli", "--help"])).toBe(true);
|
|
49
|
+
expect(isVersionOrHelpInvocation(["node", "cli", "-h"])).toBe(true);
|
|
50
|
+
expect(isVersionOrHelpInvocation(["node", "cli", "version"])).toBe(true);
|
|
51
|
+
expect(isVersionOrHelpInvocation(["node", "cli", "help", "doctor"])).toBe(true);
|
|
52
|
+
expect(isVersionOrHelpInvocation(["node", "cli", "doctor", "--help"])).toBe(true);
|
|
53
|
+
});
|
|
54
|
+
it("does not match normal commands", () => {
|
|
55
|
+
expect(isVersionOrHelpInvocation(["node", "cli", "doctor"])).toBe(false);
|
|
56
|
+
expect(isVersionOrHelpInvocation(["node", "cli", "posts", "list"])).toBe(false);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
describe("cacheIsFresh (4h TTL)", () => {
|
|
60
|
+
it("treats a cache younger than 4h as fresh", () => {
|
|
61
|
+
const checkedAt = new Date(Date.now() - 3 * 60 * 60 * 1000).toISOString();
|
|
62
|
+
expect(cacheIsFresh({ checkedAt, latest: "0.2.30" })).toBe(true);
|
|
63
|
+
});
|
|
64
|
+
it("treats a cache older than 4h as stale", () => {
|
|
65
|
+
const checkedAt = new Date(Date.now() - 5 * 60 * 60 * 1000).toISOString();
|
|
66
|
+
expect(cacheIsFresh({ checkedAt, latest: "0.2.30" })).toBe(false);
|
|
67
|
+
});
|
|
68
|
+
it("treats an unparseable timestamp as stale", () => {
|
|
69
|
+
expect(cacheIsFresh({ checkedAt: "not-a-date", latest: "0.2.30" })).toBe(false);
|
|
35
70
|
});
|
|
36
71
|
});
|
|
37
72
|
describe("formatUpdateNoticeLines", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-check.test.js","sourceRoot":"","sources":["../src/update-check.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,GAAG,GAAG,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;;gBACpE,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC;QACxD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"update-check.test.js","sourceRoot":"","sources":["../src/update-check.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/skills/manifest.json
CHANGED
|
@@ -54,6 +54,8 @@ social-hub version --json
|
|
|
54
54
|
|
|
55
55
|
命中上表场景时,**打开对应领域 skill**;不要在总路由里重复展开领域命令细节。
|
|
56
56
|
|
|
57
|
+
> **深度历史(绝对日期 / 往年 / 跨年 / 长期趋势)不是 Hub 能力。** `social-hub intelligence hot-posts` 只读 Hub 近实时缓存(当下热帖,且仅覆盖已入库 watchlist 板块),**不持有深度归档**。凡「历史帖 / 往年数据 / 某年某月 / 绝对日期区间 / 长期趋势演变 / 建 baseline 需历史样本」或用户明确「只用 Arctic」,改用 `reddit-voc-volume` 的 `history` 模式(Arctic Shift 权威源),**不要**用 `intelligence hot-posts` 顶替。注意「最近一天 / 周 / 月」仍是当下声量,走 `reddit-voc-volume` 的 `keyword` / `subreddit`(Hub-First),也不是 hot-posts。详见 `social-hub-intelligence` 的「热帖」三态路由。
|
|
58
|
+
|
|
57
59
|
## CLI 新版本提醒
|
|
58
60
|
|
|
59
61
|
运行任意子命令时(`version`/`help` 除外),CLI 会检测 npm 上的最新版并在 stderr 提示升级;**Agent 应转告用户** 并执行 `npm install -g @geoly-ai/social-hub-cli@latest`。CLI 升级后,新发布的 skill 会在后续运行时同步到已托管目录(含本次新增的 skill)——开启 `SOCIAL_HUB_SKILLS_AUTO_UPDATE=1` 时自动完成,未开启则在 stderr 提示你补齐;无论哪种,手动补齐一律用 `social-hub skills install`(**不是** `update` —— `update` 只刷新已安装的 skill,不会装上新增的)。详见 `social-hub-shared` 的「CLI 新版本检测」。
|
|
@@ -185,6 +185,39 @@ social-hub intelligence hot-posts-create -j '{ ... }'
|
|
|
185
185
|
social-hub intelligence hot-posts-export --subreddit technology > hot-posts.csv
|
|
186
186
|
```
|
|
187
187
|
|
|
188
|
+
**口径(`hot-posts` = Hub 近实时缓存,不是历史/归档源)**:`hot-posts` /
|
|
189
|
+
`hot-posts-export` 只返回 Hub **当下/近期**已缓存的热帖快照,且**仅覆盖已入库
|
|
190
|
+
watchlist 的 subreddit**(未监控的板块查不到)。它读的是 Hub 缓存,**不是深度归档**,
|
|
191
|
+
不持有往年数据、不支持时间窗回溯。
|
|
192
|
+
|
|
193
|
+
**负路由(何时 _不_ 用 hot-posts,改用 `reddit-voc-volume` 的 `history` 深归档模式)**:凡下列
|
|
194
|
+
**深度历史**意图**一律不要用 `hot-posts`**,必须改用 **`reddit-voc-volume` 的 `history` 模式**
|
|
195
|
+
(Arctic Shift 深度归档,2005 至今权威源,正文不截断):
|
|
196
|
+
|
|
197
|
+
- 历史帖 / 往年数据 / 某年某月的帖子 / 回溯到 20xx 年 / 截至某日
|
|
198
|
+
- 任意**绝对日期区间**回溯、早于 Hub 覆盖窗口的样本
|
|
199
|
+
- 过去 N 年、跨年 / 同比、按季度、**长期趋势 / 趋势演变**、逐年 / 逐月抽样、历史基准 / 回测
|
|
200
|
+
- 建 subreddit baseline 卡需要历史正文样本 / 长度分布语料
|
|
201
|
+
- 未入库 watchlist 的 subreddit 的历史内容(hot-posts 根本查不到)
|
|
202
|
+
|
|
203
|
+
**用户明确要「只用 Arctic」/「不要用 Hub 数据」时**:固定走 `reddit-voc-volume history`
|
|
204
|
+
(脚本层恒 `arctic_search_posts`、**不接受** `--acquisition-policy`、provenance 恒
|
|
205
|
+
`arctic_shift`),**绝不**用 `hot-posts` 顶替——hot-posts 拿到的是 Hub 缓存,不是 Arctic。
|
|
206
|
+
|
|
207
|
+
**近期窗口 carve-out(别把「最近」误判成深归档)**:「最近一天 / 一周 / 一月、本周、本月、
|
|
208
|
+
当前热度」仍是**当下声量**,**不进 `history`**;但它也不等于 `hot-posts`——按关键词 / 板块
|
|
209
|
+
的近期声量查询应走 **`reddit-voc-volume` 的 `keyword` / `subreddit` 模式(Hub-First,
|
|
210
|
+
`--hub-time-window day|week|month`)**。`hot-posts` 只负责 Hub 已缓存的 watchlist 当前热榜快照。
|
|
211
|
+
|
|
212
|
+
**三态路由判据**:
|
|
213
|
+
|
|
214
|
+
1. 要「**Hub watchlist 现在的热榜 / 缓存快照**」(现在热什么、导出近期热帖 CSV)→ `hot-posts`(本命令,照常用)。
|
|
215
|
+
2. 要「**最近一天 / 周 / 月的关键词或板块当下声量**」→ `reddit-voc-volume` 的 `keyword` / `subreddit`(Hub-First)。
|
|
216
|
+
3. 要「**绝对历史日期 / 跨年 / 早于 Hub 覆盖 / 历史 baseline / 长期趋势演变**」→ `reddit-voc-volume` 的 `history`(Arctic 权威源)。
|
|
217
|
+
|
|
218
|
+
**hot-posts 的合法用途(照常用,别误伤)**:查「当下 watchlist 热榜」、消费 Hub 已缓存的热帖
|
|
219
|
+
快照、按 watchlist 板块看当前热度榜、导出近期热帖 CSV。
|
|
220
|
+
|
|
188
221
|
## KOL
|
|
189
222
|
|
|
190
223
|
```bash
|
|
@@ -175,7 +175,7 @@ admin 专属操作(如 `agent-teams create`)需要 **admin** role 的 CLI to
|
|
|
175
175
|
|
|
176
176
|
## CLI 新版本检测(自动)
|
|
177
177
|
|
|
178
|
-
|
|
178
|
+
每次执行 `social-hub`(含 `version` / `help` 及 `--version` / `--help`;仅 `self-update`、CI、npx 临时运行、`--no-update-check`、`SOCIAL_HUB_NO_UPDATE_CHECK=1` 除外)会(最多每 **4 小时**)查询 npm registry;若存在更新的 `@geoly-ai/social-hub-cli`,**默认后台静默 `npm i -g @latest`(本次调用仍用旧版跑完,下次调用自动生效,不重启/不 re-exec)**;`SOCIAL_HUB_NO_AUTO_UPDATE=1` 或 npx 场景退回「仅 stderr 提示」。`version` / `help` 命中时只从新鲜缓存触发后台自升级、自身不发网络请求(保 `--version` 即时输出)。
|
|
179
179
|
|
|
180
180
|
示例输出(节选):
|
|
181
181
|
|