@my-life-buddies/cli 0.13.3 → 0.15.0
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/README.md +74 -22
- package/dist/bin/buddy.js +29 -10
- package/dist/bin/buddy.js.map +2 -2
- package/dist/bin/core.js +1480 -611
- package/dist/bin/core.js.map +4 -4
- package/dist/bin/preview.js +324 -27
- package/dist/bin/preview.js.map +4 -4
- package/dist/web/app.css +65 -6
- package/dist/web/app.js +103 -39
- package/dist/web/diagnostics.js +184 -0
- package/dist/web/index.html +34 -34
- package/dist/web/widgets.css +59 -28
- package/dist/web/widgets.js +230 -76
- package/package.json +3 -3
- package/resources/README.md +6 -50
- package/resources/agent-template/package-lock.json +4 -4
- package/resources/agent-template/package.json +2 -2
- package/resources/buddy-creator/INSTALL.md +0 -25
- package/resources/buddy-creator/PATCHES.md +0 -53
- package/resources/buddy-creator/SKILL.md +0 -76
- package/resources/buddy-creator/THIRD_PARTY_NOTICES.md +0 -154
- package/resources/buddy-creator/agents/openai.yaml +0 -4
- package/resources/buddy-creator/assets/licenses/bail.txt +0 -26
- package/resources/buddy-creator/assets/licenses/ccount.txt +0 -26
- package/resources/buddy-creator/assets/licenses/character-entities-html4.txt +0 -26
- package/resources/buddy-creator/assets/licenses/character-entities-legacy.txt +0 -26
- package/resources/buddy-creator/assets/licenses/character-entities.txt +0 -26
- package/resources/buddy-creator/assets/licenses/character-reference-invalid.txt +0 -26
- package/resources/buddy-creator/assets/licenses/comma-separated-tokens.txt +0 -26
- package/resources/buddy-creator/assets/licenses/debug.txt +0 -24
- package/resources/buddy-creator/assets/licenses/decode-named-character-reference.txt +0 -26
- package/resources/buddy-creator/assets/licenses/dequal.txt +0 -25
- package/resources/buddy-creator/assets/licenses/devlop.txt +0 -26
- package/resources/buddy-creator/assets/licenses/escape-string-regexp.txt +0 -13
- package/resources/buddy-creator/assets/licenses/estree-util-is-identifier-name.txt +0 -26
- package/resources/buddy-creator/assets/licenses/extend.txt +0 -27
- package/resources/buddy-creator/assets/licenses/hast-util-to-jsx-runtime.txt +0 -26
- package/resources/buddy-creator/assets/licenses/hast-util-whitespace.txt +0 -26
- package/resources/buddy-creator/assets/licenses/html-url-attributes.txt +0 -25
- package/resources/buddy-creator/assets/licenses/inline-style-parser.txt +0 -13
- package/resources/buddy-creator/assets/licenses/is-alphabetical.txt +0 -26
- package/resources/buddy-creator/assets/licenses/is-alphanumerical.txt +0 -26
- package/resources/buddy-creator/assets/licenses/is-decimal.txt +0 -26
- package/resources/buddy-creator/assets/licenses/is-hexadecimal.txt +0 -26
- package/resources/buddy-creator/assets/licenses/is-plain-obj.txt +0 -13
- package/resources/buddy-creator/assets/licenses/longest-streak.txt +0 -26
- package/resources/buddy-creator/assets/licenses/markdown-table.txt +0 -26
- package/resources/buddy-creator/assets/licenses/mdast-util-find-and-replace.txt +0 -26
- package/resources/buddy-creator/assets/licenses/mdast-util-from-markdown.txt +0 -26
- package/resources/buddy-creator/assets/licenses/mdast-util-gfm-autolink-literal.txt +0 -26
- package/resources/buddy-creator/assets/licenses/mdast-util-gfm-footnote.txt +0 -26
- package/resources/buddy-creator/assets/licenses/mdast-util-gfm-strikethrough.txt +0 -26
- package/resources/buddy-creator/assets/licenses/mdast-util-gfm-table.txt +0 -26
- package/resources/buddy-creator/assets/licenses/mdast-util-gfm-task-list-item.txt +0 -26
- package/resources/buddy-creator/assets/licenses/mdast-util-gfm.txt +0 -26
- package/resources/buddy-creator/assets/licenses/mdast-util-mdx-expression.txt +0 -26
- package/resources/buddy-creator/assets/licenses/mdast-util-mdx-jsx.txt +0 -26
- package/resources/buddy-creator/assets/licenses/mdast-util-mdxjs-esm.txt +0 -26
- package/resources/buddy-creator/assets/licenses/mdast-util-phrasing.txt +0 -27
- package/resources/buddy-creator/assets/licenses/mdast-util-to-hast.txt +0 -26
- package/resources/buddy-creator/assets/licenses/mdast-util-to-markdown.txt +0 -26
- package/resources/buddy-creator/assets/licenses/mdast-util-to-string.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-core-commonmark.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-extension-gfm-autolink-literal.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-extension-gfm-footnote.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-extension-gfm-strikethrough.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-extension-gfm-table.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-extension-gfm-tagfilter.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-extension-gfm-task-list-item.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-extension-gfm.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-factory-destination.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-factory-label.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-factory-space.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-factory-title.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-factory-whitespace.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-util-character.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-util-chunked.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-util-classify-character.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-util-combine-extensions.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-util-decode-numeric-character-reference.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-util-decode-string.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-util-encode.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-util-html-tag-name.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-util-normalize-identifier.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-util-resolve-all.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-util-sanitize-uri.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-util-subtokenize.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-util-symbol.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark-util-types.txt +0 -26
- package/resources/buddy-creator/assets/licenses/micromark.txt +0 -26
- package/resources/buddy-creator/assets/licenses/ms.txt +0 -25
- package/resources/buddy-creator/assets/licenses/parse-entities.txt +0 -26
- package/resources/buddy-creator/assets/licenses/phosphor-icons--react.txt +0 -25
- package/resources/buddy-creator/assets/licenses/property-information.txt +0 -26
- package/resources/buddy-creator/assets/licenses/react-dom.txt +0 -25
- package/resources/buddy-creator/assets/licenses/react-markdown.txt +0 -25
- package/resources/buddy-creator/assets/licenses/react.txt +0 -25
- package/resources/buddy-creator/assets/licenses/remark-gfm.txt +0 -26
- package/resources/buddy-creator/assets/licenses/remark-parse.txt +0 -25
- package/resources/buddy-creator/assets/licenses/remark-rehype.txt +0 -26
- package/resources/buddy-creator/assets/licenses/remark-stringify.txt +0 -25
- package/resources/buddy-creator/assets/licenses/scheduler.txt +0 -25
- package/resources/buddy-creator/assets/licenses/space-separated-tokens.txt +0 -26
- package/resources/buddy-creator/assets/licenses/stringify-entities.txt +0 -26
- package/resources/buddy-creator/assets/licenses/style-to-js.txt +0 -26
- package/resources/buddy-creator/assets/licenses/style-to-object.txt +0 -26
- package/resources/buddy-creator/assets/licenses/trim-lines.txt +0 -26
- package/resources/buddy-creator/assets/licenses/trough.txt +0 -25
- package/resources/buddy-creator/assets/licenses/types--debug.txt +0 -25
- package/resources/buddy-creator/assets/licenses/types--estree-jsx.txt +0 -25
- package/resources/buddy-creator/assets/licenses/types--estree.txt +0 -25
- package/resources/buddy-creator/assets/licenses/types--hast.txt +0 -25
- package/resources/buddy-creator/assets/licenses/types--mdast.txt +0 -25
- package/resources/buddy-creator/assets/licenses/types--ms.txt +0 -25
- package/resources/buddy-creator/assets/licenses/types--unist.txt +0 -25
- package/resources/buddy-creator/assets/licenses/ungap--structured-clone.txt +0 -19
- package/resources/buddy-creator/assets/licenses/unified.txt +0 -25
- package/resources/buddy-creator/assets/licenses/unist-util-is.txt +0 -26
- package/resources/buddy-creator/assets/licenses/unist-util-position.txt +0 -26
- package/resources/buddy-creator/assets/licenses/unist-util-stringify-position.txt +0 -26
- package/resources/buddy-creator/assets/licenses/unist-util-visit-parents.txt +0 -26
- package/resources/buddy-creator/assets/licenses/unist-util-visit.txt +0 -26
- package/resources/buddy-creator/assets/licenses/vfile-message.txt +0 -26
- package/resources/buddy-creator/assets/licenses/vfile.txt +0 -25
- package/resources/buddy-creator/assets/licenses/zwitch.txt +0 -26
- package/resources/buddy-creator/assets/preview/assets/index-B5VmkoSx.js +0 -39
- package/resources/buddy-creator/assets/preview/assets/index-DWKP6b-3.css +0 -4
- package/resources/buddy-creator/assets/preview/brand-logo.png +0 -0
- package/resources/buddy-creator/assets/preview/brand.css +0 -100
- package/resources/buddy-creator/assets/preview/index.html +0 -7
- package/resources/buddy-creator/assets/preview/reader.css +0 -165
- package/resources/buddy-creator/assets/preview/reader.js +0 -135
- package/resources/buddy-creator/assets/preview/widgets.css +0 -1
- package/resources/buddy-creator/assets/preview/widgets.js +0 -168
- package/resources/buddy-creator/assets/widget-reference/conversation.png +0 -0
- package/resources/buddy-creator/assets/widget-reference/expanded.png +0 -0
- package/resources/buddy-creator/assets/widget-v2/app.js +0 -62
- package/resources/buddy-creator/assets/widget-v2/style.css +0 -1
- package/resources/buddy-creator/assets/widget-v3/app.js +0 -65
- package/resources/buddy-creator/assets/widget-v3/style.css +0 -103
- package/resources/buddy-creator/assets/widget-v4/app.js +0 -66
- package/resources/buddy-creator/assets/widget-v4/style.css +0 -187
- package/resources/buddy-creator/references/artifact-schema.md +0 -70
- package/resources/buddy-creator/references/catalog.json +0 -401
- package/resources/buddy-creator/references/definition.md +0 -24
- package/resources/buddy-creator/references/dialogue-examples.md +0 -133
- package/resources/buddy-creator/references/host-guide.md +0 -219
- package/resources/buddy-creator/references/interview.md +0 -235
- package/resources/buddy-creator/references/knowledge.md +0 -40
- package/resources/buddy-creator/references/methods.md +0 -77
- package/resources/buddy-creator/references/opening.md +0 -14
- package/resources/buddy-creator/references/preview-panel.md +0 -66
- package/resources/buddy-creator/references/recovery.md +0 -46
- package/resources/buddy-creator/references/service.md +0 -76
- package/resources/buddy-creator/references/widgets-protocol.md +0 -83
- package/resources/buddy-creator/references/widgets.md +0 -99
- package/resources/buddy-creator/scripts/buddy.py +0 -108
- package/resources/buddy-creator/scripts/buddy_client.py +0 -67
- package/resources/buddy-creator/scripts/buddy_core.py +0 -865
- package/resources/buddy-creator/scripts/completion.py +0 -296
- package/resources/buddy-creator/scripts/interview.py +0 -215
- package/resources/buddy-creator/scripts/preview.py +0 -617
- package/resources/buddy-creator/scripts/preview_panel.py +0 -80
- package/resources/buddy-creator/scripts/sources.py +0 -239
- package/resources/buddy-creator/scripts/widget_render.py +0 -66
- package/resources/buddy-creator/scripts/widget_render_v1.py +0 -176
- package/resources/buddy-creator/scripts/widget_render_v2.py +0 -98
- package/resources/buddy-creator/scripts/widget_render_v3.py +0 -86
- package/resources/buddy-creator/scripts/widget_render_v4.py +0 -121
- package/resources/buddy-creator/scripts/widgets.py +0 -227
- package/resources/buddy-creator/version.json +0 -8
- package/resources/buddy-creator.manifest.json +0 -791
- package/resources/dada-object-avatar/SKILL.md +0 -37
- package/resources/dada-object-avatar/agents/openai.yaml +0 -4
- package/resources/dada-object-avatar/assets/examples/cat.png +0 -0
- package/resources/dada-object-avatar/assets/examples/cooking.png +0 -0
- package/resources/dada-object-avatar/assets/examples/divination.png +0 -0
- package/resources/dada-object-avatar/assets/examples/doctor.png +0 -0
- package/resources/dada-object-avatar/assets/examples/relationship.png +0 -0
- package/resources/dada-object-avatar/assets/examples/work.png +0 -0
- package/resources/dada-object-avatar/assets/preview.png +0 -0
- package/resources/dada-object-avatar/references/evaluation-rubric.md +0 -22
- package/resources/dada-object-avatar/references/examples.json +0 -8
- package/resources/dada-object-avatar/references/prompt-template.md +0 -27
- package/resources/dada-object-avatar/references/style-system.md +0 -54
- package/resources/dada-object-avatar/references/subject-design.md +0 -23
- package/resources/dada-object-avatar/references/training-guide.md +0 -14
- package/resources/dada-object-avatar/references/training-log.jsonl +0 -0
- package/resources/dada-object-avatar/references/training-record.schema.json +0 -20
- package/resources/dada-object-avatar/scripts/choose_gaze.py +0 -36
- package/resources/dada-object-avatar/scripts/record_example.py +0 -22
- package/resources/dada-object-avatar/scripts/validate_png.py +0 -52
- package/resources/dada-object-avatar.manifest.json +0 -85
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
* { box-sizing: border-box; }
|
|
2
|
-
html, body { margin: 0; width: 100%; height: 100%; background: #fff; }
|
|
3
|
-
button { font: inherit; color: inherit; border: 0; cursor: pointer; }
|
|
4
|
-
button, summary { -webkit-tap-highlight-color: transparent; }
|
|
5
|
-
button:focus-visible, summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
6
|
-
[hidden] { display: none !important; }
|
|
7
|
-
h1, h2, h3, p { margin: 0; }
|
|
8
|
-
h1, h2, h3 { font-size: var(--title-size, 16px); font-weight: 500; }
|
|
9
|
-
.screen { font: 400 16px/1.5 -apple-system, BlinkMacSystemFont, "PingFang SC", "Segoe UI", sans-serif; color: #202733; position: relative; width: 100%; height: 100%; overflow: hidden; background: #fff; --accent: #326BC4; --muted: #7C8490; --line: #E9EDF2; }
|
|
10
|
-
.icon { display: block; flex: none; width: 22px; height: 22px; stroke: currentColor; stroke-width: 1.6; fill: none; stroke-linecap: round; stroke-linejoin: round; }
|
|
11
|
-
.statusbar { height: 40px; padding: 10px 25px 0; display: flex; align-items: center; justify-content: space-between; font-size: 13px; font-weight: 500; }
|
|
12
|
-
.device { display: flex; gap: 5px; }
|
|
13
|
-
.device .icon { width: 16px; height: 16px; }
|
|
14
|
-
.chat-header { height: 56px; padding: 0 20px 10px; display: flex; align-items: center; gap: 16px; border-bottom: 1px solid var(--line); }
|
|
15
|
-
.chat-header strong { flex: 1; text-align: center; font-size: 16px; font-weight: 500; }
|
|
16
|
-
.back { font-size: 28px; line-height: 1; }
|
|
17
|
-
.chat-body { height: calc(100% - 176px); overflow-y: auto; padding: 20px 16px 28px; scrollbar-width: none; }
|
|
18
|
-
.chat-date { color: #9299A3; text-align: center; font-size: 11px; margin-bottom: 18px; }
|
|
19
|
-
.message { display: flex; gap: 9px; align-items: flex-start; margin: 14px 0; }
|
|
20
|
-
.avatar { flex: none; width: 26px; height: 26px; border-radius: 8px; background: #E9F0FB; color: var(--accent); display: grid; place-items: center; font-size: 12px; font-weight: 500; margin-top: 3px; }
|
|
21
|
-
.bubble { max-width: calc(100% - 38px); font-size: 16px; line-height: 1.65; padding: 12px 14px; border-radius: 12px; white-space: pre-wrap; overflow-wrap: anywhere; }
|
|
22
|
-
.user { justify-content: flex-end; }
|
|
23
|
-
.user .bubble { background: #EAF1FB; border-top-right-radius: 3px; }
|
|
24
|
-
.assistant .bubble { background: #F4F5F7; border-top-left-radius: 3px; }
|
|
25
|
-
.chat-card { margin: 16px 0 0 35px; border: 1px solid #DFE5ED; border-radius: 14px; background: #fff; overflow: hidden; }
|
|
26
|
-
.card-content { padding: 17px 16px 18px; }
|
|
27
|
-
.card-kind { font-size: 12px; color: var(--accent); margin-bottom: 8px; }
|
|
28
|
-
.chat-card h1 { font-size: 16px; font-weight: 500; line-height: 1.45; }
|
|
29
|
-
.card-summary { font-size: 16px; line-height: 1.65; color: #66707E; margin-top: 9px; white-space: pre-wrap; overflow-wrap: anywhere; }
|
|
30
|
-
.open-sheet { width: 100%; padding: 12px 16px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); background: #fff; color: var(--accent); font-size: 14px; font-weight: 500; }
|
|
31
|
-
.open-sheet .icon { width: 17px; height: 17px; }
|
|
32
|
-
.open-sheet:hover { background: #F6F8FC; }
|
|
33
|
-
.composer { position: absolute; bottom: 19px; left: 16px; right: 16px; display: flex; align-items: center; gap: 10px; min-height: 49px; padding: 12px; border: 1px solid #E6E9EF; border-radius: 14px; background: #fff; color: #9299A3; font-size: 12px; }
|
|
34
|
-
.composer span { flex: 1; }
|
|
35
|
-
.home-indicator { position: absolute; bottom: 7px; left: 36%; right: 36%; height: 4px; border-radius: 8px; background: #252C37; }
|
|
36
|
-
.overlay { position: absolute; inset: 0; z-index: 2; background: #17243B45; display: grid; place-items: center; }
|
|
37
|
-
.sheet { width: calc(100% - 32px); height: 65%; border-radius: 22px; background: #fff; display: flex; flex-direction: column; overflow: hidden; position: relative; box-shadow: 0 12px 36px #192B4720; outline: none; }
|
|
38
|
-
.sheet-header { flex: none; height: 60px; display: flex; align-items: center; padding: 0 16px 0 20px; border-bottom: 1px solid var(--line); }
|
|
39
|
-
.sheet-header h2 { flex: 1; font-size: 16px; font-weight: 500; }
|
|
40
|
-
.close { width: 32px; height: 32px; background: transparent; color: #8490A0; border-radius: 8px; display: grid; place-items: center; flex: none; }
|
|
41
|
-
.close .icon { width: 20px; height: 20px; }
|
|
42
|
-
.close:hover { background: #F3F5F8; color: #26344C; }
|
|
43
|
-
.sheet-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 20px 20px; scrollbar-width: thin; scrollbar-color: #D5DBE5 transparent; }
|
|
44
|
-
.overview { padding: 22px 0 15px; }
|
|
45
|
-
.overview h3 { font-size: 20px; line-height: 1.4; font-weight: 500; letter-spacing: -.4px; }
|
|
46
|
-
.overview-subtitle { color: var(--muted); font-size: 13px; margin-top: 6px; line-height: 1.6; white-space: pre-wrap; }
|
|
47
|
-
.reading-meta { color: #606E81; font-size: 13px; margin-top: 12px; }
|
|
48
|
-
.overview-metrics { display: grid; grid-template-columns: repeat(var(--metric-count), 1fr); gap: 16px; margin-top: 22px; }
|
|
49
|
-
.metric-label { display: block; font-size: 12px; color: var(--muted); }
|
|
50
|
-
.metric-value { display: block; font-size: 20px; font-weight: 500; line-height: 1.4; margin-top: 4px; letter-spacing: -.3px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
|
|
51
|
-
.overview-metrics .metric:first-child .metric-value { color: var(--accent); }
|
|
52
|
-
.progress-track { height: 3px; overflow: hidden; background: #ECF0F5; margin-top: 16px; }
|
|
53
|
-
.progress-track > div { height: 100%; background: var(--accent); }
|
|
54
|
-
.progress-caption { font-size: 11px; color: var(--muted); margin-top: 7px; }
|
|
55
|
-
.reading-nav { position: sticky; top: 0; z-index: 1; display: flex; gap: 22px; background: #fff; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
|
|
56
|
-
.reading-nav button { flex: none; position: relative; padding: 12px 0; font-size: 14px; background: transparent; color: #8A93A1; white-space: nowrap; }
|
|
57
|
-
.reading-nav button[aria-pressed=true] { color: var(--accent); font-weight: 500; }
|
|
58
|
-
.reading-nav button[aria-pressed=true]:after { position: absolute; content: ""; height: 2px; background: var(--accent); left: 0; right: 0; bottom: 0; }
|
|
59
|
-
.reading-nav button:hover { color: var(--accent); }
|
|
60
|
-
.section { margin: 20px 0 24px; }
|
|
61
|
-
.section-heading { display: flex; align-items: center; gap: 8px; margin-bottom: 7px; color: #8A93A1; font-size: 12px; font-weight: 400; line-height: 1.5; list-style: none; }
|
|
62
|
-
.section-heading::-webkit-details-marker { display: none; }
|
|
63
|
-
summary.section-heading { cursor: pointer; padding: 4px 0; }
|
|
64
|
-
.section-heading .icon { margin-left: auto; width: 13px; height: 13px; }
|
|
65
|
-
details[open] > summary .icon { transform: rotate(90deg); }
|
|
66
|
-
.row { display: flex; align-items: flex-start; gap: 10px; padding: 15px 0; border-bottom: 1px solid var(--line); }
|
|
67
|
-
.row:last-child { border-bottom: none; }
|
|
68
|
-
.row-content { flex: 1; min-width: 0; }
|
|
69
|
-
.row-label { font-size: 16px; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; }
|
|
70
|
-
.row-value { font-size: 16px; font-weight: 400; line-height: 1.6; margin-top: 4px; color: #263243; white-space: pre-wrap; overflow-wrap: anywhere; }
|
|
71
|
-
.row-caption { font-size: 13px; color: #87909D; line-height: 1.6; margin-top: 6px; white-space: pre-wrap; overflow-wrap: anywhere; }
|
|
72
|
-
.status { display: inline-block; font-size: 12px; line-height: 1.5; color: #8893A2; margin-top: 8px; }
|
|
73
|
-
.status.pending { color: #956B40; }
|
|
74
|
-
.status.changed { color: var(--accent); }
|
|
75
|
-
.detail-open { min-height: 38px; width: 26px; background: transparent; color: #9BA5B3; display: grid; place-items: center; padding: 0; flex: none; border-radius: 5px; }
|
|
76
|
-
.detail-open .icon { width: 15px; height: 15px; }
|
|
77
|
-
.timeline .row { position: relative; border: 0; gap: 21px; padding: 9px 0 23px; min-height: 82px; }
|
|
78
|
-
.timeline .time { flex: none; width: 36px; color: #738196; font-size: 12px; font-variant-numeric: tabular-nums; line-height: 1.6; padding-top: 3px; overflow-wrap: anywhere; }
|
|
79
|
-
.timeline .row:before { position: absolute; content: ""; left: 45px; top: 19px; bottom: -11px; width: 1px; background: #E2EAF6; }
|
|
80
|
-
.timeline .row:last-child:before { display: none; }
|
|
81
|
-
.timeline .row:after { position: absolute; content: ""; left: 43px; top: 17px; width: 5px; height: 5px; border-radius: 50%; background: var(--accent); }
|
|
82
|
-
.timeline .row-value { margin-top: 0; }
|
|
83
|
-
.cards .row { padding: 16px 0 18px; }
|
|
84
|
-
.cards .row-value { color: #68758A; }
|
|
85
|
-
.ledger .row-content { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; align-items: baseline; }
|
|
86
|
-
.ledger .row-label { font-size: 16px; font-weight: 400; }
|
|
87
|
-
.ledger .row-value { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
|
|
88
|
-
.ledger .row-caption, .ledger .status { grid-column: 1 / -1; }
|
|
89
|
-
.checklist .row-value { color: #718098; }
|
|
90
|
-
.note { border-top: 1px solid var(--line); padding-top: 14px; color: #A1A8B2; font-size: 11px; }
|
|
91
|
-
.detail-layer { position: absolute; inset: 0; z-index: 3; background: #17243B45; display: grid; place-items: center; }
|
|
92
|
-
.detail-box { width: calc(100% - 32px); max-height: 65%; overflow-y: auto; padding: 20px; border-radius: 22px; background: #fff; box-shadow: 0 12px 36px #192B4720; }
|
|
93
|
-
.detail-head { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
|
|
94
|
-
.detail-head h3 { flex: 1; font-size: 16px; }
|
|
95
|
-
.detail-text { font-size: 16px; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; }
|
|
96
|
-
.detail-foot { color: var(--muted); font-size: 11px; border-top: 1px solid var(--line); margin-top: 20px; padding-top: 14px; }
|
|
97
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
98
|
-
button { transition: color .15s, background .15s; }
|
|
99
|
-
button:active { opacity: .7; }
|
|
100
|
-
.sheet, .detail-box { animation: enter .18s ease-out both; }
|
|
101
|
-
@keyframes enter { from { transform: translateY(6px); opacity: .5; } to { transform: none; opacity: 1; } }
|
|
102
|
-
}
|
|
103
|
-
.svg-export * { animation: none !important; transition: none !important; }
|
|
104
|
-
|
|
105
|
-
/* A calendar, travel slips, a receipt, a packing index and a change log. */
|
|
106
|
-
.calendar-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(55px, 1fr)); gap: 0; margin: 17px -16px 14px; padding: 12px 16px; background: #F0F5FD; }
|
|
107
|
-
.calendar-strip > div { padding: 0 8px; border-left: 1px solid #D6E2F4; min-width: 0; }
|
|
108
|
-
.calendar-strip > div:first-child { padding-left: 0; border-left: none; }
|
|
109
|
-
.calendar-strip span { display: block; color: var(--accent); font-size: 14px; font-weight: 500; }
|
|
110
|
-
.calendar-strip small { display: block; font-size: 11px; line-height: 1.5; margin-top: 5px; color: #8290A4; overflow-wrap: anywhere; }
|
|
111
|
-
.timeline .chat-card { border-top: 3px solid var(--accent); }
|
|
112
|
-
.timeline .overview { padding-bottom: 20px; }
|
|
113
|
-
.timeline .reading-nav { gap: 0; border: 1px solid #E0E9F6; background: #F7FAFE; border-radius: 9px; }
|
|
114
|
-
.timeline .reading-nav button { flex: 1; padding: 10px 14px; display: flex; align-items: center; gap: 8px; font-size: 12px; border-right: 1px solid #E0E9F6; }
|
|
115
|
-
.timeline .reading-nav button:last-child { border-right: none; }
|
|
116
|
-
.timeline .day-number { font-size: 20px; font-weight: 500; line-height: 1.3; font-variant-numeric: tabular-nums; }
|
|
117
|
-
.timeline .reading-nav button[aria-pressed=true] { background: #EAF2FE; }
|
|
118
|
-
.timeline .reading-nav button[aria-pressed=true]:after { left: 13px; right: 13px; }
|
|
119
|
-
.timeline .time { color: var(--accent); }
|
|
120
|
-
.timeline .row { min-height: 90px; }
|
|
121
|
-
|
|
122
|
-
.cards .chat-card { border-style: solid; border-color: #D6E2F2; border-radius: 5px 17px 17px 5px; }
|
|
123
|
-
.cards .card-kind { border-left: 3px solid var(--accent); padding-left: 9px; }
|
|
124
|
-
.booking-reference { display: flex; gap: 13px; align-items: center; border-top: 1px dashed #D3DDEC; margin-top: 16px; padding: 13px 0 5px; }
|
|
125
|
-
.booking-reference span { color: #8390A5; font-size: 12px; border-right: 1px solid #DFE5EF; padding-right: 12px; }
|
|
126
|
-
.booking-reference p { font-size: 16px; }
|
|
127
|
-
.cards .open-sheet { border-top-style: dashed; }
|
|
128
|
-
.cards .sheet-body { background: #F4F7FC; padding-left: 16px; padding-right: 16px; }
|
|
129
|
-
.cards .overview { padding-left: 4px; }
|
|
130
|
-
.cards .reading-nav { background: #F4F7FC; }
|
|
131
|
-
.cards .section { background: #fff; border: 1px solid #DDE5F0; border-radius: 5px 15px 15px 5px; margin-top: 16px; padding: 0 14px; }
|
|
132
|
-
.cards summary.section-heading, .cards h3.section-heading { color: var(--accent); font-size: 14px; font-weight: 500; padding: 12px 0; margin: 0; border-bottom: 1px dashed #D5DEEB; }
|
|
133
|
-
.cards details:not([open]) summary { border-bottom: none; }
|
|
134
|
-
.cards .row { padding: 13px 0; }
|
|
135
|
-
.cards .row-label { font-weight: 500; }
|
|
136
|
-
.cards .row-value { color: #6A788C; }
|
|
137
|
-
.cards .note { border: 0; }
|
|
138
|
-
|
|
139
|
-
.ledger .chat-card { border-radius: 3px; border: 1px solid #DDE4ED; border-top: 3px double var(--accent); }
|
|
140
|
-
.receipt-totals { display: grid; grid-template-columns: repeat(var(--metric-count), minmax(0, 1fr)); gap: 12px; margin: 16px 0 13px; border-block: 1px dashed #CCD7E8; padding: 13px 0; }
|
|
141
|
-
.receipt-totals .metric-value { font-size: 20px; font-weight: 500; font-variant-numeric: tabular-nums; }
|
|
142
|
-
.receipt-totals .metric:first-child .metric-value { color: var(--accent); }
|
|
143
|
-
.ledger .open-sheet { border-top: 1px dashed #CCD7E8; }
|
|
144
|
-
.ledger .overview { border-bottom: 1px dashed #C4D2E5; padding-bottom: 19px; }
|
|
145
|
-
.ledger .overview-metrics { margin-top: 18px; }
|
|
146
|
-
.ledger .reading-nav { margin-top: 8px; }
|
|
147
|
-
.ledger .section-heading { font-size: 12px; letter-spacing: .5px; color: #7C8EA9; }
|
|
148
|
-
.ledger .row { border-bottom: 1px dashed var(--line); }
|
|
149
|
-
.ledger .row:last-child { border-bottom: 0; }
|
|
150
|
-
.ledger .row-value { color: #234B83; font-variant-numeric: tabular-nums; }
|
|
151
|
-
.ledger .note { border-top-style: dashed; }
|
|
152
|
-
|
|
153
|
-
.checklist .chat-card { border-radius: 14px; background: #F8FAFE; }
|
|
154
|
-
.packing-index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 16px 0 13px; border-top: 1px solid #DBE4F2; border-left: 1px solid #DBE4F2; }
|
|
155
|
-
.packing-index > div { border-right: 1px solid #DBE4F2; border-bottom: 1px solid #DBE4F2; padding: 10px; }
|
|
156
|
-
.packing-index small { display: block; color: var(--accent); font-size: 11px; }
|
|
157
|
-
.packing-index p { font-size: 16px; line-height: 1.5; margin-top: 5px; overflow-wrap: anywhere; }
|
|
158
|
-
.checklist .overview { position: relative; padding-left: 15px; border-left: 3px solid var(--accent); margin: 22px 0 15px; padding-top: 0; padding-bottom: 0; }
|
|
159
|
-
.checklist .progress-track { height: 3px; }
|
|
160
|
-
.checklist .section { position: relative; min-height: 65px; padding-left: 76px; margin: 24px 0; border-bottom: 1px solid #E3EAF3; padding-bottom: 20px; }
|
|
161
|
-
.checklist .section-heading { position: absolute; left: 0; top: 5px; width: 59px; flex-wrap: wrap; align-content: flex-start; color: var(--accent); font-size: 12px; line-height: 1.7; padding: 0; margin: 0; overflow-wrap: anywhere; }
|
|
162
|
-
.checklist .section-heading .icon { margin: 5px 0 0; width: 12px; height: 12px; }
|
|
163
|
-
.checklist .row { padding-top: 0; }
|
|
164
|
-
.checklist .row-label { font-weight: 500; }
|
|
165
|
-
.checklist .row:last-child { padding-bottom: 0; }
|
|
166
|
-
.checklist .note { border: 0; padding-top: 0; }
|
|
167
|
-
|
|
168
|
-
.changes .chat-card { border-radius: 13px; border-left: 3px solid var(--accent); }
|
|
169
|
-
.change-preview { margin-top: 16px; }
|
|
170
|
-
.change-preview-label { font-size: 12px; color: #7D8CA2; margin-bottom: 9px; }
|
|
171
|
-
.change-pair { display: grid; grid-template-columns: minmax(0, 1fr) 16px minmax(0, 1fr); align-items: stretch; gap: 8px; margin-top: 12px; }
|
|
172
|
-
.change-pair .before, .change-pair .after { padding: 10px; min-width: 0; }
|
|
173
|
-
.change-pair .before { background: #F4F5F7; color: #929AA7; }
|
|
174
|
-
.change-pair .after { background: #EDF3FC; color: #315D9B; border-left: 2px solid #7EAAE5; }
|
|
175
|
-
.change-pair small { font-size: 11px; display: block; margin-bottom: 4px; color: #8896AA; }
|
|
176
|
-
.change-pair p { font-size: 16px; line-height: 1.55; overflow-wrap: anywhere; }
|
|
177
|
-
.change-arrow { font-size: 13px; color: #A1AEC0; align-self: center; }
|
|
178
|
-
.changes .card-summary { font-size: 16px; margin-top: 14px; }
|
|
179
|
-
.changes .overview { padding-bottom: 17px; border-bottom: 1px solid #E5EAF3; }
|
|
180
|
-
.changes .section { border-left: 2px solid #DCE6F5; padding-left: 13px; }
|
|
181
|
-
.changes .section-heading { color: #7C8FAC; }
|
|
182
|
-
.changes .row { position: relative; padding: 13px 0 20px; }
|
|
183
|
-
.changes .change-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
|
|
184
|
-
.change-time { font-size: 11px; color: #8A98AB; font-variant-numeric: tabular-nums; flex: none; }
|
|
185
|
-
.changes .row-caption { color: #8792A3; }
|
|
186
|
-
.changes .detail-open { position: absolute; right: -5px; bottom: 9px; min-height: 28px; }
|
|
187
|
-
.changes .status { margin-top: 10px; padding-right: 20px; }
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
# 产物与服务蓝图字段
|
|
2
|
-
|
|
3
|
-
四册之后新增独立 stage=interaction 的 widget-catalog、widget-prototype、widget-acceptance 三类产物。它们不是章节,不计入固定 27 章;字段和确认顺序见 [小挂件协议](widgets-protocol.md)。
|
|
4
|
-
|
|
5
|
-
此文件只在形成章节、方法候选、案例或服务方案时读取。所有内容由当前项目真实原话和来源生成;这里定义字段,不提供默认作品或默认服务方案。
|
|
6
|
-
|
|
7
|
-
## 公共产物结构
|
|
8
|
-
|
|
9
|
-
每个 artifacts 数组元素严格包含以下必填字段:
|
|
10
|
-
|
|
11
|
-
- id、stage、kind、title、markdown:字符串。
|
|
12
|
-
- evidence:Ref 数组,记录真实输入或资料依据。
|
|
13
|
-
- dependencies:Ref 数组,记录已确认的上游产物。
|
|
14
|
-
- unresolved:影响当前版本确认的未决事项字符串数组;非空时禁止正式确认。已经明确排除在本次范围外的后续版本计划写入正文的范围说明,不重复放入此数组。仍影响当前结论的缺口必须保留。
|
|
15
|
-
- data:可选对象;没有特殊结构时使用 {}。
|
|
16
|
-
|
|
17
|
-
不要提交 hash 或 revision,工具负责计算。evidence 或 dependencies 至少有一项实际依据。知识、方法、服务产物的 dependencies 应分别引用每个上游阶段实际使用的已确认章节;下游章节还要引用实际使用的方法候选、场景或蓝图。引用对象 hash 必须是当前版本。未决项如允许延后,应在正文准确说明缺口并让创作者校准这个范围;不能为了确认清空仍待解决的具体问题。
|
|
18
|
-
|
|
19
|
-
| kind | stage | 固定 id | data |
|
|
20
|
-
| --- | --- | --- | --- |
|
|
21
|
-
| chapter | definition | definition.1 至 definition.6 | 可留 {},正文对应 catalog 的六章 |
|
|
22
|
-
| chapter | knowledge | knowledge.1 至 knowledge.7 | 可留 {},正文对应七章 |
|
|
23
|
-
| chapter | methods | methods.1 至 methods.5 | 可留 {},正文对应五章 |
|
|
24
|
-
| chapter | service | service.1 至 service.9 | 可留 {},正文对应九章 |
|
|
25
|
-
| hypothesis | methods | hypothesis.H1 至 hypothesis.H4 | 可留 {};先形成 3—4 条不同候选 |
|
|
26
|
-
| scenario | methods | scenario.M01 至 scenario.M04;scenario.E01 至 scenario.E03 | 具体执行写 markdown |
|
|
27
|
-
| blueprint | service | service.blueprint | 使用下节结构 |
|
|
28
|
-
| transition | service | transition.acquisition-paid、transition.acquisition-maintenance、transition.paid-paid、transition.paid-maintenance | trigger、rightsChange、dataInheritance、message 均为非空字符串 |
|
|
29
|
-
|
|
30
|
-
四册是固定章节的组合,没有 kind:booklet 产物,也不使用 data.chapters。整册确认通过 delivery.confirmationScope=booklet 和该册全部章节 ID;逐章确认用 scope=object 及对应章节。一次不能跨册。
|
|
31
|
-
|
|
32
|
-
方法候选正式反馈使用 decision:accepted 或 rejected,其他对象使用 confirmed。3—4 条候选均处理且至少一条 accepted 才进入基础场景。基础场景可在创作者回答足够具体时忠实记录,其 data.capture=faithful_user_answer 仅用于刚回答的对应 M01—M04,必须引用本轮精确原话,正文不能新增条件、顺序或推断。新增推导应走正常展示、下一轮确认。E01—E03 必须在四基础有效确认之后生成,并依赖对应基础场景;每次只变一个条件。
|
|
33
|
-
|
|
34
|
-
## service.blueprint 的 data
|
|
35
|
-
|
|
36
|
-
可以先保存带未决项的草案;以下字段与业务判断齐备后才能正式确认。字段是内部记录格式,不把这张表变成一次询问用户的清单。智能规划基于已有信息给完整建议,只有实际缺口才追问。
|
|
37
|
-
|
|
38
|
-
| 字段 | 形状与含义 |
|
|
39
|
-
| --- | --- |
|
|
40
|
-
| platformRules | 原样使用 context.catalog.serviceRules;不能复制旧限制 |
|
|
41
|
-
| valueStatement | 非空字符串:持续使用能得到什么 |
|
|
42
|
-
| recurrenceDrivers | 非空字符串数组:持续求助的真实原因 |
|
|
43
|
-
| renewalEvidence | 非空字符串数组:1—3 项可观察成果、变化或下一周期目标 |
|
|
44
|
-
| serviceLoop | 对象,trigger、requiredInput、decision、action、result、feedback、nextCycleUpdate 均为非空字符串 |
|
|
45
|
-
| acquisitionContract | 对象,trigger、requiredInput、completionCriteria、conversionBridge 均为非空字符串;includedSteps 非空字符串数组;excludedSteps 字符串数组,可为 [] |
|
|
46
|
-
| stages | acquisition、paid、maintenance 三个阶段对象;各用 result/service/limit 描述帮助和范围,付费阶段不能将 limit 写成 AI 对话次数 |
|
|
47
|
-
| transitions | 五个键:acquisition-paid、acquisition-maintenance、paid-paid、paid-maintenance、maintenance-paid;每项含 trigger、rightsChange、dataInheritance、message 非空字符串,可另给 title |
|
|
48
|
-
| billingCycle | 严格为 {count:正整数,unit:"day"或"week"或"month"或"year"};用户定义,不默认月度 |
|
|
49
|
-
| price | 这一整个订阅周期对应的正数价格 |
|
|
50
|
-
| cadence | 非空字符串:交付频率,与订阅周期分开 |
|
|
51
|
-
| deliveries | 非空字符串:交付内容与明确时间范围;不能限制普通 AI 对话 |
|
|
52
|
-
| toolLimit | 非空字符串:工具范围及对应时间,未使用额度限制时如实说明,不变相限制聊天 |
|
|
53
|
-
| conversationLimit | 固定为 "unlimited" |
|
|
54
|
-
| humanConversationLimit | 真人服务次数、时长和响应安排的具体说明,与 AI 对话分开;没有真人服务如实说明 |
|
|
55
|
-
| maintenanceContract | basicConversation:true;allowedQuestions 非空字符串,说明实际可答的基础问题,不能只留历史或付费提示 |
|
|
56
|
-
| humanReview | 布尔值,表示是否创作者本人复核 |
|
|
57
|
-
| reviewCapacity | 有本人复核时必填非空字符串,基于真实产能与时间范围;没有依据则保留未决,不能编造 |
|
|
58
|
-
| multiUser | 固定 false,当前单用户单档订阅设计 |
|
|
59
|
-
| experienceMode | "conversation" 或 "custom-component";后者另填 customComponentDescription 具体说明组件 |
|
|
60
|
-
| semanticChecks | 下节各项公开业务判断与真实证据 |
|
|
61
|
-
|
|
62
|
-
semanticChecks 包含 coherentLoop、paidDeliverable、freeScopeAgreed、maintenanceBoundary、transitionsConfirmed、valueBeforePaywall、executableContract;存在本人复核时还包含 creatorCapacity。每项结构为 `{pass:布尔值,evidence:Ref数组}`。pass=true 必须有非空真实依据,不能靠通过结构校验证明语义正确。未通过写 false 并在产物 unresolved 说明待明确内容。
|
|
63
|
-
|
|
64
|
-
guided 模式需四条非默认 transition 产物逐条有效确认,其 data 与 blueprint.data.transitions 中对应对象保持一致。maintenance-paid 为恢复订阅默认路径,保留完整权益与历史继承说明,不新增第五组采访。smart 模式整体展示蓝图、根据反馈修订;正式确认前仍核对五条路径、产能和服务约定,不以模型推测替代创作者意见。
|
|
65
|
-
|
|
66
|
-
为避免重复生成路径正文,提交 blueprint 时,`data.transitions` 中的四条非默认路径可以使用对应已确认产物的 Ref:`{type:"artifact",id:"transition.paid-paid",hash:已保存版本hash}`。例如宿主可将 `client.artifact_ref('transition.paid-paid')` 赋给 `blueprint['data']['transitions']['paid-paid']`。工具验证 ID、hash 和有效确认后,复制该产物的完整 data,并登记版本依赖,再计算蓝图 hash。保存、预览、导出仍使用展开后的原有蓝图结构;引用不改写源路径,也不会代替用户确认。旧版提交完整路径对象的方式继续有效。
|
|
67
|
-
|
|
68
|
-
引用必须对应同名路径;不存在、已失效或尚未确认的版本会被拒绝。maintenance-paid 仍提交完整路径对象。显式提交的完整对象不会被工具悄悄纠正;出现“每周”与“每 7 天”等文字差异时,仍按版本一致性门槛拒绝,并返回具体字段差异。路径确实需要变化时,先修订路径并重新展示确认,再据新版本整理蓝图。
|
|
69
|
-
|
|
70
|
-
服务蓝图正式确认且门槛满足后,才能定稿九章服务手册。订阅时长变化同步核对价格、交付、工具或真人额度和路径文案,不自动等比例涨价或扩大承诺。付费 AI 对话不限次数、维持基础对话与历史、免费范围可持续跟进始终有效。
|
|
@@ -1,401 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"stages": [
|
|
3
|
-
"definition",
|
|
4
|
-
"knowledge",
|
|
5
|
-
"methods",
|
|
6
|
-
"service"
|
|
7
|
-
],
|
|
8
|
-
"chapters": {
|
|
9
|
-
"definition": [
|
|
10
|
-
"定位",
|
|
11
|
-
"目标用户",
|
|
12
|
-
"带来的改变",
|
|
13
|
-
"独特性",
|
|
14
|
-
"角色与关系",
|
|
15
|
-
"责任边界"
|
|
16
|
-
],
|
|
17
|
-
"knowledge": [
|
|
18
|
-
"知识地图",
|
|
19
|
-
"概念",
|
|
20
|
-
"主张",
|
|
21
|
-
"做法",
|
|
22
|
-
"案例",
|
|
23
|
-
"边界",
|
|
24
|
-
"来源"
|
|
25
|
-
],
|
|
26
|
-
"methods": [
|
|
27
|
-
"方法总览",
|
|
28
|
-
"关键判断",
|
|
29
|
-
"处理路径",
|
|
30
|
-
"场景与调整",
|
|
31
|
-
"边界与例外"
|
|
32
|
-
],
|
|
33
|
-
"service": [
|
|
34
|
-
"服务定位",
|
|
35
|
-
"免费体验",
|
|
36
|
-
"订阅服务",
|
|
37
|
-
"交付节奏",
|
|
38
|
-
"价格与额度",
|
|
39
|
-
"停付与历史",
|
|
40
|
-
"用户路径",
|
|
41
|
-
"呈现与复核",
|
|
42
|
-
"服务约定"
|
|
43
|
-
]
|
|
44
|
-
},
|
|
45
|
-
"cards": {
|
|
46
|
-
"D01": {
|
|
47
|
-
"stage": "definition",
|
|
48
|
-
"title": "定位",
|
|
49
|
-
"minimum": "搭子类型,以及帮助用户完成的一件核心任务",
|
|
50
|
-
"maxAnswers": 3,
|
|
51
|
-
"hard": false
|
|
52
|
-
},
|
|
53
|
-
"D02": {
|
|
54
|
-
"stage": "definition",
|
|
55
|
-
"title": "目标用户",
|
|
56
|
-
"minimum": "具体的人、他当时的情境与困难",
|
|
57
|
-
"maxAnswers": 3,
|
|
58
|
-
"hard": false
|
|
59
|
-
},
|
|
60
|
-
"D03": {
|
|
61
|
-
"stage": "definition",
|
|
62
|
-
"title": "带来的改变",
|
|
63
|
-
"minimum": "用户可以观察或感受到的变化",
|
|
64
|
-
"maxAnswers": 3,
|
|
65
|
-
"hard": false
|
|
66
|
-
},
|
|
67
|
-
"D04": {
|
|
68
|
-
"stage": "definition",
|
|
69
|
-
"title": "独特性",
|
|
70
|
-
"minimum": "一个有创作者经验依据的差异,无法说清可待补",
|
|
71
|
-
"maxAnswers": 3,
|
|
72
|
-
"hard": false
|
|
73
|
-
},
|
|
74
|
-
"D05": {
|
|
75
|
-
"stage": "definition",
|
|
76
|
-
"title": "角色与关系",
|
|
77
|
-
"minimum": "相处关系、态度和决定由谁做",
|
|
78
|
-
"maxAnswers": 3,
|
|
79
|
-
"hard": false
|
|
80
|
-
},
|
|
81
|
-
"D06": {
|
|
82
|
-
"stage": "definition",
|
|
83
|
-
"title": "责任边界",
|
|
84
|
-
"minimum": "至少一条明确不替用户承担的责任",
|
|
85
|
-
"maxAnswers": 3,
|
|
86
|
-
"hard": false
|
|
87
|
-
},
|
|
88
|
-
"K01": {
|
|
89
|
-
"stage": "knowledge",
|
|
90
|
-
"title": "知识主题",
|
|
91
|
-
"minimum": "支撑核心任务的主题及范围",
|
|
92
|
-
"maxAnswers": 2,
|
|
93
|
-
"hard": false
|
|
94
|
-
},
|
|
95
|
-
"K02": {
|
|
96
|
-
"stage": "knowledge",
|
|
97
|
-
"title": "来源发现",
|
|
98
|
-
"minimum": "名称、取得方式;仅用户明确结束或跳过才关闭发现",
|
|
99
|
-
"maxAnswers": 9007199254740991,
|
|
100
|
-
"hard": false
|
|
101
|
-
},
|
|
102
|
-
"K03": {
|
|
103
|
-
"stage": "knowledge",
|
|
104
|
-
"title": "隐性经验",
|
|
105
|
-
"minimum": "当前核心任务相关经验的具体含义、适用条件及原话或材料依据;线索本身不算已讲清,具体执行在方法阶段校准",
|
|
106
|
-
"maxAnswers": 6,
|
|
107
|
-
"hard": false,
|
|
108
|
-
"reviewAfter": 4
|
|
109
|
-
},
|
|
110
|
-
"K04": {
|
|
111
|
-
"stage": "knowledge",
|
|
112
|
-
"title": "首批导入计划",
|
|
113
|
-
"minimum": "用户明确选择来源范围;每类必需来源至少一项真实可用,范围内没有待处理或失败资料",
|
|
114
|
-
"maxAnswers": 2,
|
|
115
|
-
"hard": false
|
|
116
|
-
},
|
|
117
|
-
"M01": {
|
|
118
|
-
"stage": "methods",
|
|
119
|
-
"title": "初次求助",
|
|
120
|
-
"minimum": "用户先答:关键判断、下一步、依据",
|
|
121
|
-
"maxAnswers": 6,
|
|
122
|
-
"hard": true,
|
|
123
|
-
"reviewAfter": 4
|
|
124
|
-
},
|
|
125
|
-
"M02": {
|
|
126
|
-
"stage": "methods",
|
|
127
|
-
"title": "行动受阻",
|
|
128
|
-
"minimum": "用户先答:取舍、调整及依据",
|
|
129
|
-
"maxAnswers": 6,
|
|
130
|
-
"hard": true,
|
|
131
|
-
"reviewAfter": 4
|
|
132
|
-
},
|
|
133
|
-
"M03": {
|
|
134
|
-
"stage": "methods",
|
|
135
|
-
"title": "责任边缘",
|
|
136
|
-
"minimum": "用户先答:继续范围或停止条件及依据",
|
|
137
|
-
"maxAnswers": 6,
|
|
138
|
-
"hard": true,
|
|
139
|
-
"reviewAfter": 4
|
|
140
|
-
},
|
|
141
|
-
"M04": {
|
|
142
|
-
"stage": "methods",
|
|
143
|
-
"title": "明确越界",
|
|
144
|
-
"minimum": "用户先答:不承担的要求及既有边界关系",
|
|
145
|
-
"maxAnswers": 6,
|
|
146
|
-
"hard": true,
|
|
147
|
-
"reviewAfter": 4
|
|
148
|
-
},
|
|
149
|
-
"H01": {
|
|
150
|
-
"stage": "methods",
|
|
151
|
-
"title": "候选一校准",
|
|
152
|
-
"minimum": "辨明当前假设与真实做法的具体差异",
|
|
153
|
-
"maxAnswers": 2,
|
|
154
|
-
"hard": true
|
|
155
|
-
},
|
|
156
|
-
"H02": {
|
|
157
|
-
"stage": "methods",
|
|
158
|
-
"title": "候选二校准",
|
|
159
|
-
"minimum": "辨明当前假设与真实做法的具体差异",
|
|
160
|
-
"maxAnswers": 2,
|
|
161
|
-
"hard": true
|
|
162
|
-
},
|
|
163
|
-
"H03": {
|
|
164
|
-
"stage": "methods",
|
|
165
|
-
"title": "候选三校准",
|
|
166
|
-
"minimum": "辨明当前假设与真实做法的具体差异",
|
|
167
|
-
"maxAnswers": 2,
|
|
168
|
-
"hard": true
|
|
169
|
-
},
|
|
170
|
-
"H04": {
|
|
171
|
-
"stage": "methods",
|
|
172
|
-
"title": "候选四校准",
|
|
173
|
-
"minimum": "辨明当前假设与真实做法的具体差异",
|
|
174
|
-
"maxAnswers": 2,
|
|
175
|
-
"hard": true
|
|
176
|
-
},
|
|
177
|
-
"E01": {
|
|
178
|
-
"stage": "methods",
|
|
179
|
-
"title": "现实约束变化",
|
|
180
|
-
"minimum": "四基础场景已确认;只变一个条件;复用已知具体动作,说清执行顺序、受阻时的替代与可观察结果,再校准推导",
|
|
181
|
-
"maxAnswers": 6,
|
|
182
|
-
"hard": true,
|
|
183
|
-
"reviewAfter": 4
|
|
184
|
-
},
|
|
185
|
-
"E02": {
|
|
186
|
-
"stage": "methods",
|
|
187
|
-
"title": "原则冲突",
|
|
188
|
-
"minimum": "只变一个条件;说明原则取舍后具体怎样行动、怎样表达及何时调整,再由创作者校准",
|
|
189
|
-
"maxAnswers": 6,
|
|
190
|
-
"hard": true,
|
|
191
|
-
"reviewAfter": 4
|
|
192
|
-
},
|
|
193
|
-
"E03": {
|
|
194
|
-
"stage": "methods",
|
|
195
|
-
"title": "边界或风险变化",
|
|
196
|
-
"minimum": "只变一个条件;把责任边界落实为停止什么、接着怎样回应及允许的下一步,再由创作者校准",
|
|
197
|
-
"maxAnswers": 6,
|
|
198
|
-
"hard": true,
|
|
199
|
-
"reviewAfter": 4
|
|
200
|
-
},
|
|
201
|
-
"S01": {
|
|
202
|
-
"stage": "service",
|
|
203
|
-
"title": "免费体验",
|
|
204
|
-
"minimum": "情境、输入、步骤、体验时长或结束条件、范围、继续价值;可包含多天跟进、答疑和方案修改,不限一次结果",
|
|
205
|
-
"maxAnswers": 3,
|
|
206
|
-
"hard": true
|
|
207
|
-
},
|
|
208
|
-
"S02": {
|
|
209
|
-
"stage": "service",
|
|
210
|
-
"title": "订阅服务",
|
|
211
|
-
"minimum": "输入→判断→行动→结果→反馈→下轮更新及触发条件",
|
|
212
|
-
"maxAnswers": 3,
|
|
213
|
-
"hard": true
|
|
214
|
-
},
|
|
215
|
-
"S03": {
|
|
216
|
-
"stage": "service",
|
|
217
|
-
"title": "服务方式",
|
|
218
|
-
"minimum": "持续服务、周期结果或交付工具次数;AI对话不限次数,真人服务可约定次数;单档订阅时长由创作者自定义",
|
|
219
|
-
"maxAnswers": 3,
|
|
220
|
-
"hard": true
|
|
221
|
-
},
|
|
222
|
-
"S04": {
|
|
223
|
-
"stage": "service",
|
|
224
|
-
"title": "节奏交付与价格",
|
|
225
|
-
"minimum": "明确订阅时长与对应价格;交付频率、交付与工具额度单列,不能变相限制AI对话;真人次数与时长另行约定",
|
|
226
|
-
"maxAnswers": 3,
|
|
227
|
-
"hard": true
|
|
228
|
-
},
|
|
229
|
-
"S05": {
|
|
230
|
-
"stage": "service",
|
|
231
|
-
"title": "停止付费后",
|
|
232
|
-
"minimum": "保证基础对话和历史查看;说明普通答疑内容,不能仅留静态历史或付费提示;不自动包含付费交付与真人服务",
|
|
233
|
-
"maxAnswers": 3,
|
|
234
|
-
"hard": true
|
|
235
|
-
},
|
|
236
|
-
"S06": {
|
|
237
|
-
"stage": "service",
|
|
238
|
-
"title": "续费依据",
|
|
239
|
-
"minimum": "1—3个具体变化、成果或下一周期目标",
|
|
240
|
-
"maxAnswers": 3,
|
|
241
|
-
"hard": true
|
|
242
|
-
},
|
|
243
|
-
"S07": {
|
|
244
|
-
"stage": "service",
|
|
245
|
-
"title": "呈现与本人复核",
|
|
246
|
-
"minimum": "纯对话或明确组件;本人复核有真实产能",
|
|
247
|
-
"maxAnswers": 3,
|
|
248
|
-
"hard": true
|
|
249
|
-
},
|
|
250
|
-
"S08": {
|
|
251
|
-
"stage": "service",
|
|
252
|
-
"title": "四种用户经历",
|
|
253
|
-
"minimum": "四条非默认动线各覆盖时点、权益、表达;明确确认",
|
|
254
|
-
"maxAnswers": 3,
|
|
255
|
-
"hard": true
|
|
256
|
-
},
|
|
257
|
-
"S09": {
|
|
258
|
-
"stage": "service",
|
|
259
|
-
"title": "整体确认",
|
|
260
|
-
"minimum": "三阶段五动线与契约一致",
|
|
261
|
-
"maxAnswers": 3,
|
|
262
|
-
"hard": true
|
|
263
|
-
},
|
|
264
|
-
"S00": {
|
|
265
|
-
"stage": "service",
|
|
266
|
-
"title": "服务模式与规划方式",
|
|
267
|
-
"minimum": "先解释固定模式,创作者选择智能规划或逐项讨论;答疑不计为服务采访回答",
|
|
268
|
-
"maxAnswers": 3,
|
|
269
|
-
"hard": true
|
|
270
|
-
},
|
|
271
|
-
"R00": {
|
|
272
|
-
"stage": "service",
|
|
273
|
-
"title": "本次优化方向",
|
|
274
|
-
"minimum": "四册完成后,了解本次明确希望修改的范围",
|
|
275
|
-
"maxAnswers": 3,
|
|
276
|
-
"hard": false
|
|
277
|
-
},
|
|
278
|
-
"T.acquisition-paid.1": {
|
|
279
|
-
"stage": "service",
|
|
280
|
-
"title": "acquisition-paid:时点",
|
|
281
|
-
"minimum": "基于已确认服务,说明本路径何时发生及触发条件;已知则不再问",
|
|
282
|
-
"maxAnswers": 3,
|
|
283
|
-
"hard": true
|
|
284
|
-
},
|
|
285
|
-
"T.acquisition-paid.2": {
|
|
286
|
-
"stage": "service",
|
|
287
|
-
"title": "acquisition-paid:权益",
|
|
288
|
-
"minimum": "基于已确认服务,说明本路径发生后继续或停止哪些服务;已知则不再问",
|
|
289
|
-
"maxAnswers": 3,
|
|
290
|
-
"hard": true
|
|
291
|
-
},
|
|
292
|
-
"T.acquisition-paid.3": {
|
|
293
|
-
"stage": "service",
|
|
294
|
-
"title": "acquisition-paid:表达",
|
|
295
|
-
"minimum": "基于已确认服务,说明怎样向用户讲清本路径的变化和选择;已知则不再问",
|
|
296
|
-
"maxAnswers": 3,
|
|
297
|
-
"hard": true
|
|
298
|
-
},
|
|
299
|
-
"T.acquisition-maintenance.1": {
|
|
300
|
-
"stage": "service",
|
|
301
|
-
"title": "acquisition-maintenance:时点",
|
|
302
|
-
"minimum": "基于已确认服务,说明本路径何时发生及触发条件;已知则不再问",
|
|
303
|
-
"maxAnswers": 3,
|
|
304
|
-
"hard": true
|
|
305
|
-
},
|
|
306
|
-
"T.acquisition-maintenance.2": {
|
|
307
|
-
"stage": "service",
|
|
308
|
-
"title": "acquisition-maintenance:权益",
|
|
309
|
-
"minimum": "基于已确认服务,说明本路径发生后继续或停止哪些服务;已知则不再问",
|
|
310
|
-
"maxAnswers": 3,
|
|
311
|
-
"hard": true
|
|
312
|
-
},
|
|
313
|
-
"T.acquisition-maintenance.3": {
|
|
314
|
-
"stage": "service",
|
|
315
|
-
"title": "acquisition-maintenance:表达",
|
|
316
|
-
"minimum": "基于已确认服务,说明怎样向用户讲清本路径的变化和选择;已知则不再问",
|
|
317
|
-
"maxAnswers": 3,
|
|
318
|
-
"hard": true
|
|
319
|
-
},
|
|
320
|
-
"T.paid-paid.1": {
|
|
321
|
-
"stage": "service",
|
|
322
|
-
"title": "paid-paid:时点",
|
|
323
|
-
"minimum": "基于已确认服务,说明本路径何时发生及触发条件;已知则不再问",
|
|
324
|
-
"maxAnswers": 3,
|
|
325
|
-
"hard": true
|
|
326
|
-
},
|
|
327
|
-
"T.paid-paid.2": {
|
|
328
|
-
"stage": "service",
|
|
329
|
-
"title": "paid-paid:权益",
|
|
330
|
-
"minimum": "基于已确认服务,说明本路径发生后继续或停止哪些服务;已知则不再问",
|
|
331
|
-
"maxAnswers": 3,
|
|
332
|
-
"hard": true
|
|
333
|
-
},
|
|
334
|
-
"T.paid-paid.3": {
|
|
335
|
-
"stage": "service",
|
|
336
|
-
"title": "paid-paid:表达",
|
|
337
|
-
"minimum": "基于已确认服务,说明怎样向用户讲清本路径的变化和选择;已知则不再问",
|
|
338
|
-
"maxAnswers": 3,
|
|
339
|
-
"hard": true
|
|
340
|
-
},
|
|
341
|
-
"T.paid-maintenance.1": {
|
|
342
|
-
"stage": "service",
|
|
343
|
-
"title": "paid-maintenance:时点",
|
|
344
|
-
"minimum": "基于已确认服务,说明本路径何时发生及触发条件;已知则不再问",
|
|
345
|
-
"maxAnswers": 3,
|
|
346
|
-
"hard": true
|
|
347
|
-
},
|
|
348
|
-
"T.paid-maintenance.2": {
|
|
349
|
-
"stage": "service",
|
|
350
|
-
"title": "paid-maintenance:权益",
|
|
351
|
-
"minimum": "基于已确认服务,说明本路径发生后继续或停止哪些服务;已知则不再问",
|
|
352
|
-
"maxAnswers": 3,
|
|
353
|
-
"hard": true
|
|
354
|
-
},
|
|
355
|
-
"T.paid-maintenance.3": {
|
|
356
|
-
"stage": "service",
|
|
357
|
-
"title": "paid-maintenance:表达",
|
|
358
|
-
"minimum": "基于已确认服务,说明怎样向用户讲清本路径的变化和选择;已知则不再问",
|
|
359
|
-
"maxAnswers": 3,
|
|
360
|
-
"hard": true
|
|
361
|
-
}
|
|
362
|
-
},
|
|
363
|
-
"serviceRules": {
|
|
364
|
-
"billingModel": "subscription",
|
|
365
|
-
"billingCycle": "creator_defined",
|
|
366
|
-
"tiers": 1,
|
|
367
|
-
"multiUser": false,
|
|
368
|
-
"humanReviewProvider": "creator",
|
|
369
|
-
"free": {
|
|
370
|
-
"scope": "creator_defined",
|
|
371
|
-
"duration": "creator_defined",
|
|
372
|
-
"followUp": "creator_defined",
|
|
373
|
-
"valueBeforePaywall": true
|
|
374
|
-
},
|
|
375
|
-
"paid": {
|
|
376
|
-
"aiConversationLimit": "unlimited",
|
|
377
|
-
"humanConversationLimit": "creator_defined"
|
|
378
|
-
},
|
|
379
|
-
"maintenance": {
|
|
380
|
-
"history": true,
|
|
381
|
-
"basicChat": true,
|
|
382
|
-
"newCompleteResults": false,
|
|
383
|
-
"proactive": false,
|
|
384
|
-
"highCostTools": false,
|
|
385
|
-
"humanReview": false,
|
|
386
|
-
"honourPaidPeriod": true
|
|
387
|
-
},
|
|
388
|
-
"resume": {
|
|
389
|
-
"restoreFullService": true,
|
|
390
|
-
"inheritHistory": true,
|
|
391
|
-
"defaultConfirmed": true
|
|
392
|
-
}
|
|
393
|
-
},
|
|
394
|
-
"interviewPolicy": {
|
|
395
|
-
"gapMaxAnswers": 3,
|
|
396
|
-
"noGainLimit": 2,
|
|
397
|
-
"deepReviewAfter": 4,
|
|
398
|
-
"deepMaxAnswers": 6,
|
|
399
|
-
"sourceDiscovery": "explicit_creator_closure"
|
|
400
|
-
}
|
|
401
|
-
}
|