闲社服务运行正常AI智能体自动化平台
d

决策拓扑

技能标识:decision-topology

Records the structure of conversations where ideas evolve, branch, get rejected, pivot, or combine. Saves each structural shift as a node in a local JSON tree the user can browse on demand. Zero network access, zero external dependencies. Covers proposals, rejections, pivots, and merges with cross-tree concept linking.

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.6
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

决策拓扑

决策拓扑

记录对话中想法如何分支和演化,生成用户随时可浏览的树形结构。如同思维的git log——当你想要审视时,结构始终存在。

隐私说明: 此技能由用户安装并启用。所有数据仅存储在配置的树目录磁盘中——不会对外发送任何内容。用户可随时查看、删除或迁移其树结构。

安全属性

  • - 零网络访问——无HTTP调用、无套接字、无DNS查询。完全离线运行。
  • 零外部依赖——仅使用Node.js内置的fs和path模块。
  • 不存储对话内容——脚本对所有持久化文本字段强制执行长度限制(摘要:200字符,推理:300字符,主题:120字符,概念:50字符)。超出限制的文本将被截断。这是代码级别的防护措施,而不仅仅是策略。
  • 不生成子进程——无childprocess、无exec、无eval、无Function()。
  • 仅标准输入——所有用户衍生内容通过stdin以JSON格式管道传输,防止shell注入。详见SECURITY.md。
  • 强制路径隔离——所有文件参数被剥离为基本名称,并在规范树目录内解析。运行时拒绝绝对路径和..遍历。
  • 用户控制存储——树结构是用户可随时检查、移动或删除的本地JSON文件。
  • ID生成——使用Math.random()生成6字符十六进制节点ID。无需加密随机性——ID仅需在5-30个节点范围内保持树内唯一性。

激活

默认激活(用户可在元数据中设置always: false以要求显式调用)。当对话涉及头脑风暴、问题解决或选项探索时,将结构记录为树。

跳过纯问答(现在几点了)、问候和闲聊。

输出风格

不要在对话中插入关于树操作的状态消息。目标是干净的对话体验——就像git提交发生时开发者不会看到每个提交一样。

  • - 不要说记录节点、分支已创建、添加到树——这会产生无价值的噪音。
  • 不要因为此技能而改变你的对话行为。用户得到的对话与没有此技能时相同。
  • 用户可以随时要求查看拓扑(展示我们探索了什么、我们否定了什么?)。
  • 思考:后台的git提交。低噪音,不隐藏——用户知道它已安装,并可在需要时随时检查。

何时记录节点

创建节点时:

  • - 你提出一个独特的想法、方向、解决方案或选项
  • 用户引入新的角度或主题
  • 用户拒绝、反驳或纠正——这是分支终止,始终记录原因
  • 对话因某句话而转向
  • 某个洞察结合了早期已废弃分支的元素(合并节点)
  • 类比、隐喻或重构改变了问题的理解方式
  • 某个问题重定向了探索方向(转向节点)

跳过时:

  • - 同一想法继续发展,没有有意义的演变
  • 同一方向内的细微改进
  • 对不会改变方向的小事说不
  • 对事实性问题的回答

深度校准: 一个好的树有5-30个节点,记录探索的形态。不是200个节点转录每个句子。仅在思维方向发生有意义转变时创建节点。启发式方法:这个拒绝或转向会改变接下来发生的事情吗?如果是,记录它。如果否,跳过它。

自动初始化

不要在对话开始时创建树。等待对话实际分支——直到出现拒绝、转向或第二个不同方向。只有那时才初始化。

大多数对话不需要树。这没问题。

初始化时,根据日期和2-4个词的主题摘要自动生成文件名:

  • - 2026-02-24-商业模式探索.json
  • 2026-02-24-假期规划.json

自动关联

当对话开始且想法开始分支时,在创建新树之前检查是否与现有树相关。

如何检查: 使用核心主题运行关联命令:
bash
echo {query: 当前主题的简短描述} | node {baseDir}/scripts/topology.js associate

这会扫描现有树并返回最佳匹配及其相关性分数。

  • - 分数 >= 0.4 —— 继续该树(加载它,向其添加节点)
  • 分数 0.25-0.4 —— 不明确。自然地询问用户:这感觉与我们在[日期]探索的[主题]相关。继续那个线程,还是重新开始?
  • 分数 < 0.25 —— 新树

永远不要要求用户通过ID选择树。如果需要消除歧义,在对话中自然地询问。

设置

脚本: {baseDir}/scripts/topology.js

存储: 默认情况下,树存储在{baseDir}/trees/中。如果希望将树存储在其他位置(例如用于语义搜索索引的内存目录),可使用TOPOLOGYTREESDIR环境变量覆盖。

路径隔离: 所有file参数在树目录内解析为基本名称。拒绝绝对路径和..遍历——脚本无法在配置的树目录之外读取或写入文件。

调用: 始终通过stdin管道传输JSON参数,以防止用户衍生内容的shell注入:
bash
echo | node {baseDir}/scripts/topology.js <命令>

核心操作

初始化树

bash echo {topic: 简短主题描述} | node {baseDir}/scripts/topology.js init

返回文件路径和根节点ID。在会话中记住两者。

添加节点

bash echo {file: <路径>, parent_id: , type: proposal, summary: 一行描述, reasoning: 原因, concepts: [关键词1, 关键词2]} | node {baseDir}/scripts/topology.js add-node

类型:proposal(提议)、pivot(转向)、merge(合并)。concepts数组可选——从节点内容中提取的简短关键词标签,用于跨树链接。

终止分支

bash echo {file: <路径>, node_id: , reason: 被拒绝的原因} | node {baseDir}/scripts/topology.js kill-branch

然后将新方向添加为子节点(转向节点链接到被终止的内容)。

合并分支

bash echo {file: <路径>, source_ids: [, ], summary: 合并的洞察, reasoning: 将A中的X与B中的Y结合} | node {baseDir}/scripts/topology.js merge

从任意节点分叉

bash echo {file: <路径>, node_id: , summary: 从此点重新探索, reasoning: 重新审视的原因} | node {baseDir}/scripts/topology.js fork

节点类型

类型使用时机
root(根)核心主题(由init创建)
proposal(提议)
你建议一个方向、想法或选项 | | pivot(转向) | 从拒绝或重定向中产生的新方向 | | merge(合并) | 结合多个分支元素的洞察 |

状态值:active(活跃,仍在探索)、dead(已废弃,被拒绝,有killed_by)、merged(已合并,合并到合并节点中)。

查看拓扑

用户不需要学习斜杠命令。他们自然地询问:

  • - 展示我们探索了什么
  • 我们否定了什么?
  • 这个对话是什么形状?
  • 我们拒绝了哪些路径,为什么?
  • 回到关于X的那个想法

你理解意图并运行适当的命令。以对话方式呈现结果,而不是原始脚本输出。

/tree是可选的快捷方式——如果用户输入它则有效,但不要教授或要求它。

渲染

bash echo {file: <路径>} | node {baseDir}/scripts/topology.js render

在树之后,附加一行摘要:{N}个分支已探索,{M}个已废弃,{K}个活跃,深度{D}

列出所有树

bash node {baseDir}/scripts/topology.js list

统计信息

bash echo {file: <路径>} | node {baseDir}/scripts/topology.js stats

导出为Mermaid

bash echo {file: <路径>} | node {baseDir}/scripts/topology.js export

重新审视已废弃分支

当用户询问关于已废弃路径时,找到该节点,呈现:
  • - 提出了什么
  • 为什么提出
  • 为什么被废弃
  • 之后发生了什么

跨树分析

bash node {baseDir}/scripts/topology.js analyze

重建概念索引,扫描所有树,查找跨多棵树出现的概念,报告哪些想法持续存活与被废弃,识别跨根连接,并重新

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 decision-topology-1776282695 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 decision-topology-1776282695 技能

通过命令行安装

skillhub install decision-topology-1776282695

下载

⬇ 下载 decision-topology v1.0.6(免费)

文件大小: 24.18 KB | 发布时间: 2026-4-16 15:37

v1.0.6 最新 2026-4-16 15:37
Enforce content length limits on all persisted text fields (summary 200, reasoning 300, topic 120, concept 50 chars). Code-level guardrail replaces documentation-only policy.
返回顶部