kiki-agent-lite 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -10
- package/dist/docs/en/configuration/config-files.md +63 -20
- package/dist/docs/en/configuration/data-locations.md +12 -4
- package/dist/docs/en/configuration/env-vars.md +4 -6
- package/dist/docs/en/configuration/overrides.md +13 -14
- package/dist/docs/en/configuration/providers.md +8 -6
- package/dist/docs/en/customization/agent-profiles.md +33 -38
- package/dist/docs/en/customization/agents.md +129 -107
- package/dist/docs/en/customization/hooks.md +41 -48
- package/dist/docs/en/customization/personas.md +19 -21
- package/dist/docs/en/customization/plugins.md +180 -156
- package/dist/docs/en/customization/prompt-fields.md +10 -6
- package/dist/docs/en/customization/skills.md +11 -13
- package/dist/docs/en/customization/skins.md +23 -27
- package/dist/docs/en/customization/themes.md +15 -15
- package/dist/docs/en/features/agents.md +85 -0
- package/dist/docs/en/features/daily.md +37 -7
- package/dist/docs/en/features/ecosystem.md +3 -1
- package/dist/docs/en/features/extend.md +7 -1
- package/dist/docs/en/features/freedom.md +4 -0
- package/dist/docs/en/features/index.md +6 -5
- package/dist/docs/en/features/long-work.md +23 -5
- package/dist/docs/en/features/look.md +1 -1
- package/dist/docs/en/features/people.md +10 -2
- package/dist/docs/en/features/spaces.md +16 -4
- package/dist/docs/en/features/workbench.md +11 -3
- package/dist/docs/en/getting-started/desktop-app.md +44 -29
- package/dist/docs/en/getting-started/first-launch.md +32 -21
- package/dist/docs/en/getting-started/installation.md +27 -12
- package/dist/docs/en/getting-started/use-cases.md +35 -35
- package/dist/docs/en/guides/goals.md +9 -7
- package/dist/docs/en/guides/interaction.md +26 -26
- package/dist/docs/en/guides/interface.md +18 -14
- package/dist/docs/en/guides/memory.md +43 -14
- package/dist/docs/en/guides/sessions.md +32 -26
- package/dist/docs/en/guides/settings.md +60 -29
- package/dist/docs/en/index.md +8 -2
- package/dist/docs/en/reference/command.md +8 -4
- package/dist/docs/en/reference/keyboard.md +18 -4
- package/dist/docs/en/reference/model-vocabulary.md +6 -8
- package/dist/docs/en/reference/slash-commands.md +4 -4
- package/dist/docs/en/reference/tools.md +92 -15
- package/dist/docs/en/release-notes/changelog.md +1 -9
- package/dist/docs/en/server/acp.md +1 -1
- package/dist/docs/en/server/ide.md +1 -1
- package/dist/docs/en/server/local-server.md +5 -5
- package/dist/docs/en/server/mcp.md +2 -2
- package/dist/docs/en/server/rest-api.md +79 -5
- package/dist/docs/en/server/sdk.md +2 -2
- package/dist/docs/zh/configuration/config-files.md +56 -15
- package/dist/docs/zh/configuration/data-locations.md +12 -4
- package/dist/docs/zh/configuration/env-vars.md +4 -6
- package/dist/docs/zh/configuration/overrides.md +13 -14
- package/dist/docs/zh/configuration/providers.md +7 -5
- package/dist/docs/zh/customization/agent-profiles.md +31 -36
- package/dist/docs/zh/customization/agents.md +120 -98
- package/dist/docs/zh/customization/hooks.md +35 -42
- package/dist/docs/zh/customization/personas.md +16 -18
- package/dist/docs/zh/customization/plugins.md +167 -142
- package/dist/docs/zh/customization/prompt-fields.md +9 -5
- package/dist/docs/zh/customization/skills.md +10 -12
- package/dist/docs/zh/customization/skins.md +19 -23
- package/dist/docs/zh/customization/themes.md +12 -12
- package/dist/docs/zh/features/agents.md +85 -0
- package/dist/docs/zh/features/daily.md +37 -7
- package/dist/docs/zh/features/ecosystem.md +3 -1
- package/dist/docs/zh/features/extend.md +7 -1
- package/dist/docs/zh/features/freedom.md +4 -0
- package/dist/docs/zh/features/index.md +6 -5
- package/dist/docs/zh/features/long-work.md +22 -4
- package/dist/docs/zh/features/look.md +1 -1
- package/dist/docs/zh/features/people.md +10 -2
- package/dist/docs/zh/features/spaces.md +15 -3
- package/dist/docs/zh/features/workbench.md +11 -3
- package/dist/docs/zh/getting-started/desktop-app.md +43 -28
- package/dist/docs/zh/getting-started/first-launch.md +32 -21
- package/dist/docs/zh/getting-started/installation.md +26 -11
- package/dist/docs/zh/getting-started/use-cases.md +35 -37
- package/dist/docs/zh/guides/goals.md +8 -8
- package/dist/docs/zh/guides/interaction.md +25 -25
- package/dist/docs/zh/guides/interface.md +18 -14
- package/dist/docs/zh/guides/memory.md +43 -14
- package/dist/docs/zh/guides/sessions.md +30 -24
- package/dist/docs/zh/guides/settings.md +54 -23
- package/dist/docs/zh/index.md +7 -1
- package/dist/docs/zh/reference/command.md +7 -3
- package/dist/docs/zh/reference/keyboard.md +18 -4
- package/dist/docs/zh/reference/model-vocabulary.md +6 -8
- package/dist/docs/zh/reference/slash-commands.md +3 -3
- package/dist/docs/zh/reference/tools.md +74 -9
- package/dist/docs/zh/release-notes/changelog.md +1 -9
- package/dist/docs/zh/server/acp.md +1 -1
- package/dist/docs/zh/server/ide.md +1 -1
- package/dist/docs/zh/server/local-server.md +5 -5
- package/dist/docs/zh/server/mcp.md +2 -2
- package/dist/docs/zh/server/rest-api.md +69 -1
- package/dist/docs/zh/server/sdk.md +2 -2
- package/dist/main.mjs +12545 -3456
- package/dist/web/assets/AppErrorBoundary-RFIAb-Uf.js +1 -0
- package/dist/web/assets/NavScopeBoundary-DY_ET7A-.js +1 -0
- package/dist/web/assets/{arc-y2SkSoyr.js → arc-CMgTB1m7.js} +1 -1
- package/dist/web/assets/{architectureDiagram-3BPJPVTR-uCwLz53m.js → architectureDiagram-3BPJPVTR-BU79ou2C.js} +1 -1
- package/dist/web/assets/{blockDiagram-GPEHLZMM-BZyWv36G.js → blockDiagram-GPEHLZMM-Bkuldod2.js} +1 -1
- package/dist/web/assets/{c4Diagram-AAUBKEIU-DKGx9i50.js → c4Diagram-AAUBKEIU-C3WMeqyu.js} +1 -1
- package/dist/web/assets/channel-DpDZUJRn.js +1 -0
- package/dist/web/assets/{chunk-2J33WTMH-CSkrhrsp.js → chunk-2J33WTMH-CesyWmwo.js} +1 -1
- package/dist/web/assets/{chunk-4BX2VUAB-CtxMoJ68.js → chunk-4BX2VUAB-C7rghYTf.js} +1 -1
- package/dist/web/assets/{chunk-55IACEB6-Dos3ftEy.js → chunk-55IACEB6-BqRHhwtz.js} +1 -1
- package/dist/web/assets/{chunk-727SXJPM-wbzEYK9z.js → chunk-727SXJPM-BhSqCRBc.js} +1 -1
- package/dist/web/assets/{chunk-AQP2D5EJ-B9GKvCD6.js → chunk-AQP2D5EJ-DdYE2ZVZ.js} +1 -1
- package/dist/web/assets/{chunk-FMBD7UC4-u5Y2P6IX.js → chunk-FMBD7UC4-BCRPUxDF.js} +1 -1
- package/dist/web/assets/{chunk-ND2GUHAM-B8rFKkTV.js → chunk-ND2GUHAM-CuvyDjTR.js} +1 -1
- package/dist/web/assets/{chunk-QZHKN3VN-EQsKtuD-.js → chunk-QZHKN3VN-BU5vAS78.js} +1 -1
- package/dist/web/assets/classDiagram-4FO5ZUOK-Bju1GfNu.js +1 -0
- package/dist/web/assets/classDiagram-v2-Q7XG4LA2-Bju1GfNu.js +1 -0
- package/dist/web/assets/client-C0oH7-8r.js +2 -0
- package/dist/web/assets/connection-BhO2nh7P.js +1 -0
- package/dist/web/assets/{cose-bilkent-S5V4N54A-D6dr5mIW.js → cose-bilkent-S5V4N54A-CXrvsA1a.js} +1 -1
- package/dist/web/assets/{dagre-BM42HDAG-Dnyhc4Hn.js → dagre-BM42HDAG-TaAea3Rt.js} +1 -1
- package/dist/web/assets/{diagram-2AECGRRQ-CYXkWdne.js → diagram-2AECGRRQ-CdEH4jGt.js} +1 -1
- package/dist/web/assets/{diagram-5GNKFQAL-DPwBf5Ag.js → diagram-5GNKFQAL-A0jZ_p-T.js} +1 -1
- package/dist/web/assets/{diagram-KO2AKTUF-DNeLYZ8X.js → diagram-KO2AKTUF-miHWORz3.js} +1 -1
- package/dist/web/assets/{diagram-LMA3HP47-zU8RsQTX.js → diagram-LMA3HP47-BlUIwEIg.js} +1 -1
- package/dist/web/assets/{diagram-OG6HWLK6-Cf9Mm94H.js → diagram-OG6HWLK6-DwDzMhEg.js} +1 -1
- package/dist/web/assets/{erDiagram-TEJ5UH35-Ch4CeiUI.js → erDiagram-TEJ5UH35-BJr5w62i.js} +1 -1
- package/dist/web/assets/export-BlxaZKEe.js +2 -0
- package/dist/web/assets/{flowDiagram-I6XJVG4X-Csn6WqEH.js → flowDiagram-I6XJVG4X-BP7KSFjx.js} +1 -1
- package/dist/web/assets/{ganttDiagram-6RSMTGT7-DsuBgEyu.js → ganttDiagram-6RSMTGT7-BstLBBof.js} +1 -1
- package/dist/web/assets/{gitGraphDiagram-PVQCEYII-CPA7jCxU.js → gitGraphDiagram-PVQCEYII-C57s7nZ-.js} +1 -1
- package/dist/web/assets/highlighted-body-OFNGDK62-BVb-7KsA.js +1 -0
- package/dist/web/assets/index-69qhvTvD.js +1 -0
- package/dist/web/assets/{index-BYUHmd8w.js → index-BDNM6yJI.js} +2 -2
- package/dist/web/assets/{index-BGgZxlEQ.js → index-BJF_gEDs.js} +2 -2
- package/dist/web/assets/index-BOwMP6BP.js +1 -0
- package/dist/web/assets/{index-C69a5Mcz.js → index-BZsyXCqm.js} +1 -1
- package/dist/web/assets/{index-C7EA7a_g.js → index-Bfl4JiNq.js} +2 -2
- package/dist/web/assets/index-BlD3AKX-.js +1 -0
- package/dist/web/assets/{index-CIymCfcP.js → index-BnvW0EvQ.js} +1 -1
- package/dist/web/assets/index-C4rmWyOm.js +1 -0
- package/dist/web/assets/index-CGLcb3HY.js +1 -0
- package/dist/web/assets/{index-kWBxPqIX.js → index-CPvOeQPX.js} +1 -1
- package/dist/web/assets/index-Cjbe0JKM.js +1 -0
- package/dist/web/assets/index-CmYoJWUm.js +1 -0
- package/dist/web/assets/index-CtUFrjKe.js +1 -0
- package/dist/web/assets/index-DDvDRMTK.js +1 -0
- package/dist/web/assets/index-DSpndwAR.css +1 -0
- package/dist/web/assets/index-D_JjTHxi.js +1 -0
- package/dist/web/assets/index-DbuwcnbT.js +1 -0
- package/dist/web/assets/index-DcXyS0nN.js +1 -0
- package/dist/web/assets/index-Dcl9ruKA.js +1 -0
- package/dist/web/assets/index-DgwALPNA.js +121 -0
- package/dist/web/assets/{index-DoN1FTEe.js → index-DkE8hRT1.js} +2 -2
- package/dist/web/assets/index-DsyRBZ4h.js +1 -0
- package/dist/web/assets/{index-29zav3JI.js → index-DuudNhLL.js} +4 -4
- package/dist/web/assets/index-Gc4F0b2f.js +1 -0
- package/dist/web/assets/index-HGqqwKoV.js +13 -0
- package/dist/web/assets/index-KchrJnno.js +3 -0
- package/dist/web/assets/{index-B0KNSyji.js → index-Tmi2BPYU.js} +1 -1
- package/dist/web/assets/index-Ya4GuDs0.js +1 -0
- package/dist/web/assets/index-_aDaKqLB.js +1 -0
- package/dist/web/assets/index-_qwOAotB.js +1 -0
- package/dist/web/assets/index-hnIkczza.js +7 -0
- package/dist/web/assets/{infoDiagram-5YYISTIA-D3Q__m62.js → infoDiagram-5YYISTIA-CifuVY6C.js} +1 -1
- package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-CcvCBuZ5.js → ishikawaDiagram-YF4QCWOH-Cd60vQUi.js} +1 -1
- package/dist/web/assets/{journeyDiagram-JHISSGLW-COZU4LNt.js → journeyDiagram-JHISSGLW-Cb3Xl_wl.js} +1 -1
- package/dist/web/assets/{kanban-definition-UN3LZRKU-BrXjBoAU.js → kanban-definition-UN3LZRKU-Ei6ThuZt.js} +1 -1
- package/dist/web/assets/{linear-BgP1STFi.js → linear-CDZJx-o2.js} +1 -1
- package/dist/web/assets/mermaid-GHXKKRXX-DFxyxD7G.js +331 -0
- package/dist/web/assets/{mindmap-definition-RKZ34NQL-CgjSrE5r.js → mindmap-definition-RKZ34NQL-B0ygxzkx.js} +1 -1
- package/dist/web/assets/navViewState-Ck_HK-TK.js +1 -0
- package/dist/web/assets/{pieDiagram-4H26LBE5-DTfe1sKA.js → pieDiagram-4H26LBE5-B2FdrvDv.js} +1 -1
- package/dist/web/assets/{quadrantDiagram-W4KKPZXB-D95hfh0q.js → quadrantDiagram-W4KKPZXB-CwpOTy3d.js} +1 -1
- package/dist/web/assets/{requirementDiagram-4Y6WPE33-DtSLi7Mh.js → requirementDiagram-4Y6WPE33-ExdZNzLQ.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-5OEKKPKP-gi_dJpcU.js → sankeyDiagram-5OEKKPKP-u0EZKD7D.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-3UESZ5HK-DKQ9a72t.js → sequenceDiagram-3UESZ5HK-BXHMy5DY.js} +1 -1
- package/dist/web/assets/{spaces-B2Ccyh_T.js → spaces-C8n7xQPx.js} +1 -1
- package/dist/web/assets/{stateDiagram-AJRCARHV-Bz7tmSqa.js → stateDiagram-AJRCARHV-DMXx7ell.js} +1 -1
- package/dist/web/assets/stateDiagram-v2-BHNVJYJU-Bydq1_By.js +1 -0
- package/dist/web/assets/theme-BBnHttAf.js +1 -0
- package/dist/web/assets/{timeline-definition-PNZ67QCA-BfMXPwhV.js → timeline-definition-PNZ67QCA-DtqVG_4u.js} +1 -1
- package/dist/web/assets/{vennDiagram-CIIHVFJN-WLxW2KT5.js → vennDiagram-CIIHVFJN-Dom0ex8r.js} +1 -1
- package/dist/web/assets/{wardley-L42UT6IY-DiiqwIdq.js → wardley-L42UT6IY-C-RstmuQ.js} +1 -1
- package/dist/web/assets/{wardleyDiagram-YWT4CUSO-DmCukWuw.js → wardleyDiagram-YWT4CUSO-C8CzNfdf.js} +1 -1
- package/dist/web/assets/{xychartDiagram-2RQKCTM6-Cfq1W2tT.js → xychartDiagram-2RQKCTM6-1AxVTyB6.js} +1 -1
- package/dist/web/index.html +2 -2
- package/native/auth-native/prebuilds/linux-arm64/auth-native.node +0 -0
- package/native/auth-native/prebuilds/linux-x64/auth-native.node +0 -0
- package/native/auth-native/prebuilds/win32-arm64/auth-native.node +0 -0
- package/native/auth-native/prebuilds/win32-x64/auth-native.node +0 -0
- package/package.json +1 -1
- package/dist/web/assets/AppErrorBoundary-DWpgwxFV.js +0 -1
- package/dist/web/assets/NavScopeBoundary-D8Lf1G0U.js +0 -1
- package/dist/web/assets/channel-BGdXootG.js +0 -1
- package/dist/web/assets/classDiagram-4FO5ZUOK-CPcnLy_H.js +0 -1
- package/dist/web/assets/classDiagram-v2-Q7XG4LA2-CPcnLy_H.js +0 -1
- package/dist/web/assets/client-DSIbyfoz.js +0 -2
- package/dist/web/assets/connection-DYZn9oPZ.js +0 -1
- package/dist/web/assets/export-Bq8ZECqX.js +0 -2
- package/dist/web/assets/highlighted-body-OFNGDK62-CDPBxM_E.js +0 -1
- package/dist/web/assets/index-AksnytJj.js +0 -1
- package/dist/web/assets/index-B8xhhYDh.css +0 -1
- package/dist/web/assets/index-BUrlrKap.js +0 -1
- package/dist/web/assets/index-B_5-HLed.js +0 -62
- package/dist/web/assets/index-BfmoxdpP.js +0 -1
- package/dist/web/assets/index-Bo3e-ohM.js +0 -3
- package/dist/web/assets/index-BrYV9gV_.js +0 -1
- package/dist/web/assets/index-C8XUtAvK.js +0 -1
- package/dist/web/assets/index-C9uil5my.js +0 -13
- package/dist/web/assets/index-CKpWHSp9.js +0 -1
- package/dist/web/assets/index-CLKBgQxV.js +0 -1
- package/dist/web/assets/index-CTyyUNWj.js +0 -7
- package/dist/web/assets/index-D7cg9qYZ.js +0 -1
- package/dist/web/assets/index-D7dg8R_q.js +0 -1
- package/dist/web/assets/index-DCSpedV_.js +0 -1
- package/dist/web/assets/index-DLbD0Nx5.js +0 -1
- package/dist/web/assets/index-DaEzbvvu.js +0 -1
- package/dist/web/assets/index-DhbcjMZF.js +0 -1
- package/dist/web/assets/index-Dw2h88mF.js +0 -1
- package/dist/web/assets/index-FcMtfmKv.js +0 -1
- package/dist/web/assets/index-XFq9Kgg0.js +0 -1
- package/dist/web/assets/index-iI2mM43w.js +0 -1
- package/dist/web/assets/index-oXOF7lko.js +0 -1
- package/dist/web/assets/locale-CANfezJ4.js +0 -17
- package/dist/web/assets/mermaid-GHXKKRXX-_JLagMll.js +0 -321
- package/dist/web/assets/navViewState-DS5LnMYc.js +0 -1
- package/dist/web/assets/settings-CcwMWXbp.js +0 -42
- package/dist/web/assets/stateDiagram-v2-BHNVJYJU-D6-wdUbw.js +0 -1
- package/dist/web/assets/theme-DlDhDxeD.js +0 -1
|
@@ -28,27 +28,27 @@ Kiki 把每次对话持久化为一个「会话」,保留消息历史和元数
|
|
|
28
28
|
请勿手动编辑 `sessions/` 目录下的文件,否则可能导致会话无法正常恢复。
|
|
29
29
|
:::
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
> 以上两段 GUI 行为与 CLI 用户无关,CLI 用户可以跳过。
|
|
31
|
+
桌面版和浏览器 GUI 可以记住你为新会话选择的模型、思考力度、工作区、工作目录和配置档案(profile),导航和刷新后仍然保留。设置里的「输入框 → 保留输入草稿」控制这件事,关掉会清空已保存的内容。当前打开的页面里未发送的输入不受影响,但下次刷新就不会再恢复了。这部分内容与上面的会话文件分开存放。
|
|
34
32
|
|
|
35
33
|
## 任务看板
|
|
36
34
|
|
|
37
|
-
|
|
35
|
+
任务看板在 main agent 右侧面板底部的固定入口。卡片记录需求条目及其关联的会话,Agent 自己的 Todo 列表与之独立。
|
|
38
36
|
|
|
39
|
-
|
|
37
|
+
卡片逐页加载,所以同步期间的计数和搜索结果只覆盖已加载的部分。切换工作区范围或关闭看板会停止继续加载。在新建卡片、卡片详情或确认弹窗中,`Tab` 只在最上层弹窗内移动,`Esc` 只关闭这一层并把焦点还给打开它的控件。保存或删除请求还在进行时,弹窗无法关闭。
|
|
40
38
|
|
|
41
|
-
|
|
39
|
+
在该工作区创建或编辑卡片前请先信任它。存储位置由 `taskBoard.storage` 决定:`auto` 优先复用兼容的工作区存储,否则用 `sessions/<workspaceId>/.board`;`global` 用 Kiki home 下的 `boards` 目录;`fixed` 用你给出的绝对路径或相对工作区的路径。预览路径不会创建目录,也不会授予写权限,请先保存设置再在那里创建。已存在但无法存放看板的目录会被拒绝。
|
|
42
40
|
|
|
43
|
-
|
|
41
|
+
改设置不会搬迁旧卡片,它们仍指向原来的存储位置。若有人抢先保存了同一张卡片,重新加载后再试,编辑失败时草稿会保留。main agent 在正常工具策略和审批规则下用 `BoardRead`、`BoardWrite` 读写看板;subagent 使用看板工具需要[显式授权](../configuration/config-files.md#subagent),它们仍保留自己的 `TodoList`;Plan 模式不能使用 `BoardWrite`。
|
|
44
42
|
|
|
45
|
-
|
|
43
|
+
压缩上下文时,交接文本会列出最多五张与当前会话关联的卡片,含 ID、标题和状态。这份只读列表需要看板功能和 `BoardRead` 都已启用,读取失败或超过 500 毫秒就不列出。卡片状态不会随 Todo 列表或 Agent 运行结束自动更新。
|
|
46
44
|
|
|
47
45
|
## 启动与恢复会话
|
|
48
46
|
|
|
49
|
-
|
|
47
|
+
桌面版或浏览器的「新会话」页面里,可以选已有工作区、填写项目的绝对目录,或选择「自动创建工作区」(没有已注册工作区时默认选中)。选自动创建时,首次发送会在 `$KIKI_HOME/workspaces/`(默认 `~/.kiki/workspaces/`)下新建目录、注册为工作区,并在那里开启会话。如果明确选择的工作区后来被删除,该选项会一直保持无效,直到你换一个或改回自动创建,Kiki 不会悄悄打开另一个工作区。目录结构和清理影响见[数据路径](../configuration/data-locations.md#目录结构)。
|
|
48
|
+
|
|
49
|
+
打开已保存的会话只读取历史,不会唤醒尚未运行的 Agent;选择 subagent 只读取它自己的历史,不加载 main agent 的对话。发送、编辑或重新生成消息,回答审批或提问,以及 steer 提示词时才会激活会话。激活失败则不会发送,历史仍可阅读。浏览会话不会停止其中正在运行的工作。
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
GUI 首先显示少量最新消息,向上滚动时自动加载相邻的更早一页;仅保持对话打开,不会在后台读完整段历史。可见消息和展开的条目按需加载详情。跳转到旧消息或返回已保存的阅读位置时,会持续读取直到找到目标;自己滚动会取消旧跳转。滚动到旧消息时,界面可能重新读取其预览,以控制阅读缓存占用。离开对话会取消待完成的读取,不会停止 Agent 工作。真实读取失败时保留已经加载的消息并提供重试;[阅读超时](./settings.md#超时)控制一次读取最多等待多久。
|
|
52
52
|
|
|
53
53
|
每次直接运行 `kiki` 都会创建新会话。以下方式可以恢复历史会话:
|
|
54
54
|
|
|
@@ -74,7 +74,7 @@ kiki --session
|
|
|
74
74
|
`--continue` 与 `--session` 互斥,不能同时使用。
|
|
75
75
|
:::
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
GUI 中,已保存但不再可用的模型、配置档案或思考力度会保留原值并显示诊断信息,发送前请选一个有效值,界面不会悄悄换成别的模型或配置档案。列表还在加载或目录请求失败时的报错,不代表你保存的选择有问题。
|
|
78
78
|
|
|
79
79
|
## 在 TUI 中切换会话
|
|
80
80
|
|
|
@@ -87,19 +87,25 @@ kiki --session
|
|
|
87
87
|
|
|
88
88
|
## GUI 会话恢复与活动历史
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
左栏里,由另一个线程创建的线程默认嵌套在创建者下面。在该行的菜单里选「恢复顶层显示」可以把它提为独立顶层条目,选「恢复嵌套显示」放回去。这只影响显示,从属关系不变,同一浏览器或桌面空间内刷新、重启后仍保留。同一个菜单里还有「复制线程链接」可以拿到该线程的链接,以及「添加到当前对话」把它的引用放进你现在打开的这段对话。
|
|
91
|
+
|
|
92
|
+
左栏按线程自身的更新时间排序。提升到顶层后,线程按自己的时间独立排序、分组:它有新活动不会把父线程往前带,父线程有新活动也不会带着它一起移动。保持嵌套的线程仍跟随创建者的行显示。
|
|
93
|
+
|
|
94
|
+
会话恢复失败时,GUI 保留已经载入的历史并显示错误,有 request ID 时一并显示。同区域的「立即重试」会重新执行恢复。
|
|
91
95
|
|
|
92
|
-
|
|
96
|
+
通过 Kiki 修改排队提示词的正文或投递时机后,恢复仍能识别同一条提示词,不需要还原原文或重复发送。若轮次已执行完但存储暂时不可写,Kiki 会短暂重试保存同一结果,不重新执行轮次。较长故障会让轮次继续等待保存;存储恢复可写后,提交下一条提示词会先重试原结果的保存,再继续工作。等待保存不代表结果已经落盘。
|
|
93
97
|
|
|
94
|
-
|
|
98
|
+
已解决的问题、审批、标记和已结束的后台任务会以紧凑条目留在时间线里。已完成的工作可以收在「已处理」下,展开看每一条。展开提问可读完整问题,已回答的还能看到保存的回答,已忽略或已过期的问题则显示当时的选项。已完成任务的输出仍在任务历史里。文件引用可以预览、打开或在文件夹中显示,预览按需生成,原件随时可以打开或下载。
|
|
95
99
|
|
|
96
|
-
|
|
100
|
+
发送的附件和工具结果里的图片,滚动到可见位置就会自动显示,不需要点一下才加载。点一下是看原图;真的加载失败时会给出重试。查看器里保留了它自己的**下载**,图片下面不再重复放下载链接。
|
|
101
|
+
|
|
102
|
+
Markdown 预览默认是渲染结果,切到「源码」可以看文本,桌面版有写入通道时也能在那里编辑。渲染视图支持表格、公式、图表,以及相对 Markdown 文件链接的图片。文件超过约 512 KB 时首屏先显示开头,其余部分在后台继续加载;到这个大小仍然是只读的,也就是说可以用「源码」阅读,但编辑要留给更小的文件。后台读取失败时,视图会说明并提供重试。
|
|
97
103
|
|
|
98
104
|
## GUI 用量统计
|
|
99
105
|
|
|
100
|
-
|
|
106
|
+
打开「用量」默认看浏览器本地时间的当天。URL 里指定的时间范围优先,已保存的全历史视图不会覆盖这个默认。跨过午夜或浏览器时区偏移变化时,页面会更新日期边界。
|
|
101
107
|
|
|
102
|
-
Token
|
|
108
|
+
Token 用量与估算费用各有自己的完整性标记。供应商没返回用量时,Kiki 标为未知而不是当作 0;已知与未知混合时显示已记录的小计并提示计量不完整。缺少模型价格只影响费用估算,不影响已记录的 token 数。「数据可信度」会把这些情况与范围内没有记录、请求失败区分开。
|
|
103
109
|
|
|
104
110
|
## 上下文压缩
|
|
105
111
|
|
|
@@ -115,19 +121,19 @@ Token 用量和估算费用分别标记完整性。供应商未返回用量时
|
|
|
115
121
|
/compact 保留与数据库迁移相关的讨论
|
|
116
122
|
```
|
|
117
123
|
|
|
118
|
-
|
|
124
|
+
Agent 正在干活时也可以请求压缩。Kiki 会把请求排队,等当前这次响应和它调用的工具都结束就执行,不用等整个轮次走完。已经有手动压缩在排队或执行时再请求不会有任何效果——同一次只会有一条。上下文用量表上方那一行写明你在看的是哪一次、进行到哪一步:**手动压缩已排队**,然后是**手动压缩中**,最后是**手动压缩已完成**;压缩不了就是**手动压缩失败**。上下文到顶自动触发的那次读起来一样,只是把「手动」换成「自动」。
|
|
125
|
+
|
|
126
|
+
输入框下方的上下文用量表显示同样的数字,可以直接调整压缩点,展开的详情卡里还有续上下文策略:压缩、清空重开(只从 Agent 的工作笔记重启)和自动(主智能体内置默认:工作笔记足以安全覆盖当前工作时重启,否则生成摘要)。终端里用 `/autocompact` 查看或移动压缩点。必须熬过压缩的事实更适合放进[记忆](./memory.md),它比会话活得久。
|
|
119
127
|
|
|
120
128
|
## 派生会话
|
|
121
129
|
|
|
122
|
-
|
|
130
|
+
`/fork` 复制当前会话,方便你试另一条路而不打断现在这个:
|
|
123
131
|
|
|
124
132
|
```sh
|
|
125
133
|
/fork
|
|
126
134
|
```
|
|
127
135
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
fork 完成后,CLI 会打印一条可直接运行的 `kiki --resume` 命令(并自动复制到剪贴板),方便你在新终端进程中直接进入派生会话。
|
|
136
|
+
你仍留在原会话里继续工作,副本彼此独立,随时可以用 `/sessions` 切过去。已保存的 `/goal` 不会带过去,想在副本里做 goal 工作就重新设一个。完整复制、按轮次截取和创建子会话都不会带走定时任务。原会话的计划和此前已创建的副本保持不变;要在新会话定时执行,请单独创建任务。fork 后 CLI 会打印一条可直接运行的 `kiki --resume` 命令,同时复制到剪贴板,便于在新终端里打开副本。
|
|
131
137
|
|
|
132
138
|
## 导出会话
|
|
133
139
|
|
|
@@ -143,14 +149,14 @@ kiki export <sessionId>
|
|
|
143
149
|
kiki export <sessionId> -o ~/Desktop/my-session.zip
|
|
144
150
|
```
|
|
145
151
|
|
|
146
|
-
|
|
152
|
+
导出包含会话目录下的全部文件(含诊断日志),以及全局日志 `~/.kiki/logs/kimi-code.log`(文件名沿用项目早期的命名)。不需要它就加 `--no-include-global-log`。
|
|
147
153
|
|
|
148
154
|
也可以在 TUI 内导出,无需离开交互界面:
|
|
149
155
|
|
|
150
156
|
- **`/export-debug-zip`**:产生与 `kiki export` 相同的调试 ZIP。
|
|
151
157
|
- **`/export-md`**(别名 `/export`):导出为人类可读的 Markdown 对话记录,适合分享或存档。可选接收路径参数;不带参数时写入工作目录下的 `kimi-export-<short-id>-<timestamp>.md`。
|
|
152
158
|
|
|
153
|
-
|
|
159
|
+
web UI 中 `/export` 会把当前会话下载为诊断 ZIP:包含持久化的会话数据、诊断日志,以及只含元数据、大小有上限的 `logs/kimi-web.jsonl`(记录浏览器关键事件)。提示词正文、WebSocket 内容和 console 参数不会写进这份浏览器日志。这条 web 命令与上面 TUI 的 `/export` 别名不是一回事。
|
|
154
160
|
|
|
155
161
|
::: tip 提示
|
|
156
162
|
导出文件可能包含代码、命令输出和路径等敏感信息,分享前请先确认内容。
|
|
@@ -41,7 +41,7 @@ Kiki 桌面版在**设置**对话框里提供偏好设置,在侧栏的「用
|
|
|
41
41
|
- **登录未完成**:流程结束但没有拿到凭据——你拒绝了、验证码过期,或中途失败。一行说明是哪一种,连接保持服务端如实报告的样子,不会留下半成品。
|
|
42
42
|
- **等待你确认**:登录正在进行,显示验证码、**打开验证页**、有效剩余时间,以及**取消登录**。
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
登录完成后,该账号的模型由服务端加入目录。要确认实际能用的模型,看 **可用模型**;这里的一行只报告连接与其登录状态。
|
|
45
45
|
|
|
46
46
|
在 Kiki 中退出只影响 Kiki。服务方保留你自己的订阅记录,重新登录会连回同一个账号。
|
|
47
47
|
|
|
@@ -51,50 +51,79 @@ Kiki 桌面版在**设置**对话框里提供偏好设置,在侧栏的「用
|
|
|
51
51
|
|
|
52
52
|
"本机"指 Kiki **服务端**所在的机器。通常就是你正在看的这台;当它不是时,**到服务端的其它目录中查找**可以指定要读取的目录。
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
**检测本机**会报告另一侧是哪个账号、凭据保存在哪里(文件、系统钥匙串或加密存储),随后出现的**使用这个登录**只接入刚报告的那个账号。期间被换掉的凭据会被拒绝,临近过期的凭据则直接使用并由 Kiki 续期。
|
|
55
55
|
|
|
56
56
|
当本机的凭据无法使用时,页面会给出你能据此行动的原因:没有该服务的账号、已退出、存放在读不到的位置,或属于另一个账号——并且不提供任何接入动作。
|
|
57
57
|
|
|
58
58
|
**停止使用**会放弃这个连接对本机登录的使用。它移除 Kiki 的引用和由此写入的模型;登录本身仍然保留在原处,另一个 app 不受影响。
|
|
59
59
|
|
|
60
|
+
### 超时
|
|
61
|
+
|
|
62
|
+
**设置 → 模型与供应商 → 连接**上有两个各自独立的超时,管的不是同一类请求:
|
|
63
|
+
|
|
64
|
+
- **请求超时**——本界面向 Kiki 服务端发起的普通请求的默认截止时间。
|
|
65
|
+
- **阅读超时**——读取会话历史或正文时,最多等待多久才放弃。默认值为 `0`,即不设总截止:会话再大、加载再慢也一直等。如果你更希望卡住的读取尽快失败,就设一个秒数。
|
|
66
|
+
|
|
67
|
+
阅读超时只约束「等多久」,不限制「能读多少」。改动后的值对**下一次**读取生效——不会中断已经在跑的读取,也不会触发重连。除非你确实想要一个上限,否则保持 `0`。这两项是界面设置,不是 `config.toml` 里的键;决定多少历史留在服务端内存里的是另一套预算,见 [`transcript_memory`](../configuration/config-files.md#transcript-memory)。
|
|
68
|
+
|
|
60
69
|
## 关于与更新
|
|
61
70
|
|
|
62
|
-
**设置 → 关于与更新**
|
|
71
|
+
**设置 → 关于与更新** 显示当前版本,更新设置都在这里。**更新通道**选择 Stable 或 Beta,自动检查和手动检查都按这里的通道走。**自动检查更新**开关控制每天那次检查,关掉之后就只有点**检查更新**才会检查。**发现新版本时**决定那时怎么做:**通知我**弹出对话框,显示版本号和一小段变更摘要并等你决定;**下载并安装**则自己开始安装,不走那个对话框。两种模式都会在关闭还有运行中任务的空间之前先问你。
|
|
72
|
+
|
|
73
|
+
对话框的三个选择会被记住,不会每次重来:**明天再提醒我** 24 小时后再问,**跳过此版本**只让该通道的这个版本安静下来,两个方式下更新的版本都还会提示。安装前 Kiki 会重新核一遍通道和版本,底下已经变了的更新提议会被拒绝。某个选择没能保存时,对话框会留在原地请你重试。见 [Kiki 桌面版](../getting-started/desktop-app.md#更新)。
|
|
63
74
|
|
|
64
75
|
## 智能体
|
|
65
76
|
|
|
66
77
|
**设置 → 智能体** 选择一个工作区,查看其默认主 Agent 配置档案(profile)、生效来源和 subagent 能力。文件型 profile 可在其显示的来源处直接编辑。**设置 → 智能体 → 提示词字段** 编辑 `config.toml` 中的 `[prompt]` 提示词字段覆写段;卡片默认折叠——编辑前先展开。见 [Agent 与 subagent](../customization/agents.md#派遣能力可见性) 和[提示词字段与覆写](../customization/prompt-fields.md)。
|
|
67
78
|
|
|
68
|
-
|
|
79
|
+
长期记忆维护提醒按自己的周期运行。若只想停掉这些提醒、保留新的持续指示和压缩前检查,在 `config.toml` 中设置 `memory_maintenance = false`;记忆工具、审批和任务笔记照常可用。见[连续性提醒设置](../configuration/config-files.md#连续性提醒设置)。
|
|
80
|
+
|
|
81
|
+
## 通知与消息
|
|
82
|
+
|
|
83
|
+
**设置 → 通知与消息 → 系统通知**里的**允许系统通知**控制本设备的会话通知和跨空间待处理提醒。默认开启的**对话结束后通知**沿用 Kiki 在后台或隐藏时的通知途径。这里的结束是本次交办工作已收尾:主智能体已回复完毕,有限后台任务与 subagent 已收尾,结果和自动续跑也已处理完。仅一轮结束不会通知。常驻服务器、监听器和未来定时任务不会一直阻止通知;等待审批、提问、失败和用户停止不算完成。浏览器使用需要允许本站发送通知;若已拒绝,可在地址栏的网站权限中恢复。
|
|
84
|
+
|
|
85
|
+
手机或团队群的已配置通道,在各通道里开启**对话结束后通知**,采用同一工作收尾判定。**发送通知**仍是这些通道单独的总开关;之前关闭的总开关、连接和通道保持关闭。新配置默认开启,**跳过短任务**默认 `0` 秒,短答也能通知;提高此值只筛掉通道中的短任务通知,不改变完成的含义。系统通知开关保存在当前设备,通道规则保存在所连服务端;启动或重连不会补发旧的完成通知。
|
|
69
86
|
|
|
70
87
|
## 搜索与抓取
|
|
71
88
|
|
|
72
89
|
**设置 → 搜索与抓取 → 概览与配置来源** 查看内置搜索与抓取模块(`WebSearch` 和 `FetchURL` 两个工具背后的能力)当前生效的配置来源,并控制服务器是否复用本机的搜索配置。对应的配置位于 `config.toml` —— 见[配置文件](../configuration/config-files.md#nb-search)。
|
|
73
90
|
|
|
91
|
+
同一处的**高级与诊断**标签页里有一张**全文索引**卡片,用于搜索你自己的会话历史。首次索引在后台建立,优先处理最近的会话,卡片会显示已完成的数量。如果索引因可处理的原因停下,这张卡片会出现**重启索引程序**按钮;索引被配置关闭或不可用时则没有可重启的对象,卡片直接说明原因。
|
|
92
|
+
|
|
74
93
|
## 浏览器控制
|
|
75
94
|
|
|
76
|
-
**设置 → 浏览器控制**(`/settings/browser-control
|
|
95
|
+
**设置 → 浏览器控制**(`/settings/browser-control`)的第一屏是三个具名的接入方式。你挑一个,配置它,连接它——通常两步。
|
|
96
|
+
|
|
97
|
+
- **Kimi 浏览器扩展**:驱动你自己在用的浏览器,带着你自己的登录状态。Kiki 装插件和本地桥接程序;扩展要去浏览器商店加一次,那一步只能由你点,Kiki 不会替你越过。
|
|
98
|
+
- **独立浏览器**:由 Kiki 启动并维护自己的浏览器,登录状态独立,不碰你日常用的浏览器。**一键配置**下载并校验所需组件,之后 **连接** 启动它。
|
|
99
|
+
- **Codex / ChatGPT 浏览器扩展**:由 Codex / ChatGPT 桌面端控制,不由 Kiki 安装或连接;这一项只给出官方说明链接。
|
|
100
|
+
|
|
101
|
+
每一项都写着自己的状态和**还差哪一步**,并把下一步放在同一行:缺组件时是**一键配置**,只差商店授权时是商店链接,只差开关时是**开启浏览器控制**。Kiki 能装的都装好之后,这一项就不再催你安装,而是告诉你可以连了。检测器自己的话(哪些环节只是「报告」而非「验证」)收在**此服务检测了什么**折叠里,不占第一屏。
|
|
102
|
+
|
|
103
|
+
**开启浏览器控制**就是同一个同意动作,就在本页。只差这个开关时,那一次确认会补上还缺的组件(组件已齐则一个都不装)、启用插件,并为这台服务开启浏览器控制——三项在确认前都会写明。浏览器控制默认关闭,所以这一步就是把它打开的地方,不必去别的页面找开关。
|
|
77
104
|
|
|
78
|
-
|
|
105
|
+
如果本页之外有东西把浏览器控制关着——某个环境变量,或该主机上的运行时覆盖——这里任何操作都改不动。该项会直说这一点,而不是给一个按了也没用的按钮;**看是什么把它关着**会指出具体的覆盖来源。
|
|
79
106
|
|
|
80
|
-
|
|
81
|
-
- **已有或远端浏览器(CDP):** 附着到已经开放 CDP 地址的浏览器,不新启动任何东西。该地址指向浏览器所在的那台机器,可能是另一台机器。
|
|
107
|
+
**高级:编辑已有连接,或接上一个你自己已经开着的浏览器**折叠区里是手填的部分:每条连接有固定 id、显示名称、启用开关,以及两种指向不同目标的接法之一——
|
|
82
108
|
|
|
83
|
-
|
|
109
|
+
- **独立 Agent 浏览器(Profile)**:Kiki 在服务机上启动并管理它自己的浏览器,使用它自己的 profile(登录态),不会复制你日常浏览器的 cookie。可选:改用已安装的 Chrome 或 Edge,以及**显示浏览器窗口**(默认关闭,即无头运行)。
|
|
110
|
+
- **已有或远端浏览器(CDP)**:附着到已经开放 CDP 地址的浏览器,不新启动任何东西。该地址指向浏览器所在的那台机器,可能是另一台机器。
|
|
84
111
|
|
|
85
|
-
|
|
112
|
+
每条连接都可以单独**检查**、**连接**、**断开控制**。检查会启动受管驱动并读取会话与标签状态,CDP 连接则与端点握手并列出目标,两者都不会打开页面。保存只写配置,并会先结束该连接当前正在运行的会话。**断开**释放该连接:借用的 CDP 浏览器保留,Kiki 启动的实例会关闭。**新会话默认浏览器**只对新创建的会话生效;关闭一条连接不会自动换上另一条。
|
|
86
113
|
|
|
87
|
-
|
|
114
|
+
驱动,以及 Kiki 启动的任何浏览器,都运行在 Kiki 服务机上,而不是显示这个窗口的设备上;组件存放在运行它们那台机器的 `<Kiki home>/browser/resources` 下。
|
|
115
|
+
|
|
116
|
+
Agent 通过[浏览器工具](../reference/tools.md#浏览器类)使用这些连接,并且只按连接 id 指定,不按显示名称。开关与连接本身分别保存在 [`[experimental]`](../configuration/config-files.md#experimental) 和 [`[browser_control]`](../configuration/config-files.md#browser-control)。
|
|
88
117
|
|
|
89
118
|
## 电脑控制
|
|
90
119
|
|
|
91
120
|
**设置 → 电脑控制**通过一个固定版本的开源执行器,控制运行 Kiki 服务的那台机器的桌面。默认没有安装或配置任何东西,所以页面初始为空。
|
|
92
121
|
|
|
93
|
-
|
|
122
|
+
**安装执行器**会下载并校验该发行物,然后注册一条名为 `kiki-computer` 的全局 MCP 连接(驱动路径加上 `mcp` 参数)。**已安装**只表示文件校验通过——不代表真的能控制桌面,安装过程也不会去检查这一点。页面会说明将被控制的机器:**Kiki 服务机**就是当前连接的服务,因此在远端或 SSH 连接下,桌面属于那台主机自己的图形会话。
|
|
94
123
|
|
|
95
|
-
Agent 通过现有 MCP
|
|
124
|
+
Agent 通过现有 MCP 机制与权限使用执行器自带的工具——见 [MCP](../server/mcp.md)。固定版 Windows 执行器只观察主屏,无法自行选择显示器。macOS 上桌面权限由调用进程承载,需要时在驱动报告缺失处授予。
|
|
96
125
|
|
|
97
|
-
**停止控制**会结束本服务启动的 cua
|
|
126
|
+
**停止控制**会结束本服务启动的 cua 进程并停用可编辑连接的配置;其他客户端或另一个 Kiki 实例可能仍在操作该桌面。
|
|
98
127
|
|
|
99
128
|
## 输入框(Composer)
|
|
100
129
|
|
|
@@ -108,15 +137,13 @@ Agent 通过现有 MCP 机制与权限使用执行器自带的工具,Kiki 不
|
|
|
108
137
|
|
|
109
138
|
### 提示词生效详情
|
|
110
139
|
|
|
111
|
-
在会话标题栏打开 **⋯ →
|
|
140
|
+
在会话标题栏打开 **⋯ → 提示词生效详情**。抽屉独立于右侧栏,窄屏也能打开,显示当前 Agent 身份、profile、模型与执行器,提示词通道及来源顺序,各字段覆写状态与原因,文件位置和 cognition anchor 的作用域。
|
|
112
141
|
|
|
113
|
-
|
|
142
|
+
绑定与磁盘版本有助于识别改动的来源文件。要真正重新加载会话的提示词来源,请在会话空闲后使用[重建上下文](../customization/agents.md#重建会话上下文)。**检查所有分支**是另一项操作,只查看已配置的共用、主 Agent 与独立 Agent 提示词文件,不切换当前身份。
|
|
114
143
|
|
|
115
144
|
### 驾驶舱
|
|
116
145
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
选择**标准**或**退出驾驶舱**,会恢复原来的预览内容、标签、草稿和宽度。退出驾驶舱后标准右侧面板仍打开,隐藏面板是另一项操作。打开文件、Agent 详情或 Skill 预览也会退出驾驶舱,恢复预览工作区。驾驶舱的临时宽度不会覆盖已保存的标准面板宽度。
|
|
146
|
+
桌面宽度下,右侧面板标题栏的**标准 / 驾驶舱(Standard / Cockpit)**在常规宽度和加宽并接管预览区之间切换。两种状态下对话与输入框都留在主栏;选**标准**或**退出驾驶舱**会恢复原来的预览内容、标签、草稿和宽度。打开文件、Agent 详情或 Skill 预览同样会退出驾驶舱。
|
|
120
147
|
|
|
121
148
|
## Usage
|
|
122
149
|
|
|
@@ -126,14 +153,18 @@ Agent 通过现有 MCP 机制与权限使用执行器自带的工具,Kiki 不
|
|
|
126
153
|
- **实时(Live):** 本服务所有会话的原生请求运行数与排队数。展开「请求详情」可看模型、供应商、角色维度,以及排队行的阻塞规则 ID 与等待时间;连接失败时标明最后计数已过期。同一标签内的「并发限制」可新增或编辑规则,选择模型或供应商目标,设置全服务共享或每会话独立的上限。开关可暂停规则,不删除其内容;保存后对新请求与排队请求生效,不终止已在途的流。
|
|
127
154
|
- **外部同步(External sync):** 接收本服务自己用量的目的地,有三种:**vibecafe.ai**、**Kiki webhook** 和**脚本(Script)**。外送的只有模型、UTC 半小时、四项 Token 计数、质量与费用——不含提示词、回复、标题、工作区名或路径。
|
|
128
155
|
|
|
156
|
+
**vibecafe.ai** 目的地直接在页面上登录:点**登录 VibeCafe**,用页面给出的码在浏览器里批准,页面会报告结果。这里没有需要复制的授权码,也没有地址、client id 或密钥要填——目的地固定是 `https://vibecafe.ai`。自定义地址、或者你自己提供的密钥属于高级路径。这个登录属于实验功能 `usage_export` 的一部分,该流程尚未对线上服务实际跑通过:若没有走完,目的地会保持页面当时的状态,并且没有发出任何数据。
|
|
157
|
+
|
|
158
|
+
**Kiki webhook** 目的地填写你自己的 HTTPS 端点,认证可选 `none`、`bearer` 或 `hmac`,并可开启 gzip。密钥要么存进系统钥匙串,要么由你显式选择存成服务器上的私有文件——钥匙串失败会直接报错,不会悄悄改成文件;私有文件靠文件系统权限保护,并非静态加密。
|
|
159
|
+
|
|
129
160
|
已有 `/usage?panel=limits` 链接会打开「实时」并定位到并发规则区,不再有单独的「限制」标签。
|
|
130
161
|
|
|
131
|
-
外送功能在本服务打开 `usage_export`
|
|
162
|
+
外送功能在本服务打开 `usage_export` 标志前保持关闭。登录并不改变这一点:批准的凭据只是被存下来,目的地仍是**停用**状态,也没有给过任何同意——所以原来的顺序依然成立,选目的地、预览确切内容、同意一次,再启用。没有同意过的目的地不会发送数据。扩大时间范围、更换端点,或凭据换成了另一个身份时需要重新同意,缩小范围或调整周期不需要。暂停保留队列,移除会询问是否丢弃排队数据,请服务方删除它已持有的用量则是另一项操作。命令行侧的对应做法见 [`kiki usage-export`](../reference/command.md#kiki-usage-export)。
|
|
132
163
|
|
|
133
|
-
**脚本**目的地以你自己的 OS
|
|
164
|
+
**脚本**目的地以你自己的 OS 用户和普通权限运行你的命令——它可以自行读取文件或访问网络,这不是沙箱。Kiki 只把不含内容的批次写入它的 stdin,并从输出读取 receipt(回执)。
|
|
134
165
|
|
|
135
|
-
请求看似卡住时,先打开「实时 → 请求详情」再改上限:排队行会指明本地阻塞规则,供应商 HTTP 429
|
|
166
|
+
请求看似卡住时,先打开「实时 → 请求详情」再改上限:排队行会指明本地阻塞规则,供应商 HTTP 429 要看供应商自己的报错;本地队列满、等待超时、立即拒绝需要不同的调整。字段、示例与错误码见 [`request_governance`](../configuration/config-files.md#request-governance)。这些规则管辖的是本服务自己发出的模型请求:当你把一轮交给 Codex、Claude Code 或 Grok Build 当引擎时,那些请求属于引擎自己,不计入这里;而外部工具回过头来让 Kiki 跑原生请求,则照常计入。
|
|
136
167
|
|
|
137
168
|
## CLI 侧对应
|
|
138
169
|
|
|
139
|
-
TUI
|
|
170
|
+
TUI 没有**设置**对话框。终端侧的偏好(主题、编辑器等)在 `tui.toml` 里配置,或用交互命令 `/config`、`/theme`、`/editor`——见 [`tui.toml`](../configuration/config-files.md#tui-toml)。Agent 与运行时设置在 `config.toml`。
|
package/dist/docs/zh/index.md
CHANGED
|
@@ -18,17 +18,23 @@ features:
|
|
|
18
18
|
- title: 一个工作台,好几条线
|
|
19
19
|
details: 主会话派子智能体,每个角色跑你为它选定的模型;耗时命令丢进后台,跑完自动回报。
|
|
20
20
|
link: ./features/workbench
|
|
21
|
+
- title: Agent Profiles
|
|
22
|
+
details: 一份 Markdown 描述一类智能体:跑哪个模型、怎么指示、能用哪些工具、能派发谁,写一次到处复用。
|
|
23
|
+
link: ./features/agents
|
|
21
24
|
- title: 长时间的活
|
|
22
25
|
details: 跨轮次推进的目标、它忙时你先排的队、定时提示词、每个工作区一块任务看板,以及比会话活得更久的记忆。
|
|
23
26
|
link: ./features/long-work
|
|
24
27
|
- title: 能一起干活的人
|
|
25
28
|
details: 角色是长期身份:有自己的记忆、固定的日常对话入口,还能进房间和别的角色一起讨论同一个话题。
|
|
26
29
|
link: ./features/people
|
|
30
|
+
- title: 知道花了多少
|
|
31
|
+
details: 用量页回答三个问题:这个区间花了多少、是哪条并发规则挡住了请求、这些不含内容的统计能送到哪儿。
|
|
32
|
+
link: ./features/daily
|
|
27
33
|
- title: 数据与机器都在你手上
|
|
28
34
|
details: 各自带凭据的空间、有方向的远端连接、单向 thread bridge、Web 访问,以及会话内 SSH。
|
|
29
35
|
link: ./features/spaces
|
|
30
36
|
- title: 每一层都归你
|
|
31
|
-
details:
|
|
37
|
+
details: 提示词细到单个工具描述,连接和 OAuth 一张列表,权限模式你定,hooks 跑你自己的脚本。
|
|
32
38
|
link: ./features/freedom
|
|
33
39
|
- title: 带过来,也接得进外面
|
|
34
40
|
details: 把别的工具的对话导进来接着做,在编辑器里通过 ACP 用 Kiki,或者让 Kiki 把别的智能体 harness 当引擎。
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# kiki 命令
|
|
2
2
|
|
|
3
|
-
`kiki`
|
|
3
|
+
`kiki` 是 Kiki 的命令行入口,提供交互式 TUI、非交互 `-p` 模式和共享 daemon 控制。无参数运行时在工作区信任后连接已有 daemon,不存在则启动;`kiki -p` 执行单条提示词后退出。显式管理 daemon 用 `kiki serve`,需要前台服务和浏览器界面时用 `kiki web`。席位和 MCP 子命令供 Cursor、Claude Code、Codex 等外部调用方调用 Kiki。
|
|
4
4
|
|
|
5
5
|
```sh
|
|
6
6
|
kiki [options]
|
|
7
7
|
kiki <subcommand> [options]
|
|
8
8
|
```
|
|
9
9
|
|
|
10
|
-
交互式会话始终使用共享后台服务(daemon)。确认工作目录可信后,CLI
|
|
10
|
+
交互式会话始终使用共享后台服务(daemon)。确认工作目录可信后,CLI 会连接已有服务,或自动启动一个。失败时 Kiki 会直接显示错误,不会回退到另一个独立的本地会话——按错误提示排除问题后重新运行命令。
|
|
11
11
|
|
|
12
12
|
交互模式要求 stdin 和 stdout 都是终端。任一端接入管道或重定向时,运行会在触及工作区信任和 daemon 之前结束,Kiki 不会自动切换到非交互模式。需要从管道传入提示词时,用 `kiki -p -`,由 Kiki 从 stdin 读取。
|
|
13
13
|
|
|
@@ -265,7 +265,11 @@ Vibe 目的端使用 `{ "kind": "vibe", "endpoint": "https://example.com/api/usa
|
|
|
265
265
|
- `clear-queue <id> --agree` 明确丢弃待发数据并停用该目的端。`remove <id>` 清除本地配置及其凭据;只有确实要丢弃现存队列时才添加 `--discard-pending`。两者都不删除远端历史,并保留必要的交付身份/版本依据。
|
|
266
266
|
- `withdraw <id> --agree` 仅向支持删除的接收端发送带版本的删除墓碑,不删除本地用量;vibe 不支持此操作。
|
|
267
267
|
|
|
268
|
-
已有 vibe collector 时,先在新原生草稿上执行 `handoff plan <id>`,再按返回的 namespace 和未来 UTC 截止 **T** 准备 collector 的 `kiki-handoff.json`,并执行原生 `preview`、`test
|
|
268
|
+
已有 vibe collector 时,先在新原生草稿上执行 `handoff plan <id>`,再按返回的 namespace 和未来 UTC 截止 **T** 准备 collector 的 `kiki-handoff.json`,并执行原生 `preview`、`test`。
|
|
269
|
+
|
|
270
|
+
`handoff arm <id> --collector-file <file> --fingerprint <preview_fingerprint> --agree` 用已保存的原生凭据核对证明,激活该 home 的旧 collector 截止,并启用从固定 T 起的原生交付。它不读取旧 collector 的 key、不停止 daemon;不同 key 不会被当成同账号证明。
|
|
271
|
+
|
|
272
|
+
旧端负责 `<T`,原生负责 `>=T`,离线回补仍保留 T,不按 ACK 时间移动。`handoff refresh <id>` 读取旧端安全的最后回执;同时有旧回执和真实原生 ACK 才算完成。`handoff rollback <id> --cutoff <new_future_R> --agree` 保留原生负责 `[T,R)`,旧端从 `>=R` 恢复,而不是无界重扫旧历史。
|
|
269
273
|
|
|
270
274
|
接收端开发者可在仓库中运行 `pnpm exec tsx packages/kap-server/examples/usage-export-receiver.ts`(Node 24)。示例只监听 `127.0.0.1:9080`,在 `usage-receiver.sqlite` 持久保存替换版本和删除墓碑,提供 `POST /usage`。测试时须批准准确的 loopback HTTP grant。生产接收端应提供 TLS、持久存储和鉴权;示例不是托管看板。
|
|
271
275
|
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
# 键盘快捷键
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
本页先介绍 GUI 的线程导航,再按使用场景列出 TUI 键位:通用输入、模式切换、编辑、流式输出、工具输出、审批面板和帮助浏览。在 TUI 中输入 `/help` 可查看命令用法、说明、支持状态及输入快捷键。
|
|
4
|
+
|
|
5
|
+
## 桌面版与网页版线程导航
|
|
6
|
+
|
|
7
|
+
在 GUI 的设置 → 快捷键中,可以重绑定**下一个正在运行的线程**和**上一个正在运行的线程**,默认分别为 `Ctrl-Tab` 和 `Ctrl-Shift-Tab`。浏览器占用这两个切换标签页的键位,网页版请改用其他快捷键。已有自定义键位保持不变;如果已有自定义动作占用了 `Ctrl-Shift-Tab`,新增的上一个线程动作会保持未绑定,直到你为它分配空闲键位。
|
|
8
|
+
|
|
9
|
+
这两个动作在当前窗口会话列表中已加载的运行会话之间循环,范围沿用当前连接以及已获取的工作区、归档范围。顺序按创建时间从新到旧,不按置顶或最近更新时间。当前线程不在运行集合中时,下一个进入首项,上一个进入末项。没有运行线程时不跳转;只有一个时停留在该线程。
|
|
10
|
+
|
|
11
|
+
运行会话指主 Agent 或 subagent 有活动轮次,或仍有后台工作。只有待审批、待回答、未读输出或置顶标记,不会使会话进入运行集合;仍有工作在运行的会话即使同时需要你处理,也保留在集合中。
|
|
12
|
+
|
|
13
|
+
通过这两个快捷键、侧栏或快速切换器切换对话后,当前可输入的消息框就绪时会获得一次焦点。草稿及未改变草稿的选区会保留,时间线不会被滚动到消息框。已打开的对话框和终端输入保留焦点;普通 Tab、Shift-Tab 和输入法文字输入不受影响。
|
|
4
14
|
|
|
5
15
|
## 通用快捷键
|
|
6
16
|
|
|
@@ -29,7 +39,7 @@ Kiki 的 TUI 键位按使用场景分组:通用输入、模式切换、编辑
|
|
|
29
39
|
|
|
30
40
|
按 `Shift-Tab` 可开启或关闭 Plan 模式。开启后,Agent 会优先使用只读工具进行研究和规划,并可写入当前计划文件;`Bash` 按当前权限模式和普通规则处理,不会因 Plan 模式额外发起独立审批。单纯切换模式不会创建空计划文件。再次按 `Shift-Tab` 退出 Plan 模式。
|
|
31
41
|
|
|
32
|
-
在空输入框中键入 `!` 进入 Shell
|
|
42
|
+
在空输入框中键入 `!` 进入 Shell 模式,可直接运行终端命令。详见[交互与输入](../guides/interaction.md#shell-模式)。
|
|
33
43
|
|
|
34
44
|
## 输入与编辑
|
|
35
45
|
|
|
@@ -60,8 +70,12 @@ Kiki 的 TUI 键位按使用场景分组:通用输入、模式切换、编辑
|
|
|
60
70
|
| --- | --- |
|
|
61
71
|
| `Esc` | 中断当前流式输出 |
|
|
62
72
|
| `Ctrl-C` | 先清空非空草稿;输入框为空时中断活动轮次 |
|
|
63
|
-
| `Ctrl-S` |
|
|
64
|
-
| `Ctrl-B` |
|
|
73
|
+
| `Ctrl-S` | 引导当前轮次:把排队消息和输入框草稿立刻送进正在运行的这一轮,而不是等它结束 |
|
|
74
|
+
| `Ctrl-B` | 把正在运行的这一轮转入后台,你可以接着排下一条指令 |
|
|
75
|
+
|
|
76
|
+
`Ctrl-S` 按排队顺序引导。Shell 命令(`! …`)和内联 Skill 调用不会被引导进去——它们留在队列里,等当前轮次结束后执行,排在它们后面的内容也一并等待。
|
|
77
|
+
|
|
78
|
+
在 daemon TUI(`kiki web`)里这两个快捷键都不可用,会提示已禁用。
|
|
65
79
|
|
|
66
80
|
## 工具输出
|
|
67
81
|
|
|
@@ -23,15 +23,15 @@ Kiki 的模型选择把三件事分开:配置文件里的模型键、派发 su
|
|
|
23
23
|
2. 生效 profile、route 或调用方 lease(caller lease,外部委派方为调用方预设的约束)上的 `model_alias` pin。
|
|
24
24
|
3. 显式配置的 `[subagent].default_model`。
|
|
25
25
|
|
|
26
|
-
这些来源都不存在时,派生以 `model.not_configured` 失败;调用方模型与主 Agent 的 `default_model` 都不是静默回退来源。在 profile、route 或 caller lease
|
|
26
|
+
这些来源都不存在时,派生以 `model.not_configured` 失败;调用方模型与主 Agent 的 `default_model` 都不是静默回退来源。在 profile、route 或 caller lease 上写 `model_alias: inherit`,才会绑定调用方当前的模型与思考强度;工具显式 `effort` 或适用的 effort pin 优先。`AgentRun` 本身拒绝 `model_alias: "inherit"`——请写具体的已配置模型名,或省略参数以使用目标默认模型。未知 alias 或命中禁止列表的模型会在子 Agent 启动前失败。选一个不在 `preferred_models` / `discouraged_models` 里的模型是可以的,只要它仍在所有硬模型与档位限制之内。
|
|
27
27
|
|
|
28
28
|
恢复或重试的 subagent 会保持已持久化的绑定,除非 `AgentRun` 的 `resume` 显式请求修改。同时省略 `model_alias` 与 `effort` 会保留已有绑定;显式传入的 effort 应用于下一次空闲运行。`AgentRun` 恢复时同样拒绝 `model_alias: "inherit"`;显式换模请写具体模型名,或省略参数以保留已保存模型。切换到不同规范模型需要传 `allow_model_change: true`;如果解析到同一规范模型,则不产生模型变化。
|
|
29
29
|
|
|
30
30
|
## Agent 文件与 routes
|
|
31
31
|
|
|
32
|
-
Agent 文件与 profile route sidecar 使用 `model_alias` 固定模型;main agent 没有调用方,其 profile 不可使用 `inherit`。旧字段 `model_preference`
|
|
32
|
+
Agent 文件与 profile route sidecar 使用 `model_alias` 固定模型;main agent 没有调用方,其 profile 不可使用 `inherit`。旧字段 `model_preference` 会被拒绝并给出迁移提示,其他工具留下的未知 `model` 元数据同样会加载失败——请删掉不支持的字段,不要指望它们被忽略。
|
|
33
33
|
|
|
34
|
-
Route 声明的 `model_alias`
|
|
34
|
+
Route 声明的 `model_alias` 是软默认值;`preferred_models`、`discouraged_models`、`preferred_efforts` 是建议。`allowed_models`、`deny_models`、`allowed_efforts` 是硬限制:在 subagent 中越界会拒绝绑定、人工切换或恢复;在主会话中以你的选择为准,越界只警示。`[subagent].deny_models` 是另一道硬限制。原生模型列表比较规范身份,外部 executor 比较它实际调用的生效模型 ID。
|
|
35
35
|
|
|
36
36
|
## 按身份区分的设置
|
|
37
37
|
|
|
@@ -41,13 +41,11 @@ Route 声明的 `model_alias` 是软默认值。Subagent 的覆盖可执行且
|
|
|
41
41
|
- **主智能体**:模型作为主智能体时生效,与当前由哪个 profile 持有无关。未填的字段继续继承。
|
|
42
42
|
- **外部委派智能体**:外部宿主委派进来的智能体。未填的字段继续继承。
|
|
43
43
|
|
|
44
|
-
身份说的是模型在为谁服务,而不是选了哪个 profile,所以切换 profile
|
|
44
|
+
身份说的是模型在为谁服务,而不是选了哪个 profile,所以切换 profile 不会丢掉这一层。覆盖提示词或认知字段是另一套机制:它们整组替换,而这里的设置逐字段修改。清空某个覆盖即恢复共用值。`usage_effective` 与 `usage_sources` 报告各身份实际解析到的值及其来源;它们描述模型自身的解析结果,不包含 profile pin 或会话覆盖。
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
上下文使用预算与最大生成 token 是上限而非偏好:生效值取共用上限与身份值中的较小者,因此身份只能收紧,不能放宽到超出模型允许的范围。
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
在设置 › 模型中,模型编辑器默认展示共用值;切到主智能体只看并编辑该身份的差异,编辑器会显示每个字段继承自哪里、最终生效值是多少。服务端没有这一层的模型,本来就没有可编辑的差异。
|
|
48
|
+
在设置 › 模型中,模型编辑器默认展示共用值;切到主智能体只看并编辑该身份的差异,编辑器会显示每个字段继承自哪里、最终生效值是多少。
|
|
51
49
|
|
|
52
50
|
## 模型 ID 解析
|
|
53
51
|
|
|
@@ -130,7 +130,7 @@ Kiki 随包内置了一组 Skill,直接以 `/<name>` 形式出现在斜杠命
|
|
|
130
130
|
|
|
131
131
|
已激活的外部 Skill 会自动注册为斜杠命令。普通外部 Skill 以 `skill:` 作为命名空间前缀:
|
|
132
132
|
|
|
133
|
-
```
|
|
133
|
+
```text
|
|
134
134
|
/skill:<name> [附加文本]
|
|
135
135
|
```
|
|
136
136
|
|
|
@@ -138,7 +138,7 @@ Kiki 随包内置了一组 Skill,直接以 `/<name>` 形式出现在斜杠命
|
|
|
138
138
|
|
|
139
139
|
外部子 Skill 会直接以点分名称出现在斜杠命令面板中:
|
|
140
140
|
|
|
141
|
-
```
|
|
141
|
+
```text
|
|
142
142
|
/<parent-skill>.<sub-skill> [附加文本]
|
|
143
143
|
```
|
|
144
144
|
|
|
@@ -146,7 +146,7 @@ Kiki 随包内置了一组 Skill,直接以 `/<name>` 形式出现在斜杠命
|
|
|
146
146
|
|
|
147
147
|
为方便输入,外部 Skill 命令同时支持省略 `skill:` 前缀的简写形式 `/<name>`,前提是该名称未被系统斜杠命令占用——即 `/code-style` 会回退匹配到 `/skill:code-style`。
|
|
148
148
|
|
|
149
|
-
:::
|
|
149
|
+
::: tip 说明
|
|
150
150
|
所有 Skill 命令仅在空闲状态下可用。`flow` 类型的 Skill 同样通过 `/skill:<name>` 暴露,没有独立的 `/flow:` 命名空间。
|
|
151
151
|
:::
|
|
152
152
|
|