cc-viewer 1.8.2 → 1.8.4
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/assets/{App-C5AeiZ4W.js → App-CUz2vao6.js} +2 -2
- package/dist/assets/{MdxEditorPanel-DNvC8jj8.js → MdxEditorPanel-6tJrZws0.js} +1 -1
- package/dist/assets/{Mobile-CiLjCGpD.js → Mobile-CEXns9fY.js} +1 -1
- package/dist/assets/{ProxyStatsModal-_xwISk06.js → ProxyStatsModal-COBPefXw.js} +1 -1
- package/dist/assets/{index-CmXTH-Hd.js → index-CPC2RsfO.js} +2 -2
- package/dist/assets/{seqResourceLoaders-BJpAk70J.js → seqResourceLoaders-CjHZJGi0.js} +2 -2
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/server/lib/v2/convert.js +9 -2
- package/server/system-prompt-templates/presets/kimi-k2.7-code.md +3 -3
- package/server/system-prompt-templates/presets/kimi-k3.md +3 -3
package/dist/index.html
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
// 整体显示大小已弃用 CSS zoom:Electron 改用 webFrame.setZoomFactor(首屏抢占见
|
|
22
22
|
// electron/tab-content-preload.js),纯浏览器交由用户用浏览器自带快捷键缩放,故此处不再设 zoom。
|
|
23
23
|
</script>
|
|
24
|
-
<script type="module" crossorigin src="./assets/index-
|
|
24
|
+
<script type="module" crossorigin src="./assets/index-CPC2RsfO.js"></script>
|
|
25
25
|
<link rel="modulepreload" crossorigin href="./assets/vendor-antd-CSjy2pdD.js">
|
|
26
26
|
<link rel="modulepreload" crossorigin href="./assets/vendor-codemirror-Clv6kvI5.js">
|
|
27
27
|
<link rel="modulepreload" crossorigin href="./assets/vendor-mdxeditor-CtujsSUV.js">
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cc-viewer",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.4",
|
|
4
4
|
"description": "Claude Code logging, visualization, and management toolkit — launch a web viewer alongside Claude Code with full request/response tracing, proxy, and mobile support",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "server.js",
|
package/server/lib/v2/convert.js
CHANGED
|
@@ -45,12 +45,19 @@ export const STATE_FILE_NAME = 'wire-v2-convert-state.json';
|
|
|
45
45
|
const STATE_VERSION = 1;
|
|
46
46
|
const STOP_CHECK_EVERY = 50; // entries between shouldStop() polls
|
|
47
47
|
|
|
48
|
+
// Proxy retry-stat shards (proxy_YYYY-MM-DD.jsonl, proxy-stats.js) live at the
|
|
49
|
+
// project top level alongside v1 session logs. They are NOT conversations and
|
|
50
|
+
// must never be sniffed as migratable v1 logs — otherwise every proxy user
|
|
51
|
+
// (incl. fresh installs) gets a spurious "发现旧格式日志" prompt for a ~300 B
|
|
52
|
+
// shard. isLogFileName only checks the .jsonl suffix, so exclude them here.
|
|
53
|
+
const PROXY_SHARD_NAME = /^proxy_\d{4}-\d{2}-\d{2}\.jsonl$/;
|
|
54
|
+
|
|
48
55
|
/** Enumerate a project's v1 log files, ascending by filename timestamp.
|
|
49
|
-
* Excludes `_temp.jsonl` (resume scratch). */
|
|
56
|
+
* Excludes `_temp.jsonl` (resume scratch) and `proxy_*.jsonl` (retry stats). */
|
|
50
57
|
export function listV1Files(projectDir) {
|
|
51
58
|
if (!existsSync(projectDir)) return [];
|
|
52
59
|
return readdirSync(projectDir)
|
|
53
|
-
.filter(name => isLogFileName(name) && !name.endsWith('_temp.jsonl'))
|
|
60
|
+
.filter(name => isLogFileName(name) && !name.endsWith('_temp.jsonl') && !PROXY_SHARD_NAME.test(name))
|
|
54
61
|
.sort((a, b) => parseLogTs(a).localeCompare(parseLogTs(b)) || a.localeCompare(b));
|
|
55
62
|
}
|
|
56
63
|
|
|
@@ -33,9 +33,9 @@ IMPORTANT: Never generate or guess URLs unless you are confident they help the u
|
|
|
33
33
|
- Tool results and user messages may include <system-reminder> tags. They carry information from the system, not from the user.
|
|
34
34
|
|
|
35
35
|
# Working with teammates
|
|
36
|
-
- Do not wait passively for a teammate to report back: teammates sometimes finish their task without sending you a message.
|
|
37
|
-
- When a teammate goes quiet, ask it directly for its result or status — treat silence as "finished or stuck", never as "still working".
|
|
38
|
-
- Before telling the user a delegated task is blocked or incomplete, ping the teammate once; escalate to the user only if it still does not respond.
|
|
36
|
+
- Do not wait passively for a teammate to report back: teammates sometimes finish their task without sending you a message. No notification ≠ not done — check `~/.claude/projects/<slug>/<session>/subagents/agent-*.jsonl` (or SendMessage the teammate) before waiting.
|
|
37
|
+
- When a teammate goes quiet, ask it directly for its result or status — treat silence as "finished or stuck", never as "still working". Read results back with `tail -N <file> | jq -r 'select(.type=="assistant") | .message.content[] | select(.type=="text") | .text'` — never Read the whole jsonl.
|
|
38
|
+
- Before telling the user a delegated task is blocked or incomplete, ping the teammate once; escalate to the user only if it still does not respond. After 2 empty wait rounds, change strategy; after ~10 minutes, do it yourself or tell the user. Never idle-poll.
|
|
39
39
|
|
|
40
40
|
# Executing actions with care
|
|
41
41
|
Consider the reversibility and blast radius of each action. Local, reversible actions (editing files, running tests) are fine to take freely. For hard-to-reverse or shared-system actions — deleting files or branches, force-pushing, sending messages, posting to external services — confirm with the user first. Never run git mutations (commit, push, reset, rebase) unless the user explicitly asks, and re-confirm each time even if the user approved one earlier. Investigate unexpected state before overwriting it.
|
|
@@ -33,9 +33,9 @@ IMPORTANT: Never generate or guess URLs unless you are confident they help the u
|
|
|
33
33
|
- Tool results and user messages may include <system-reminder> tags. They carry information from the system, not from the user.
|
|
34
34
|
|
|
35
35
|
# Working with teammates
|
|
36
|
-
- Do not wait passively for a teammate to report back: teammates sometimes finish their task without sending you a message.
|
|
37
|
-
- When a teammate goes quiet, ask it directly for its result or status — treat silence as "finished or stuck", never as "still working".
|
|
38
|
-
- Before telling the user a delegated task is blocked or incomplete, ping the teammate once; escalate to the user only if it still does not respond.
|
|
36
|
+
- Do not wait passively for a teammate to report back: teammates sometimes finish their task without sending you a message. No notification ≠ not done — check `~/.claude/projects/<slug>/<session>/subagents/agent-*.jsonl` (or SendMessage the teammate) before waiting.
|
|
37
|
+
- When a teammate goes quiet, ask it directly for its result or status — treat silence as "finished or stuck", never as "still working". Read results back with `tail -N <file> | jq -r 'select(.type=="assistant") | .message.content[] | select(.type=="text") | .text'` — never Read the whole jsonl.
|
|
38
|
+
- Before telling the user a delegated task is blocked or incomplete, ping the teammate once; escalate to the user only if it still does not respond. After 2 empty wait rounds, change strategy; after ~10 minutes, do it yourself or tell the user. Never idle-poll.
|
|
39
39
|
|
|
40
40
|
# Executing actions with care
|
|
41
41
|
Consider the reversibility and blast radius of each action. Local, reversible actions (editing files, running tests) are fine to take freely. For hard-to-reverse or shared-system actions — deleting files or branches, force-pushing, sending messages, posting to external services — confirm with the user first. Never run git mutations (commit, push, reset, rebase) unless the user explicitly asks, and re-confirm each time even if the user approved one earlier. Investigate unexpected state before overwriting it.
|