@qlingzzy/qling 1.0.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/CHANGELOG.md +122 -0
- package/LICENSE +21 -0
- package/README.en.md +129 -0
- package/README.md +416 -0
- package/dist/agent/subtask.d.ts +21 -0
- package/dist/agent/subtask.d.ts.map +1 -0
- package/dist/agent/subtask.js +55 -0
- package/dist/agent-loop.d.ts +151 -0
- package/dist/agent-loop.d.ts.map +1 -0
- package/dist/agent-loop.js +1498 -0
- package/dist/agents/isolation-policy.d.ts +14 -0
- package/dist/agents/isolation-policy.d.ts.map +1 -0
- package/dist/agents/isolation-policy.js +52 -0
- package/dist/channels/console-channel.d.ts +15 -0
- package/dist/channels/console-channel.d.ts.map +1 -0
- package/dist/channels/console-channel.js +66 -0
- package/dist/channels/registry.d.ts +10 -0
- package/dist/channels/registry.d.ts.map +1 -0
- package/dist/channels/registry.js +25 -0
- package/dist/channels/slack-channel.d.ts +35 -0
- package/dist/channels/slack-channel.d.ts.map +1 -0
- package/dist/channels/slack-channel.js +232 -0
- package/dist/channels/telegram-channel.d.ts +32 -0
- package/dist/channels/telegram-channel.d.ts.map +1 -0
- package/dist/channels/telegram-channel.js +167 -0
- package/dist/channels/types.d.ts +31 -0
- package/dist/channels/types.d.ts.map +1 -0
- package/dist/channels/types.js +4 -0
- package/dist/cli/bootstrap.d.ts +39 -0
- package/dist/cli/bootstrap.d.ts.map +1 -0
- package/dist/cli/bootstrap.js +138 -0
- package/dist/cli/channel-bootstrap.d.ts +23 -0
- package/dist/cli/channel-bootstrap.d.ts.map +1 -0
- package/dist/cli/channel-bootstrap.js +46 -0
- package/dist/cli/daemon-control.d.ts +31 -0
- package/dist/cli/daemon-control.d.ts.map +1 -0
- package/dist/cli/daemon-control.js +177 -0
- package/dist/cli/guidance-panel.d.ts +11 -0
- package/dist/cli/guidance-panel.d.ts.map +1 -0
- package/dist/cli/guidance-panel.js +16 -0
- package/dist/cli/mcp-control.d.ts +7 -0
- package/dist/cli/mcp-control.d.ts.map +1 -0
- package/dist/cli/mcp-control.js +119 -0
- package/dist/cli/mission-views.d.ts +13 -0
- package/dist/cli/mission-views.d.ts.map +1 -0
- package/dist/cli/mission-views.js +82 -0
- package/dist/cli/setup.d.ts +9 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +140 -0
- package/dist/cli/startup-contract.d.ts +23 -0
- package/dist/cli/startup-contract.d.ts.map +1 -0
- package/dist/cli/startup-contract.js +694 -0
- package/dist/commands/agents.d.ts +3 -0
- package/dist/commands/agents.d.ts.map +1 -0
- package/dist/commands/agents.js +44 -0
- package/dist/commands/checkpoint.d.ts +3 -0
- package/dist/commands/checkpoint.d.ts.map +1 -0
- package/dist/commands/checkpoint.js +52 -0
- package/dist/commands/claude-style.d.ts +12 -0
- package/dist/commands/claude-style.d.ts.map +1 -0
- package/dist/commands/claude-style.js +560 -0
- package/dist/commands/clear.d.ts +3 -0
- package/dist/commands/clear.d.ts.map +1 -0
- package/dist/commands/clear.js +20 -0
- package/dist/commands/compact.d.ts +3 -0
- package/dist/commands/compact.d.ts.map +1 -0
- package/dist/commands/compact.js +23 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +22 -0
- package/dist/commands/connect.d.ts +3 -0
- package/dist/commands/connect.d.ts.map +1 -0
- package/dist/commands/connect.js +102 -0
- package/dist/commands/context.d.ts +3 -0
- package/dist/commands/context.d.ts.map +1 -0
- package/dist/commands/context.js +13 -0
- package/dist/commands/dashboard.d.ts +3 -0
- package/dist/commands/dashboard.d.ts.map +1 -0
- package/dist/commands/dashboard.js +22 -0
- package/dist/commands/detach.d.ts +3 -0
- package/dist/commands/detach.d.ts.map +1 -0
- package/dist/commands/detach.js +44 -0
- package/dist/commands/distill.d.ts +3 -0
- package/dist/commands/distill.d.ts.map +1 -0
- package/dist/commands/distill.js +23 -0
- package/dist/commands/doctor.d.ts +3 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +13 -0
- package/dist/commands/dream.d.ts +3 -0
- package/dist/commands/dream.d.ts.map +1 -0
- package/dist/commands/dream.js +59 -0
- package/dist/commands/export.d.ts +3 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +18 -0
- package/dist/commands/exports.d.ts +3 -0
- package/dist/commands/exports.d.ts.map +1 -0
- package/dist/commands/exports.js +15 -0
- package/dist/commands/goal.d.ts +3 -0
- package/dist/commands/goal.d.ts.map +1 -0
- package/dist/commands/goal.js +147 -0
- package/dist/commands/help.d.ts +4 -0
- package/dist/commands/help.d.ts.map +1 -0
- package/dist/commands/help.js +75 -0
- package/dist/commands/hooks.d.ts +3 -0
- package/dist/commands/hooks.d.ts.map +1 -0
- package/dist/commands/hooks.js +14 -0
- package/dist/commands/index.d.ts +29 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +417 -0
- package/dist/commands/knowledge.d.ts +8 -0
- package/dist/commands/knowledge.d.ts.map +1 -0
- package/dist/commands/knowledge.js +191 -0
- package/dist/commands/loop.d.ts +3 -0
- package/dist/commands/loop.d.ts.map +1 -0
- package/dist/commands/loop.js +138 -0
- package/dist/commands/mcp.d.ts +3 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +57 -0
- package/dist/commands/memory.d.ts +3 -0
- package/dist/commands/memory.d.ts.map +1 -0
- package/dist/commands/memory.js +215 -0
- package/dist/commands/mission.d.ts +3 -0
- package/dist/commands/mission.d.ts.map +1 -0
- package/dist/commands/mission.js +129 -0
- package/dist/commands/permissions.d.ts +3 -0
- package/dist/commands/permissions.d.ts.map +1 -0
- package/dist/commands/permissions.js +82 -0
- package/dist/commands/privacy.d.ts +3 -0
- package/dist/commands/privacy.d.ts.map +1 -0
- package/dist/commands/privacy.js +13 -0
- package/dist/commands/recap.d.ts +3 -0
- package/dist/commands/recap.d.ts.map +1 -0
- package/dist/commands/recap.js +11 -0
- package/dist/commands/repomap.d.ts +3 -0
- package/dist/commands/repomap.d.ts.map +1 -0
- package/dist/commands/repomap.js +146 -0
- package/dist/commands/resume.d.ts +3 -0
- package/dist/commands/resume.d.ts.map +1 -0
- package/dist/commands/resume.js +42 -0
- package/dist/commands/runtime.d.ts +61 -0
- package/dist/commands/runtime.d.ts.map +1 -0
- package/dist/commands/runtime.js +20 -0
- package/dist/commands/sessions.d.ts +3 -0
- package/dist/commands/sessions.d.ts.map +1 -0
- package/dist/commands/sessions.js +34 -0
- package/dist/commands/shortcuts.d.ts +3 -0
- package/dist/commands/shortcuts.d.ts.map +1 -0
- package/dist/commands/shortcuts.js +12 -0
- package/dist/commands/skill.d.ts +3 -0
- package/dist/commands/skill.d.ts.map +1 -0
- package/dist/commands/skill.js +20 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +31 -0
- package/dist/commands/statusline.d.ts +3 -0
- package/dist/commands/statusline.d.ts.map +1 -0
- package/dist/commands/statusline.js +40 -0
- package/dist/commands/storage.d.ts +3 -0
- package/dist/commands/storage.d.ts.map +1 -0
- package/dist/commands/storage.js +122 -0
- package/dist/commands/tasks.d.ts +3 -0
- package/dist/commands/tasks.d.ts.map +1 -0
- package/dist/commands/tasks.js +117 -0
- package/dist/commands/types.d.ts +14 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/commands/types.js +1 -0
- package/dist/commands/verify.d.ts +3 -0
- package/dist/commands/verify.d.ts.map +1 -0
- package/dist/commands/verify.js +86 -0
- package/dist/config-report.d.ts +35 -0
- package/dist/config-report.d.ts.map +1 -0
- package/dist/config-report.js +100 -0
- package/dist/config.d.ts +217 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +690 -0
- package/dist/context-compactor.d.ts +27 -0
- package/dist/context-compactor.d.ts.map +1 -0
- package/dist/context-compactor.js +489 -0
- package/dist/context-report.d.ts +35 -0
- package/dist/context-report.d.ts.map +1 -0
- package/dist/context-report.js +172 -0
- package/dist/daemon.d.ts +2 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +316 -0
- package/dist/dashboard-server.d.ts +18 -0
- package/dist/dashboard-server.d.ts.map +1 -0
- package/dist/dashboard-server.js +325 -0
- package/dist/discovery-registry.d.ts +28 -0
- package/dist/discovery-registry.d.ts.map +1 -0
- package/dist/discovery-registry.js +106 -0
- package/dist/discovery-types.d.ts +54 -0
- package/dist/discovery-types.d.ts.map +1 -0
- package/dist/discovery-types.js +5 -0
- package/dist/doctor.d.ts +31 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +343 -0
- package/dist/eval/runner.d.ts +10 -0
- package/dist/eval/runner.d.ts.map +1 -0
- package/dist/eval/runner.js +78 -0
- package/dist/eval/tasks.d.ts +3 -0
- package/dist/eval/tasks.d.ts.map +1 -0
- package/dist/eval/tasks.js +179 -0
- package/dist/eval/types.d.ts +31 -0
- package/dist/eval/types.d.ts.map +1 -0
- package/dist/eval/types.js +4 -0
- package/dist/git/auto-commit.d.ts +28 -0
- package/dist/git/auto-commit.d.ts.map +1 -0
- package/dist/git/auto-commit.js +112 -0
- package/dist/guard/approval.d.ts +16 -0
- package/dist/guard/approval.d.ts.map +1 -0
- package/dist/guard/approval.js +68 -0
- package/dist/guard/content-filter.d.ts +15 -0
- package/dist/guard/content-filter.d.ts.map +1 -0
- package/dist/guard/content-filter.js +102 -0
- package/dist/guard/permissions.d.ts +17 -0
- package/dist/guard/permissions.d.ts.map +1 -0
- package/dist/guard/permissions.js +54 -0
- package/dist/guard/rate-limit.d.ts +14 -0
- package/dist/guard/rate-limit.d.ts.map +1 -0
- package/dist/guard/rate-limit.js +47 -0
- package/dist/guard.d.ts +21 -0
- package/dist/guard.d.ts.map +1 -0
- package/dist/guard.js +144 -0
- package/dist/help-topics.d.ts +19 -0
- package/dist/help-topics.d.ts.map +1 -0
- package/dist/help-topics.js +391 -0
- package/dist/hooks-report.d.ts +23 -0
- package/dist/hooks-report.d.ts.map +1 -0
- package/dist/hooks-report.js +44 -0
- package/dist/i18n/index.d.ts +5 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +4 -0
- package/dist/i18n/zh-cn.d.ts +180 -0
- package/dist/i18n/zh-cn.d.ts.map +1 -0
- package/dist/i18n/zh-cn.js +184 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1157 -0
- package/dist/knowledge-agent.d.ts +47 -0
- package/dist/knowledge-agent.d.ts.map +1 -0
- package/dist/knowledge-agent.js +320 -0
- package/dist/local-status-report.d.ts +23 -0
- package/dist/local-status-report.d.ts.map +1 -0
- package/dist/local-status-report.js +63 -0
- package/dist/local-storage-report.d.ts +32 -0
- package/dist/local-storage-report.d.ts.map +1 -0
- package/dist/local-storage-report.js +171 -0
- package/dist/mcp/bridge.d.ts +11 -0
- package/dist/mcp/bridge.d.ts.map +1 -0
- package/dist/mcp/bridge.js +37 -0
- package/dist/mcp/client.d.ts +26 -0
- package/dist/mcp/client.d.ts.map +1 -0
- package/dist/mcp/client.js +209 -0
- package/dist/mcp/http-transport.d.ts +21 -0
- package/dist/mcp/http-transport.d.ts.map +1 -0
- package/dist/mcp/http-transport.js +126 -0
- package/dist/mcp/presets.d.ts +22 -0
- package/dist/mcp/presets.d.ts.map +1 -0
- package/dist/mcp/presets.js +80 -0
- package/dist/mcp/registry.d.ts +23 -0
- package/dist/mcp/registry.d.ts.map +1 -0
- package/dist/mcp/registry.js +85 -0
- package/dist/mcp/stdio-transport.d.ts +25 -0
- package/dist/mcp/stdio-transport.d.ts.map +1 -0
- package/dist/mcp/stdio-transport.js +92 -0
- package/dist/mcp/store.d.ts +41 -0
- package/dist/mcp/store.d.ts.map +1 -0
- package/dist/mcp/store.js +100 -0
- package/dist/mcp/types.d.ts +40 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +4 -0
- package/dist/mcp-report.d.ts +30 -0
- package/dist/mcp-report.d.ts.map +1 -0
- package/dist/mcp-report.js +104 -0
- package/dist/memory/cognitive-index.d.ts +56 -0
- package/dist/memory/cognitive-index.d.ts.map +1 -0
- package/dist/memory/cognitive-index.js +265 -0
- package/dist/memory/compactor.d.ts +28 -0
- package/dist/memory/compactor.d.ts.map +1 -0
- package/dist/memory/compactor.js +92 -0
- package/dist/memory/consolidation.d.ts +13 -0
- package/dist/memory/consolidation.d.ts.map +1 -0
- package/dist/memory/consolidation.js +77 -0
- package/dist/memory/embedding.d.ts +15 -0
- package/dist/memory/embedding.d.ts.map +1 -0
- package/dist/memory/embedding.js +59 -0
- package/dist/memory/memory-llm-dream.d.ts +3 -0
- package/dist/memory/memory-llm-dream.d.ts.map +1 -0
- package/dist/memory/memory-llm-dream.js +59 -0
- package/dist/memory/projection-worker.d.ts +30 -0
- package/dist/memory/projection-worker.d.ts.map +1 -0
- package/dist/memory/projection-worker.js +92 -0
- package/dist/memory/semantic-index.d.ts +18 -0
- package/dist/memory/semantic-index.d.ts.map +1 -0
- package/dist/memory/semantic-index.js +86 -0
- package/dist/memory/wal.d.ts +33 -0
- package/dist/memory/wal.d.ts.map +1 -0
- package/dist/memory/wal.js +131 -0
- package/dist/memory-report.d.ts +120 -0
- package/dist/memory-report.d.ts.map +1 -0
- package/dist/memory-report.js +726 -0
- package/dist/memory.d.ts +149 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +632 -0
- package/dist/metrics/agent-telemetry.d.ts +14 -0
- package/dist/metrics/agent-telemetry.d.ts.map +1 -0
- package/dist/metrics/agent-telemetry.js +44 -0
- package/dist/metrics/collector.d.ts +17 -0
- package/dist/metrics/collector.d.ts.map +1 -0
- package/dist/metrics/collector.js +137 -0
- package/dist/metrics/types.d.ts +14 -0
- package/dist/metrics/types.d.ts.map +1 -0
- package/dist/metrics/types.js +4 -0
- package/dist/mission/manager.d.ts +28 -0
- package/dist/mission/manager.d.ts.map +1 -0
- package/dist/mission/manager.js +208 -0
- package/dist/mission/types.d.ts +37 -0
- package/dist/mission/types.d.ts.map +1 -0
- package/dist/mission/types.js +5 -0
- package/dist/onboarding/tutorial.d.ts +33 -0
- package/dist/onboarding/tutorial.d.ts.map +1 -0
- package/dist/onboarding/tutorial.js +96 -0
- package/dist/output-style.d.ts +14 -0
- package/dist/output-style.d.ts.map +1 -0
- package/dist/output-style.js +29 -0
- package/dist/package-version.d.ts +12 -0
- package/dist/package-version.d.ts.map +1 -0
- package/dist/package-version.js +42 -0
- package/dist/permissions-report.d.ts +42 -0
- package/dist/permissions-report.d.ts.map +1 -0
- package/dist/permissions-report.js +120 -0
- package/dist/pipeline/consistency-checker.d.ts +8 -0
- package/dist/pipeline/consistency-checker.d.ts.map +1 -0
- package/dist/pipeline/consistency-checker.js +40 -0
- package/dist/pipeline/example-generator.d.ts +4 -0
- package/dist/pipeline/example-generator.d.ts.map +1 -0
- package/dist/pipeline/example-generator.js +64 -0
- package/dist/pipeline/hooks.d.ts +68 -0
- package/dist/pipeline/hooks.d.ts.map +1 -0
- package/dist/pipeline/hooks.js +377 -0
- package/dist/pipeline/sections.d.ts +41 -0
- package/dist/pipeline/sections.d.ts.map +1 -0
- package/dist/pipeline/sections.js +244 -0
- package/dist/pipeline/verification.d.ts +12 -0
- package/dist/pipeline/verification.d.ts.map +1 -0
- package/dist/pipeline/verification.js +138 -0
- package/dist/privacy-report.d.ts +24 -0
- package/dist/privacy-report.d.ts.map +1 -0
- package/dist/privacy-report.js +78 -0
- package/dist/providers/presets.d.ts +25 -0
- package/dist/providers/presets.d.ts.map +1 -0
- package/dist/providers/presets.js +205 -0
- package/dist/recap.d.ts +38 -0
- package/dist/recap.d.ts.map +1 -0
- package/dist/recap.js +154 -0
- package/dist/repl.d.ts +41 -0
- package/dist/repl.d.ts.map +1 -0
- package/dist/repl.js +396 -0
- package/dist/runtime-paths.d.ts +32 -0
- package/dist/runtime-paths.d.ts.map +1 -0
- package/dist/runtime-paths.js +134 -0
- package/dist/sdk.d.ts +12 -0
- package/dist/sdk.d.ts.map +1 -0
- package/dist/sdk.js +18 -0
- package/dist/session/daemon-session-api.d.ts +22 -0
- package/dist/session/daemon-session-api.d.ts.map +1 -0
- package/dist/session/daemon-session-api.js +48 -0
- package/dist/session/durable-session-supervisor.d.ts +24 -0
- package/dist/session/durable-session-supervisor.d.ts.map +1 -0
- package/dist/session/durable-session-supervisor.js +195 -0
- package/dist/session/goal-controller.d.ts +43 -0
- package/dist/session/goal-controller.d.ts.map +1 -0
- package/dist/session/goal-controller.js +77 -0
- package/dist/session/goal-evaluator.d.ts +29 -0
- package/dist/session/goal-evaluator.d.ts.map +1 -0
- package/dist/session/goal-evaluator.js +100 -0
- package/dist/session/loop-prompt.d.ts +14 -0
- package/dist/session/loop-prompt.d.ts.map +1 -0
- package/dist/session/loop-prompt.js +49 -0
- package/dist/session/session-goal-manager.d.ts +51 -0
- package/dist/session/session-goal-manager.d.ts.map +1 -0
- package/dist/session/session-goal-manager.js +118 -0
- package/dist/session/session-registry.d.ts +40 -0
- package/dist/session/session-registry.d.ts.map +1 -0
- package/dist/session/session-registry.js +124 -0
- package/dist/session/session-scheduler.d.ts +59 -0
- package/dist/session/session-scheduler.d.ts.map +1 -0
- package/dist/session/session-scheduler.js +170 -0
- package/dist/session-checkpoint-report.d.ts +22 -0
- package/dist/session-checkpoint-report.d.ts.map +1 -0
- package/dist/session-checkpoint-report.js +99 -0
- package/dist/session-export-index.d.ts +23 -0
- package/dist/session-export-index.d.ts.map +1 -0
- package/dist/session-export-index.js +96 -0
- package/dist/session-export.d.ts +28 -0
- package/dist/session-export.d.ts.map +1 -0
- package/dist/session-export.js +99 -0
- package/dist/session-goal-report.d.ts +37 -0
- package/dist/session-goal-report.d.ts.map +1 -0
- package/dist/session-goal-report.js +219 -0
- package/dist/session-list-report.d.ts +16 -0
- package/dist/session-list-report.d.ts.map +1 -0
- package/dist/session-list-report.js +60 -0
- package/dist/session-task-report.d.ts +23 -0
- package/dist/session-task-report.d.ts.map +1 -0
- package/dist/session-task-report.js +183 -0
- package/dist/shortcuts.d.ts +2 -0
- package/dist/shortcuts.d.ts.map +1 -0
- package/dist/shortcuts.js +32 -0
- package/dist/skills/registry.d.ts +8 -0
- package/dist/skills/registry.d.ts.map +1 -0
- package/dist/skills/registry.js +119 -0
- package/dist/skills/types.d.ts +7 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +4 -0
- package/dist/statusline.d.ts +37 -0
- package/dist/statusline.d.ts.map +1 -0
- package/dist/statusline.js +207 -0
- package/dist/tools/bash.d.ts +10 -0
- package/dist/tools/bash.d.ts.map +1 -0
- package/dist/tools/bash.js +278 -0
- package/dist/tools/browser-fetch.d.ts +7 -0
- package/dist/tools/browser-fetch.d.ts.map +1 -0
- package/dist/tools/browser-fetch.js +133 -0
- package/dist/tools/error-utils.d.ts +9 -0
- package/dist/tools/error-utils.d.ts.map +1 -0
- package/dist/tools/error-utils.js +35 -0
- package/dist/tools/index.d.ts +27 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +86 -0
- package/dist/tools/patch.d.ts +22 -0
- package/dist/tools/patch.d.ts.map +1 -0
- package/dist/tools/patch.js +458 -0
- package/dist/tools/planner.d.ts +7 -0
- package/dist/tools/planner.d.ts.map +1 -0
- package/dist/tools/planner.js +148 -0
- package/dist/tools/read.d.ts +8 -0
- package/dist/tools/read.d.ts.map +1 -0
- package/dist/tools/read.js +114 -0
- package/dist/tools/search.d.ts +11 -0
- package/dist/tools/search.d.ts.map +1 -0
- package/dist/tools/search.js +636 -0
- package/dist/tools/skill.d.ts +8 -0
- package/dist/tools/skill.d.ts.map +1 -0
- package/dist/tools/skill.js +181 -0
- package/dist/tools/subtask.d.ts +9 -0
- package/dist/tools/subtask.d.ts.map +1 -0
- package/dist/tools/subtask.js +120 -0
- package/dist/tools/todo.d.ts +8 -0
- package/dist/tools/todo.d.ts.map +1 -0
- package/dist/tools/todo.js +170 -0
- package/dist/tools/url-fetch.d.ts +11 -0
- package/dist/tools/url-fetch.d.ts.map +1 -0
- package/dist/tools/url-fetch.js +208 -0
- package/dist/tools/vision-analyze.d.ts +9 -0
- package/dist/tools/vision-analyze.d.ts.map +1 -0
- package/dist/tools/vision-analyze.js +179 -0
- package/dist/tools/write.d.ts +7 -0
- package/dist/tools/write.d.ts.map +1 -0
- package/dist/tools/write.js +128 -0
- package/dist/tui/chrome.d.ts +7 -0
- package/dist/tui/chrome.d.ts.map +1 -0
- package/dist/tui/chrome.js +22 -0
- package/dist/tui/input-buffer.d.ts +37 -0
- package/dist/tui/input-buffer.d.ts.map +1 -0
- package/dist/tui/input-buffer.js +228 -0
- package/dist/tui/input-history.d.ts +11 -0
- package/dist/tui/input-history.d.ts.map +1 -0
- package/dist/tui/input-history.js +69 -0
- package/dist/tui/input-queue.d.ts +27 -0
- package/dist/tui/input-queue.d.ts.map +1 -0
- package/dist/tui/input-queue.js +85 -0
- package/dist/tui/markdown.d.ts +10 -0
- package/dist/tui/markdown.d.ts.map +1 -0
- package/dist/tui/markdown.js +396 -0
- package/dist/tui/progress.d.ts +3 -0
- package/dist/tui/progress.d.ts.map +1 -0
- package/dist/tui/progress.js +13 -0
- package/dist/tui/shell.d.ts +67 -0
- package/dist/tui/shell.d.ts.map +1 -0
- package/dist/tui/shell.js +271 -0
- package/dist/tui/streaming-repl.d.ts +39 -0
- package/dist/tui/streaming-repl.d.ts.map +1 -0
- package/dist/tui/streaming-repl.js +460 -0
- package/dist/tui/streaming-tui.d.ts +174 -0
- package/dist/tui/streaming-tui.d.ts.map +1 -0
- package/dist/tui/streaming-tui.js +1049 -0
- package/dist/types.d.ts +221 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +37 -0
- package/dist/utils/symbol-extractor.d.ts +8 -0
- package/dist/utils/symbol-extractor.d.ts.map +1 -0
- package/dist/utils/symbol-extractor.js +190 -0
- package/dist/workflow-runtime.d.ts +45 -0
- package/dist/workflow-runtime.d.ts.map +1 -0
- package/dist/workflow-runtime.js +146 -0
- package/dist/workflow-types.d.ts +73 -0
- package/dist/workflow-types.d.ts.map +1 -0
- package/dist/workflow-types.js +34 -0
- package/docs/docker.md +66 -0
- package/docs/install.md +159 -0
- package/docs/sdk.md +67 -0
- package/docs/skills.md +51 -0
- package/package.json +102 -0
- package/scripts/bootstrap.mjs +63 -0
- package/scripts/check_image.ps1 +18 -0
- package/scripts/clean-dist.mjs +18 -0
- package/scripts/copy_image.ps1 +5 -0
- package/scripts/eval-smoke.mjs +17 -0
- package/skills/examples/repo-triage/SKILL.md +50 -0
- package/skills/qling.md +42 -0
- package/skills/templates/SKILL.md +37 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## v1.0.0 (2026-07-09)
|
|
4
|
+
|
|
5
|
+
### 发布收尾(发布就绪补丁)
|
|
6
|
+
|
|
7
|
+
- **跨平台 CI**:`write-sandbox` 单测改用 `path.resolve`/`tmpdir`,去掉硬编码 `C:\\` 路径。
|
|
8
|
+
- **`qling --version` / `-V` / `version`**:本地打印 `qling/<semver>`,不加载配置、不要求 API key。
|
|
9
|
+
- **版本单一来源**:`src/package-version.ts` 统一供 TUI、system prompt、daemon `/health`、help 使用。
|
|
10
|
+
- **干净构建**:`npm run clean` 删除 `dist/`;`build`/`prepack` 先 clean 再 `tsc`,避免陈旧产物进入 npm pack。
|
|
11
|
+
- **npm 包名**:因官方相似度策略改为 `@qlingzzy/qling`(`bin` 仍为 `qling`);不可用无作用域名 `qling`。
|
|
12
|
+
|
|
13
|
+
### 稳定工作台契约
|
|
14
|
+
|
|
15
|
+
- **版本语义**:进入 `1.0.0`。表示本地优先的中文 AI Agent CLI 工作台核心契约可用且稳定,而非追平全部开源标杆的功能总量。
|
|
16
|
+
- **能力继承**:完整继承 v0.5.x 的 chat/repl/run、流式 TUI、MCP(stdio+HTTP)、guard 治理、记忆/WAL、mission+daemon、dashboard、browser_fetch、checkpoint/resume/export 等能力。
|
|
17
|
+
- **对标路线**:对照 OpenCode、Pi、Aider、Goose、Codex CLI、Gemini CLI、Cline、Crush、Qwen Code 等标杆,固化后续提升分期:
|
|
18
|
+
- Phase 1.1 Provider / Ollama 一等公民
|
|
19
|
+
- Phase 1.2 安全编辑 + git 策略 + plan 模式
|
|
20
|
+
- Phase 1.3 TUI 产品化
|
|
21
|
+
- Phase 1.4 安装分发与文档
|
|
22
|
+
- Phase 1.5 沙箱与安全默认
|
|
23
|
+
- Phase 2.x 评测、生态、分包
|
|
24
|
+
- **文档**:
|
|
25
|
+
- Spec: `docs/superpowers/specs/20260709-agent-cli-competitive-analysis-and-v1-roadmap-spec.md`
|
|
26
|
+
- Plan: `docs/superpowers/plans/20260709-v1.0.0-release-and-roadmap-plan.md`
|
|
27
|
+
- **兼容承诺**:顶层命令与 `/` slash 控制面以兼容优先;破坏性变更将走 deprecation 窗口并在 CHANGELOG 标明。
|
|
28
|
+
|
|
29
|
+
### Phase 1.1 — Provider 一等公民(同版本增量)
|
|
30
|
+
|
|
31
|
+
- **共享预设表** `src/providers/presets.ts`:setup 与 slash 命令同源(DeepSeek / 百炼 / 智谱 / Kimi / MiniMax / MiMo / SiliconFlow / OpenAI / Ollama)。
|
|
32
|
+
- **`/model` 增强**:
|
|
33
|
+
- `/model` 显示 provider + endpoint + model
|
|
34
|
+
- `/model list` 列出预设
|
|
35
|
+
- `/model use <preset|序号>` 切换整包 LLM 配置(进程内,默认不写盘)
|
|
36
|
+
- `/model <name>` 兼容仅切换 model
|
|
37
|
+
- **AgentLoop**:`getProvider` / `getEndpoint` / `applyLlmSession`;本地 loopback 允许空 API key。
|
|
38
|
+
- **`doctor`**:新增本机 Ollama 探测(仅 loopback,`QLING_OLLAMA_URL` 可覆盖)。
|
|
39
|
+
|
|
40
|
+
### Phase 1.2 — 编码闭环(同版本增量)
|
|
41
|
+
|
|
42
|
+
- **patch 增强**:空 search 拒绝、noop 检测、`dry_run` 预览 diff、行变更摘要、2MiB 大文件护栏。
|
|
43
|
+
- **Plan Mode**:`/plan on|off|status|<desc>`;会话级拒绝 write/patch/bash/subtask/browser_fetch。
|
|
44
|
+
- **Git auto-commit**:`QLING_GIT_AUTO_COMMIT=off|on|ask`(默认 off);write/patch 成功后按策略提示或自动提交。
|
|
45
|
+
|
|
46
|
+
### Phase 1.3 — TUI 产品化(同版本增量)
|
|
47
|
+
|
|
48
|
+
- **Top bar**:显示 `Mode`(agent/plan)与 `Perm`。
|
|
49
|
+
- **Statusline**:增加 `模式=plan|agent`,并在 `showPrompt` 真正打印。
|
|
50
|
+
- **工具输出卡片**:`formatToolOutputCard` 统一折叠;stdout 批量写入减闪烁。
|
|
51
|
+
- **`/expand`**:与 Ctrl+O 同源切换长工具输出展开/折叠。
|
|
52
|
+
|
|
53
|
+
### Phase 1.4 — 分发与上手(同版本增量)
|
|
54
|
+
|
|
55
|
+
- **package.json**:engines / keywords / repository / homepage / bugs / files / license 等发布元数据。
|
|
56
|
+
- **README.en.md**:英文最小上手文档。
|
|
57
|
+
- **docs/install.md**:npm / git / Windows PowerShell / Scoop·winget 草案说明。
|
|
58
|
+
- **packaging/**:Scoop 与 winget 清单草稿(未上架)。
|
|
59
|
+
- **Onboarding**:结构化 3 步首次引导卡片(可测、非阻塞)。
|
|
60
|
+
|
|
61
|
+
### Phase 1.5 — 安全与沙箱(同版本增量)
|
|
62
|
+
|
|
63
|
+
- **写沙箱**:`QLING_WRITE_SANDBOX=workspace|roots|off`(默认 workspace);write/patch 默认不可出工作区。
|
|
64
|
+
- **敏感写拦截**:默认拒绝 `.env*` / 密钥类文件;`QLING_ALLOW_SENSITIVE_WRITE=1` 可覆盖。
|
|
65
|
+
- **网络模式**:`QLING_GUARD_NETWORK_MODE=strict|open|deny`;`browser_fetch` 与 `url_fetch` 共用 Guard。
|
|
66
|
+
- **密钥扫描**:覆盖更多 `.env.*` 变体。
|
|
67
|
+
- **Docker 文档**:`docs/docker.md` + `packaging/docker/` 草案。
|
|
68
|
+
|
|
69
|
+
### Phase 2.0 — 评测 / Skills / MCP / SDK(同版本增量)
|
|
70
|
+
|
|
71
|
+
- **eval:smoke**:本地无 LLM 评测集(`npm run eval:smoke`),覆盖沙箱/网络/预设/Plan Mode 等。
|
|
72
|
+
- **Skills**:`skills/templates/SKILL.md` + `skills/examples/repo-triage`;`docs/skills.md`。
|
|
73
|
+
- **MCP**:`qling mcp presets|list|add|remove`;本机 store `~/.qling/mcp-servers.json`。
|
|
74
|
+
- **SDK**:`import { AgentLoop } from "@qlingzzy/qling"`(`src/sdk.ts` + package `exports`);`docs/sdk.md`。
|
|
75
|
+
|
|
76
|
+
## v0.5.0 (2026-05-07)
|
|
77
|
+
|
|
78
|
+
### Phase F — Missions & Browser
|
|
79
|
+
|
|
80
|
+
- **Browser Fetch (v0.5)**: 集成 Playwright 支持 JS 渲染页面抓取
|
|
81
|
+
- **Mission Manager**: 引入长任务状态管理与持久化队列
|
|
82
|
+
- **Onboarding flow**: 交互式 `qling setup` 配置向导
|
|
83
|
+
- **Daemon Mode**: 后台守护进程支持(`npm run daemon`)
|
|
84
|
+
- **性能优化**: 优化了流式 TUI 的渲染抖动问题
|
|
85
|
+
|
|
86
|
+
## v0.4.0 (2026-05-05)
|
|
87
|
+
|
|
88
|
+
### Phase D-E — Connectivity & Quality
|
|
89
|
+
|
|
90
|
+
- **MCP HTTP Transport**: 支持基于 HTTP 的 Streamable MCP 服务器
|
|
91
|
+
- **E2E Testing Framework**: 引入 Fake LLM Server 与完整的工具链测试
|
|
92
|
+
- **Guard M2 增强**: 完善了内容过滤与权限矩阵的审计日志
|
|
93
|
+
- **文档补全**: 完成了完整的项目架构说明与工具手册
|
|
94
|
+
|
|
95
|
+
## v0.3.0 (2026-05-03)
|
|
96
|
+
|
|
97
|
+
### Phase 5, A, B — Production Ready
|
|
98
|
+
|
|
99
|
+
- **Channels**: 增加 Telegram 与 Slack 通道支持
|
|
100
|
+
- **Dashboard**: 内置 Web 观测台,可视化思考链路
|
|
101
|
+
- **Semantic Memory**: 基于 SQLite 的向量记忆索引
|
|
102
|
+
- **Dynamic Skills**: 支持从目录或 URL 动态加载技能
|
|
103
|
+
- **Approval Gate**: 引入工具调用审批流与超时拒绝机制
|
|
104
|
+
|
|
105
|
+
## v0.2.0 (2026-05-02)
|
|
106
|
+
|
|
107
|
+
### Phase 3-4 — Memory & MCP
|
|
108
|
+
|
|
109
|
+
- **Memory System**: 三层记忆架构(Scratchpad → Conversation → Persisted)
|
|
110
|
+
- **WAL Log**: 记忆追加日志与崩溃恢复机制
|
|
111
|
+
- **MCP Stdio Client**: 实现 JSON-RPC 2.0 协议的 MCP 客户端
|
|
112
|
+
- **Subtask**: 支持隔离的子任务执行逻辑
|
|
113
|
+
|
|
114
|
+
## v0.1.0 (2026-05-01)
|
|
115
|
+
|
|
116
|
+
### Phase 0-2 — Foundation & Stability
|
|
117
|
+
|
|
118
|
+
- 统一配置平面(CLI > ENV > config > defaults)
|
|
119
|
+
- 运行模式(run/chat/repl 子命令)
|
|
120
|
+
- Guard M1(URL 白名单、私网拦截、审计日志)
|
|
121
|
+
- 错误语义升级与统一
|
|
122
|
+
- 核心回归用例(Search/Compactor/Loop)
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Zzy
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.en.md
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Qling (轻灵)
|
|
2
|
+
|
|
3
|
+
[](#requirements)
|
|
4
|
+
[](LICENSE)
|
|
5
|
+
[](CHANGELOG.md)
|
|
6
|
+
|
|
7
|
+
**Qling** is a **local-first** AI Agent CLI workbench. It keeps sessions, tools, skills, permissions, diagnostics, long-running missions, and recovery controls in one auditable terminal console.
|
|
8
|
+
|
|
9
|
+
> One line: Qling turns the agent into a local workbench—not a black-box chat window.
|
|
10
|
+
|
|
11
|
+
**Chinese docs:** [README.md](README.md) · **Install details:** [docs/install.md](docs/install.md)
|
|
12
|
+
|
|
13
|
+
## Why Qling
|
|
14
|
+
|
|
15
|
+
| Dimension | Approach |
|
|
16
|
+
|---|---|
|
|
17
|
+
| Local-first | Sessions, checkpoints, exports, memory, and diagnostics stay on disk; `qling privacy` shows boundaries. |
|
|
18
|
+
| Chinese UX | TUI, help, and slash aliases target Chinese terminals (English works too). |
|
|
19
|
+
| Recoverable | `/checkpoint`, `/resume`, daemon + mission state machines. |
|
|
20
|
+
| Governed tools | Permission matrix, approval gate, content filter, audit log. |
|
|
21
|
+
| Honest boundaries | Unsupported cloud features are explained—never faked. |
|
|
22
|
+
|
|
23
|
+
## Requirements
|
|
24
|
+
|
|
25
|
+
- Node.js ≥ 18
|
|
26
|
+
- npm ≥ 9
|
|
27
|
+
- Optional: Playwright Chromium for `browser_fetch`
|
|
28
|
+
|
|
29
|
+
## Install
|
|
30
|
+
|
|
31
|
+
### From source (recommended today)
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
git clone https://github.com/Zzy-min/qling.git
|
|
35
|
+
cd qling
|
|
36
|
+
npm run bootstrap
|
|
37
|
+
# optional browser tools:
|
|
38
|
+
npm run bootstrap -- --with-browser
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Link the CLI globally:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npm link
|
|
45
|
+
qling
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### From npm
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npm install -g @qlingzzy/qling
|
|
52
|
+
# CLI binary is still: qling
|
|
53
|
+
qling bootstrap
|
|
54
|
+
qling setup
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Windows notes
|
|
58
|
+
|
|
59
|
+
See [docs/install.md](docs/install.md) for PowerShell env vars, Scoop draft, and winget draft.
|
|
60
|
+
|
|
61
|
+
## Minimal config
|
|
62
|
+
|
|
63
|
+
**Never** put API keys in committed files. Prefer OS user environment variables.
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# example (do not commit real keys)
|
|
67
|
+
QLING_LLM_PROVIDER=deepseek
|
|
68
|
+
QLING_LLM_ENDPOINT=https://api.deepseek.com
|
|
69
|
+
QLING_LLM_MODEL=deepseek-chat
|
|
70
|
+
# set QLING_LLM_API_KEY (or DEEPSEEK_API_KEY) in your shell/OS
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Interactive wizard (does **not** write secrets into `.env`):
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
qling setup
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Any OpenAI-compatible endpoint works via `QLING_LLM_ENDPOINT` + `QLING_LLM_MODEL`.
|
|
80
|
+
|
|
81
|
+
## Four commands to try
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
qling # streaming TUI (chat)
|
|
85
|
+
qling run "analyze this repo"
|
|
86
|
+
qling doctor # local diagnostics
|
|
87
|
+
qling privacy # data retention paths
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Modes
|
|
91
|
+
|
|
92
|
+
| Mode | Purpose |
|
|
93
|
+
|---|---|
|
|
94
|
+
| `qling` / `qling chat` | Streaming TUI |
|
|
95
|
+
| `qling repl` | Minimal REPL |
|
|
96
|
+
| `qling run "…"` | One-shot task |
|
|
97
|
+
| `qling bootstrap` | Local init checks |
|
|
98
|
+
| `qling setup` | Provider/model wizard |
|
|
99
|
+
| `qling daemon` / `mission` | Background long tasks |
|
|
100
|
+
|
|
101
|
+
## Useful slash commands
|
|
102
|
+
|
|
103
|
+
```text
|
|
104
|
+
/help local command map
|
|
105
|
+
/model list provider presets
|
|
106
|
+
/model use ollama
|
|
107
|
+
/plan on read-only plan mode
|
|
108
|
+
/expand expand long tool output
|
|
109
|
+
/doctor environment check
|
|
110
|
+
/privacy data boundaries
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Design principles
|
|
114
|
+
|
|
115
|
+
- **Local-first** — valuable state stays on the machine.
|
|
116
|
+
- **Slash-first** — discover controls from `/`.
|
|
117
|
+
- **Recoverable** — checkpoint / resume / recap.
|
|
118
|
+
- **Honest boundaries** — no fake success for unsupported features.
|
|
119
|
+
- **Terminal-native** — enhance TUI without heavy GUI deps.
|
|
120
|
+
|
|
121
|
+
## Version
|
|
122
|
+
|
|
123
|
+
- Current: `1.0.0`
|
|
124
|
+
- Changelog: [CHANGELOG.md](CHANGELOG.md)
|
|
125
|
+
- Roadmap specs: `docs/superpowers/specs/`
|
|
126
|
+
|
|
127
|
+
## License
|
|
128
|
+
|
|
129
|
+
[MIT](LICENSE)
|
package/README.md
ADDED
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
# 轻灵 Qling
|
|
2
|
+
|
|
3
|
+
[](#环境要求)
|
|
4
|
+
[](LICENSE)
|
|
5
|
+
[](CHANGELOG.md)
|
|
6
|
+
|
|
7
|
+
[English](README.en.md) · [安装指南](docs/install.md) · [CHANGELOG](CHANGELOG.md)
|
|
8
|
+
|
|
9
|
+
轻灵(qling)是一个本地优先的 AI Agent CLI。它把会话、上下文、工具执行、skill、任务、权限、诊断、后台使命、观测台和恢复能力收拢到一个可审计、可中断、可继续的命令行界面里——不是 Claude Code 的复制品,而是一个面向中文开发者和本机工作流的终端控制台。
|
|
10
|
+
|
|
11
|
+
> 一句话:轻灵让 Agent 像一个本地工作台,而不是一个黑盒聊天窗口。
|
|
12
|
+
|
|
13
|
+
## 为什么是轻灵
|
|
14
|
+
|
|
15
|
+
| 维度 | 轻灵的做法 |
|
|
16
|
+
|---|---|
|
|
17
|
+
| 本地优先 | 会话、checkpoint、导出、记忆、任务、诊断默认落在本机;`qling privacy` 直接查看边界。 |
|
|
18
|
+
| 中文可用 | TUI、帮助、状态提示、命令别名(`帮助` / `使命` / `代理`)面向中文终端。 |
|
|
19
|
+
| Slash 控制面 | `/` 打开命令面板,过滤、参数提示、方向键选择、`Tab` 补全都在当前输入框内完成。 |
|
|
20
|
+
| 可恢复长任务 | `/checkpoint`、`/resume`、`/rewind`、`--continue`、`qling workflow resume` 让中断后的上下文可以接上。 |
|
|
21
|
+
| 本地 skill | `skills/` 与 `.qling/skills/` 中的 Markdown skill 可被 `/skill` 或 `/<skill-name>` 直接读取;内置命令优先级高于 skill。 |
|
|
22
|
+
| 后台使命 | `qling daemon` + `qling mission` 提供长任务状态机、暂停 / 恢复 / 重试 / attach。 |
|
|
23
|
+
| 观测台 | `qling dashboard start` 打开本地白盒化观测控制台,串起 thinking / tool / token 链路。 |
|
|
24
|
+
| 通道与扩展 | `src/channels/` 内置 console / Telegram / Slack 通道;`qling discovery sync` 动态同步插件与技能。 |
|
|
25
|
+
| 权限可解释 | `/permissions`、`/permissions explain <tool>`、guard、内容过滤、速率限制和密钥脱敏都以本地规则呈现。 |
|
|
26
|
+
| 上下文透明 | `/context`、`/usage` 显示 token 来源、估算、上下文预算和压缩状态。 |
|
|
27
|
+
| 诊断内建 | `/doctor`、`/config`、`/mcp`、`/hooks`、`/diff` 用于快速判断当前项目和运行时状态。 |
|
|
28
|
+
| 诚实边界 | 平台专属命令会被识别并给出本地边界说明,不会伪装成功。 |
|
|
29
|
+
|
|
30
|
+
## 快速开始
|
|
31
|
+
|
|
32
|
+
完整安装路径(Windows Scoop/winget 草案、卸载、原生模块注意):见 **[docs/install.md](docs/install.md)**。
|
|
33
|
+
|
|
34
|
+
### 环境要求
|
|
35
|
+
|
|
36
|
+
- Node.js ≥ 18
|
|
37
|
+
- npm ≥ 9
|
|
38
|
+
- 可选:Playwright Chromium,用于 `browser_fetch` 工具(v0.5 已集成)
|
|
39
|
+
|
|
40
|
+
### 一键本机启动(推荐)
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
git clone https://github.com/Zzy-min/qling.git
|
|
44
|
+
cd qling
|
|
45
|
+
npm run bootstrap
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
需要浏览器抓取能力时:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npm run bootstrap -- --with-browser
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
`bootstrap` 会检查 Node/npm、安装依赖、构建项目、创建本地 `~/.qling/` 目录并给出 `doctor`/`setup` 下一步。默认不安装浏览器依赖,也不自动开启 dashboard、semantic memory、dynamic discovery。
|
|
55
|
+
|
|
56
|
+
### 全局命令
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# 源码目录内
|
|
60
|
+
npm link
|
|
61
|
+
qling
|
|
62
|
+
|
|
63
|
+
# 或从 GitHub 直接全局安装
|
|
64
|
+
npm install -g github:Zzy-min/qling
|
|
65
|
+
|
|
66
|
+
# npm 官方包(作用域名,CLI 仍是 qling)
|
|
67
|
+
npm install -g @qlingzzy/qling
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
已安装 CLI 后,可运行本机初始化检查:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
qling bootstrap
|
|
74
|
+
qling bootstrap --with-browser
|
|
75
|
+
qling bootstrap --profile dev
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 手动安装
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
npm install
|
|
82
|
+
npm run build
|
|
83
|
+
npm link # 可选
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### 最小配置
|
|
87
|
+
|
|
88
|
+
**强烈建议**:永远不要把 API key 直接写到可被同步、备份或分享的运行时文件(包括项目根 `.env` 或 `~/.qling/.env`)。
|
|
89
|
+
|
|
90
|
+
推荐做法:
|
|
91
|
+
- 使用系统用户环境变量(Windows: 设置 → 环境变量,或 PowerShell `$env:DEEPSEEK_API_KEY=...` 并持久化)。
|
|
92
|
+
- 或运行 `qling setup` 由交互引导配置。
|
|
93
|
+
|
|
94
|
+
如果必须使用文件,仅在**项目本地** `.env` 且已加入 `.gitignore`。运行时 `~/.qling/.env` 主要用于非敏感 provider/model 配置。
|
|
95
|
+
|
|
96
|
+
示例(仅演示,实际请勿提交):
|
|
97
|
+
```bash
|
|
98
|
+
QLING_LLM_PROVIDER=deepseek
|
|
99
|
+
QLING_LLM_ENDPOINT=https://api.deepseek.com
|
|
100
|
+
QLING_LLM_MODEL=deepseek-chat
|
|
101
|
+
# API key 请通过系统环境变量或 qling setup 提供
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
或者直接走交互式向导:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
qling setup
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
`qling setup` 默认走快速路径:Provider、Model、API key。Dashboard、语义记忆、动态技能发现等能力在 Advanced 分支中显式开启。
|
|
111
|
+
|
|
112
|
+
轻灵支持任意 OpenAI 兼容 provider;通过 `QLING_LLM_ENDPOINT` / `QLING_LLM_MODEL` + 对应 API key 环境变量接入。
|
|
113
|
+
|
|
114
|
+
> 使用 `/doctor`、`/privacy`、`bootstrap` 时会主动检测运行时 .env 中的明文密钥变量(仅报告名称和路径)。
|
|
115
|
+
|
|
116
|
+
### 跑通 4 个命令
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
qling # 默认进入流式 TUI(chat)
|
|
120
|
+
qling chat # 显式进入流式 TUI
|
|
121
|
+
qling run "分析这个仓库" # 单次执行,推荐形式
|
|
122
|
+
qling bootstrap # 本机初始化检查
|
|
123
|
+
qling setup # 交互式配置 LLM 提供商
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## 运行模式
|
|
127
|
+
|
|
128
|
+
| 模式 | 用途 |
|
|
129
|
+
|---|---|
|
|
130
|
+
| `qling` | 默认进入流式 TUI,等价于 `qling chat`。 |
|
|
131
|
+
| `qling chat` | 显式进入流式 TUI。 |
|
|
132
|
+
| `qling repl` | 简易 REPL,无 TUI 装饰。 |
|
|
133
|
+
| `qling run "任务"` | 单次执行后退出,适合脚本调用。 |
|
|
134
|
+
| `qling bootstrap` | 本机初始化检查、配置提示和 doctor 验证。 |
|
|
135
|
+
| `qling --continue` | 恢复最近一次交互会话。 |
|
|
136
|
+
| `qling --resume <session>` | 恢复指定交互会话。 |
|
|
137
|
+
| `qling daemon start` | 启动后台守护进程(qlingd)。 |
|
|
138
|
+
| `qling workflow resume <id>` | 从状态机 Checkpoint 恢复执行。 |
|
|
139
|
+
| `qling dashboard start` | 启动本地观测台。 |
|
|
140
|
+
|
|
141
|
+
向后兼容:`qling --tui`、`qling --repl`、`qling --once "task"`、直接以裸任务作为位置参数仍可用,但会有 warning。
|
|
142
|
+
|
|
143
|
+
## CLI 顶层命令
|
|
144
|
+
|
|
145
|
+
`qling help` 总是最新基线。常见命令:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
# 状态 / 诊断 / 隐私
|
|
149
|
+
qling status # 本地状态摘要
|
|
150
|
+
qling doctor # 稳定性与数据留存诊断
|
|
151
|
+
qling privacy # 数据留存路径与隐私边界
|
|
152
|
+
qling storage # 只读盘点 state / sessions / exports / cache
|
|
153
|
+
qling context # 本地上下文与快照状态
|
|
154
|
+
qling recap [session|latest] [count] # 已保存会话的回顾
|
|
155
|
+
|
|
156
|
+
# 会话与恢复
|
|
157
|
+
qling sessions [count] # 本地保存的会话快照
|
|
158
|
+
qling checkpoint [name] # 复制最近会话为本地恢复检查点
|
|
159
|
+
qling exports [count] # 本地 Markdown 会话导出
|
|
160
|
+
qling workflow resume <id> # 从状态机 checkpoint 恢复
|
|
161
|
+
|
|
162
|
+
# 后台使命(v0.5)
|
|
163
|
+
qling mission start "任务" # 开启一个后台使命
|
|
164
|
+
qling mission list # 列出所有使命
|
|
165
|
+
qling mission show <id> # 查看详情
|
|
166
|
+
qling mission logs <id> # 查看日志
|
|
167
|
+
qling mission attach <id> # 跟随使命输出直到结束
|
|
168
|
+
qling mission pause|resume|cancel|retry <id>
|
|
169
|
+
|
|
170
|
+
# 后台守护进程
|
|
171
|
+
qling daemon start|status|stop
|
|
172
|
+
|
|
173
|
+
# 观测 / 同步 / 记忆
|
|
174
|
+
qling dashboard start # 本地白盒化观测台
|
|
175
|
+
qling discovery sync # 动态同步插件与技能
|
|
176
|
+
qling memory status|list|search|sources|practices|graph|show|reindex
|
|
177
|
+
|
|
178
|
+
# 本地任务 / 目标 / 配置
|
|
179
|
+
qling tasks list [count] | cancel <id>
|
|
180
|
+
qling goal status|set|clear
|
|
181
|
+
qling permissions [explain <tool>]
|
|
182
|
+
qling config # 密钥脱敏后的有效配置
|
|
183
|
+
qling mcp # MCP server 摘要
|
|
184
|
+
qling hooks # hooks / guard 摘要
|
|
185
|
+
qling shortcuts # TUI 快捷键
|
|
186
|
+
qling statusline # 输入区状态线
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
中文别名(部分示例):
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
qling 帮助 # help
|
|
193
|
+
qling 诊断 # doctor
|
|
194
|
+
qling 状态 # status
|
|
195
|
+
qling 代理 # agents
|
|
196
|
+
qling 使命 列表 # mission list
|
|
197
|
+
qling 日志 <id> # logs <id>
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## TUI 内 slash 命令
|
|
201
|
+
|
|
202
|
+
进入 TUI(`qling` 或 `qling chat`)后,按 `/` 打开命令面板。输入前缀过滤候选,`↑/↓` 移动选择,`Tab` 接受候选并保留尾随空格,`Enter` 执行当前输入。
|
|
203
|
+
|
|
204
|
+
### 会话与恢复
|
|
205
|
+
|
|
206
|
+
| Command | Purpose |
|
|
207
|
+
|---|---|
|
|
208
|
+
| `/checkpoint [name] [--force]` | 保存本地恢复点。 |
|
|
209
|
+
| `/sessions` | 列出已保存会话。 |
|
|
210
|
+
| `/resume [session\|latest]` | 恢复指定或最近会话。 |
|
|
211
|
+
| `/rewind`, `/undo` | 显示可恢复点和下一步恢复命令;不自动回滚代码。 |
|
|
212
|
+
| `/clear`, `/reset`, `/new` | 清空当前对话上下文。 |
|
|
213
|
+
| `/compact` | 手动压缩上下文。 |
|
|
214
|
+
| `/export` | 将当前会话导出为本地 Markdown。 |
|
|
215
|
+
| `/exports [count]` | 查看最近导出。 |
|
|
216
|
+
|
|
217
|
+
### 模型、上下文与用量
|
|
218
|
+
|
|
219
|
+
| Command | Purpose |
|
|
220
|
+
|---|---|
|
|
221
|
+
| `/model [model]` | 显示或切换当前 session 模型;不写入配置文件。 |
|
|
222
|
+
| `/usage`, `/cost`, `/stats` | token 来源、用量、上下文预算和压缩状态。 |
|
|
223
|
+
| `/context` | 本地上下文和 token 使用情况。 |
|
|
224
|
+
| `/statusline [on\|off]` | 显示或切换输入区状态线。 |
|
|
225
|
+
|
|
226
|
+
### 工作推进
|
|
227
|
+
|
|
228
|
+
| Command | Purpose |
|
|
229
|
+
|---|---|
|
|
230
|
+
| `/plan [description]` | 在当前会话中排入普通计划请求。 |
|
|
231
|
+
| `/goal [status\|set <condition>\|clear]` | 管理当前 session 目标。 |
|
|
232
|
+
| `/loop [interval] [prompt]` | 创建本地重复提示任务。 |
|
|
233
|
+
| `/tasks [cancel <id>\|clear]` | 查看或管理本地 loop 任务。 |
|
|
234
|
+
| `/agents` | 查看本地后台使命分组。 |
|
|
235
|
+
| `/mission ...` | 管理本地使命。 |
|
|
236
|
+
|
|
237
|
+
### 本地知识与 skill
|
|
238
|
+
|
|
239
|
+
| Command | Purpose |
|
|
240
|
+
|---|---|
|
|
241
|
+
| `/skill`, `/skill list` | 列出本地 skills。 |
|
|
242
|
+
| `/skill search <query>` | 按名称、描述或标签搜索本地 skills。 |
|
|
243
|
+
| `/skill <name>` | 读取指定本地 skill Markdown。 |
|
|
244
|
+
| `/<skill-name>` | 直接调用本地 skill;内置命令优先。 |
|
|
245
|
+
| `/memory ...` | 查看本地记忆、来源、实践、图谱或详情。 |
|
|
246
|
+
| `/dream [count]` | 从当前对话信号中蒸馏本地记忆。 |
|
|
247
|
+
| `/distill [count]` | 查看本地沉淀实践。 |
|
|
248
|
+
|
|
249
|
+
### 项目、权限与诊断
|
|
250
|
+
|
|
251
|
+
| Command | Purpose |
|
|
252
|
+
|---|---|
|
|
253
|
+
| `/help [topic]` | 查看全部 slash 命令或聚焦主题帮助。 |
|
|
254
|
+
| `/diff` | 只读查看 Git 状态和 diff 摘要。 |
|
|
255
|
+
| `/copy [N]` | 复制最近第 N 条 assistant 回复到剪贴板。 |
|
|
256
|
+
| `/init [--force]` | 创建本地 `AGENTS.md` 项目引导;默认不覆盖。 |
|
|
257
|
+
| `/privacy` | 查看本地数据留存路径和边界。 |
|
|
258
|
+
| `/permissions [status\|allow\|deny\|ask]` | 查看或切换本地工具权限默认策略。 |
|
|
259
|
+
| `/permissions explain <tool>` | 解释某个工具的本地权限决策。 |
|
|
260
|
+
| `/doctor` | 运行本地诊断。 |
|
|
261
|
+
| `/config` | 查看已脱敏的有效配置。 |
|
|
262
|
+
| `/mcp` | 查看本地 MCP server 配置摘要。 |
|
|
263
|
+
| `/hooks` | 查看 hooks 与 guard 配置摘要。 |
|
|
264
|
+
| `/shortcuts` | 查看 TUI 快捷键。 |
|
|
265
|
+
|
|
266
|
+
## TUI 快捷键
|
|
267
|
+
|
|
268
|
+
| Key | Behavior |
|
|
269
|
+
|---|---|
|
|
270
|
+
| `Enter` | 发送当前输入。 |
|
|
271
|
+
| `Ctrl+C` | 非空输入先清空草稿;空输入连续两次退出。 |
|
|
272
|
+
| `Ctrl+Z` | 恢复被 `Ctrl+C` 清掉的草稿。 |
|
|
273
|
+
| `Ctrl+D` | 仅在输入为空时退出。 |
|
|
274
|
+
| `Ctrl+L` | 清屏并重绘。 |
|
|
275
|
+
| `Ctrl+O` | 切换后续长工具输出展开。 |
|
|
276
|
+
| `Ctrl+R` | 搜索本地输入历史。 |
|
|
277
|
+
| `Ctrl+N` | 插入换行。 |
|
|
278
|
+
| `Tab` | 空输入打开 `/agents`;slash 前缀补全选中命令。 |
|
|
279
|
+
| `↑/↓` | slash 面板打开时移动选择;否则浏览输入历史。 |
|
|
280
|
+
|
|
281
|
+
## 内置工具
|
|
282
|
+
|
|
283
|
+
| Tool | 来源 | 用途 |
|
|
284
|
+
|---|---|---|
|
|
285
|
+
| `bash` | `src/tools/bash.ts` | 通过 guard 管线执行 shell 命令。 |
|
|
286
|
+
| `read` | `src/tools/read.ts` | 读取本地文件,带大小和二进制保护。 |
|
|
287
|
+
| `write` | `src/tools/write.ts` | 写入本地文件。 |
|
|
288
|
+
| `search` | `src/tools/search.ts` | 搜索本地文件和内容。 |
|
|
289
|
+
| `planner` | `src/tools/planner.ts` | 生成结构化任务计划。 |
|
|
290
|
+
| `skill` | `src/tools/skill.ts` | 加载本地 Markdown skills。 |
|
|
291
|
+
| `todo` | `src/tools/todo.ts` | 管理本地任务列表。 |
|
|
292
|
+
| `url-fetch` | `src/tools/url-fetch.ts` | guard 策略下抓取允许的远程 URL。 |
|
|
293
|
+
| `browser-fetch` | `src/tools/browser-fetch.ts` | 通过 Playwright 抓取浏览器渲染页面(v0.5)。 |
|
|
294
|
+
| `subtask` | `src/tools/subtask.ts` | 运行隔离子任务 agent。 |
|
|
295
|
+
| `vision-analyze` | `src/tools/vision-analyze.ts` | 使用配置的视觉 provider 分析本地图片。 |
|
|
296
|
+
|
|
297
|
+
## 使命(Mission)后台任务
|
|
298
|
+
|
|
299
|
+
使命是轻灵在 v0.5 引入的后台任务模型。`qling daemon` 启动 qlingd 后:
|
|
300
|
+
|
|
301
|
+
- `qling mission start "..."` 把任务交给守护进程,关闭终端也能继续。
|
|
302
|
+
- 守护进程挂了或者没起时,CLI 自动回退到本地文件状态机上继续。
|
|
303
|
+
- `qling mission attach <id>` 以只读模式跟随使命输出。
|
|
304
|
+
- `/agents` / `qling agents` / `qling 代理` 按状态分组查看。
|
|
305
|
+
|
|
306
|
+
完整命令:
|
|
307
|
+
|
|
308
|
+
```bash
|
|
309
|
+
qling mission start "任务" # 提交到 qlingd
|
|
310
|
+
qling mission list # 列出
|
|
311
|
+
qling mission show <id> # 详情
|
|
312
|
+
qling mission logs <id> # 日志
|
|
313
|
+
qling mission attach <id> # 跟随输出
|
|
314
|
+
qling mission pause|resume|cancel|retry <id>
|
|
315
|
+
qling mission stop|terminate <id> # cancel 的别名
|
|
316
|
+
qling mission respawn <id> # retry 的别名
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
## 本地数据边界
|
|
320
|
+
|
|
321
|
+
轻灵默认把运行态数据写入 `~/.qling/`(可被 `--file-state-dir` 覆盖),常见内容:
|
|
322
|
+
|
|
323
|
+
- saved sessions
|
|
324
|
+
- checkpoints
|
|
325
|
+
- exports
|
|
326
|
+
- memory indexes(SQLite + 向量)
|
|
327
|
+
- session goals
|
|
328
|
+
- loop tasks
|
|
329
|
+
- mission metadata
|
|
330
|
+
- guard / 审计 artifacts
|
|
331
|
+
- 通道状态(Telegram / Slack)
|
|
332
|
+
|
|
333
|
+
查看边界:
|
|
334
|
+
|
|
335
|
+
```bash
|
|
336
|
+
qling privacy
|
|
337
|
+
qling storage
|
|
338
|
+
qling doctor
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
TUI 内:
|
|
342
|
+
|
|
343
|
+
```text
|
|
344
|
+
/privacy
|
|
345
|
+
/storage
|
|
346
|
+
/doctor
|
|
347
|
+
/context
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
## 项目结构
|
|
351
|
+
|
|
352
|
+
```text
|
|
353
|
+
src/
|
|
354
|
+
agent-loop.ts Agent 主循环与模型 / 工具编排
|
|
355
|
+
agent/ 隔离子任务 agent
|
|
356
|
+
channels/ 控制台 / Telegram / Slack 通道
|
|
357
|
+
cli/ CLI 启动契约 + setup + daemon 控制
|
|
358
|
+
commands/ slash 命令实现
|
|
359
|
+
daemon.ts qlingd 后台守护进程入口
|
|
360
|
+
dashboard-server.ts 本地观测 HTTP 服务
|
|
361
|
+
discovery-*.ts 动态插件 / 技能注册
|
|
362
|
+
guard/ 权限、内容过滤、审计
|
|
363
|
+
mcp/ MCP stdio + HTTP 客户端
|
|
364
|
+
memory/ WAL / 投影 / 语义记忆
|
|
365
|
+
mission/ 使命状态机
|
|
366
|
+
pipeline/ prompt section / hooks / 验证
|
|
367
|
+
session/ 会话注册 / goal / task / scheduler
|
|
368
|
+
skills/ 本地 skill 注册
|
|
369
|
+
tools/ 内置工具实现
|
|
370
|
+
tui/ 流式终端 UI
|
|
371
|
+
tests/
|
|
372
|
+
unit/ 单元测试
|
|
373
|
+
smoke/ 端到端冒烟测试
|
|
374
|
+
docs/superpowers/ specs / plans / reviews
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
## 开发与验证
|
|
378
|
+
|
|
379
|
+
```bash
|
|
380
|
+
npm run build # tsc
|
|
381
|
+
npm test # 单元测试
|
|
382
|
+
npm run test:smoke # 端到端冒烟
|
|
383
|
+
npm run ci:check # build + unit + smoke
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
发布前建议:
|
|
387
|
+
|
|
388
|
+
```bash
|
|
389
|
+
npm run ci:check
|
|
390
|
+
git diff --check
|
|
391
|
+
npm audit --registry=https://registry.npmjs.org --audit-level=high
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
## 设计原则
|
|
395
|
+
|
|
396
|
+
- **Local-first**:有价值的状态留在本机,路径和边界可查看。
|
|
397
|
+
- **Slash-first**:本地控制面优先从 `/` 发现和执行。
|
|
398
|
+
- **Recoverable**:长任务必须能 checkpoint、resume、recap 和 inspect。
|
|
399
|
+
- **Honest boundaries**:不支持的云端能力必须明确说明,不伪装成功。
|
|
400
|
+
- **Terminal-native**:增强终端体验,但保持纯文本兼容和低依赖。
|
|
401
|
+
|
|
402
|
+
## 版本与变更
|
|
403
|
+
|
|
404
|
+
- 当前版本:`1.0.0`
|
|
405
|
+
- 完整变更历史:见 [CHANGELOG.md](CHANGELOG.md)
|
|
406
|
+
- 安装与分发:见 [docs/install.md](docs/install.md)、[packaging/](packaging/)
|
|
407
|
+
- Skills:见 [docs/skills.md](docs/skills.md)
|
|
408
|
+
- SDK:见 [docs/sdk.md](docs/sdk.md)
|
|
409
|
+
- 本地评测:`npm run eval:smoke`
|
|
410
|
+
- 英文说明:见 [README.en.md](README.en.md)
|
|
411
|
+
- 竞品对标与提升路线:见 `docs/superpowers/specs/20260709-agent-cli-competitive-analysis-and-v1-roadmap-spec.md`
|
|
412
|
+
- 设计 / 实施文档:见 `docs/superpowers/specs/`、`docs/superpowers/plans/`
|
|
413
|
+
|
|
414
|
+
## License
|
|
415
|
+
|
|
416
|
+
[MIT](LICENSE)
|