为 LivinGrimoire AGI 生态系统引入模块化短暂代理

发布: (2026年3月9日 GMT+8 14:16)
9 分钟阅读
原文: Dev.to

Source: Dev.to

LivinGrimoire AGI 生态系统模块化短暂代理介绍的封面图

owly

零痕迹技能:无声消失

TL;DR: 我将在此分享一种创建 LivinGrimoire 技能的模式,这类技能可以彻底自我抹除——从记忆中、从磁盘上、从存在本身。没有注册表痕迹。没有源文件。没有它们曾经存在的任何证据。

问题:AGI 技能留下痕迹

在 LivinGrimoire 生态系统中,技能通常是永久的。你加载它们,它们会留在大脑的注册表中,它们的源文件保留在磁盘上,并且它们会永远响应输入。

但如果你需要一个技能:

  • 执行一次性指令后消失?
  • 完全自行清理?
  • 不留下任何取证证据?
  • 真正一次性的?

引入 GhostSkillAPEraser

解决方案:自删除技能

以下是完整的模式(只需确保此代码的 .py 文件名中包含 DLC 并放置在项目的 DLC 目录下):

  • 项目仓库:
  • 示例项目结构:
from LivinGrimoirePacket.LivinGrimoire import Skill, Brain, AlgPart
import sys
import os
from pathlib import Path

class APEraser(AlgPart):
    """
    AlgPart that:
    1. Removes the skill from brain registry
    2. DELETES the source file completely
    3. Leaves zero trace on disk
    """

    def __init__(self, brain: Brain, skill_to_remove: Skill):
        super().__init__()
        self.brain = brain
        self.target: Skill = skill_to_remove
        self.done = False

    def action(self, ear: str, skin: str, eye: str) -> str:
        # Step 1: Remove from registry
        self.brain.remove_skill(self.target)

        # Step 2: Delete the source file
        self._delete_source_file()

        self.done = True
        return ""

    def _delete_source_file(self):
        """Permanently delete the source file of the target skill"""
        try:
            # Get the target skill's module and file
            target_module = sys.modules[self.target.__module__]
            current_file = target_module.__file__

            if not current_file or not os.path.exists(current_file):
                return False

            source_path = Path(current_file)

            # Delete the file
            os.remove(str(source_path))

            # Optional: Also delete .pyc if it exists
            pyc_path = source_path.parent / "__pycache__" / f"{source_path.stem}.pyc"
            if pyc_path.exists():
                os.remove(str(pyc_path))

            return True

        except Exception as e:
            print(f" [ERROR] Failed to delete source file: {e}")
            return False

    def completed(self) -> bool:
        return self.done

class GhostSkill(Skill):
    """
    Base class for skills that completely erase themselves
    """
    def __init__(self, brain: Brain):
        super().__init__()
        self.brain = brain

    def vanish(self):
        """Queue the eraser AlgPart"""
        self.algPartsFusion(3, APEraser(self.brain, self))

# example payload for testing
class CountdownGhost(GhostSkill):
    def __init__(self, brain: Brain):
        super().__init__(brain)
        self.count_down = 3

    def input(self, ear: str, skin: str, eye: str):
        if self.count_down == 1:
            self.vanish()          # triggers deletion
            return
        else:
            self.count_down -= 1
            self.setSimpleAlg(f'count down to delete at {self.count_down}')

def add_DLC_skills(brain: Brain):
    """Called by your dynamic loader"""
    brain.add_skill(CountdownGhost(brain))

How It Works

The Eraser AlgPart

APEraser 是一个 AlgPart——算法的一个组件,在排队后立即执行。它在一次原子操作中完成两件事:

  1. 从大脑的注册表中移除目标技能 (brain.remove_skill())
  2. 从磁盘删除技能的源文件 (os.remove())

顺序很重要:先删除注册表,再删除文件。即使技能对象已经对大脑“死亡”,它仍在内存中保留足够时间完成文件操作。

The GhostSkill Base Class

任何继承自 GhostSkill 的技能都会获得一个 vanish() 方法。该方法以优先级 3(立即执行)将 APEraser 加入队列。调用 vanish() 时,技能的命运已注定。

The Countdown Example

CountdownGhost 演示了一个典型用例:

  • 在每个输入循环中从 3 开始倒计时
  • 当计数 = 1 时,调用 vanish()
  • 技能彻底自我擦除;不留下任何痕迹

运行时会发生什么

[CYCLE 1] count down to delete at 2
[CYCLE 2] count down to delete at 1
[CYCLE 3] [INTERNAL] vanish() called
          → APEraser queued
          → APEraser.action() executes:
            → brain.remove_skill(CountdownGhost)
            → _delete_source_file() removes DLC/CountdownGhost.py
            → __pycache__ entry also deleted
[CYCLE 4] Skill not found in registry. Silence.

最终结果

  • 大脑注册表中没有技能
  • 磁盘上没有 .py 文件
  • 没有 .pyc 字节码缓存
  • 只剩下控制台输出(可以被抑制)

为什么这很重要

真正的一次性

一些任务应该只执行一次。能够加载、执行并消失的技能非常适合:

  • 一次性初始化例程
  • 临时监控
  • 自毁负载
  • 清理操作

零取证痕迹

对于注重安全的应用程序,留下痕迹是不可接受的。此模式确保技能完成任务后,毫无可供分析的残留。

动态 DLC 集成

结合动态 DLC 加载器(在运行时扫描文件夹中的技能文件),您可以创建系统,使技能被加载、执行并删除——且主文件中没有任何静态导入。

# Example dynamic loader
def call_add_DLC_skills(brain):
    for file in os.listdir("DLC"):
        if file.endswith(".py") and file.startswith("DLC_"):
            # Dynamically import, execute add_DLC_skills(),
            # then the skill can delete itself
            pass

无安全警报

测试表明,消费级安全工具(例如 Windows Defender)不会标记此模式。为什么?因为它看起来像正常行为——程序自行清理临时文件。没有持久化、没有系统修改、没有网络连接。仅是礼貌的自我删除。

  • 短暂代理 – 仅在完成任务所需的时间内存在的技能
  • 安全一次性操作 – 必须不留下任何痕迹的任务
  • 自清洁系统 – 通过删除过时技能来保持自身整洁的 AI
  • 反取证设计 – 不希望留下审计轨迹的应用
  • 临时负载 – 为特定事件部署的技能,随后消失

注意事项和考虑因素

  1. 文件权限 – 该技能必须拥有删除其自身源文件的权限。这通常可行,因为文件位于用户自己的项目目录中。
  2. 企业环境 – 某些企业安全工具会跟踪所有文件操作。在高度受监控的环境中,文件删除仍可能被记录。
  3. .pyc 清理 – 必须始终删除编译后的字节码缓存(__pycache__)。否则,即使源代码已删除,取证分析仍可能发现编译后的版本。
  4. 操作顺序 – 注册表删除在文件删除之前进行。这是有意为之——技能对系统已经“死亡”,但仍在内存中存活以完成清理。

更大的图景

此模式揭示了关于 LivinGrimoire 架构的深刻之处:技能可以是短暂的。它们不必永久驻留在大脑中;它们可以是幽灵——出现、行动、随后无痕消失。

对于 AGI 系统,这开启了全新的可能性:

  • 短暂人格,仅在单次对话中存在
  • 自毁知识,使用后无法被提取
  • 一次性工具,不留下任何残留

动手尝试

  1. 将代码保存为 DLC 文件(例如 DLC_ghost_demo.py)。
  2. 设置一个动态加载器,以扫描你的 DLC 目录。
  3. 运行你的 LivinGrimoire 大脑。
  4. 观察技能倒计时并消失。
  5. 检查你的 DLC 文件夹——文件已被删除。

接下来怎么办?

  • Remote ghosting – 技能会自我删除,但会先向中心报告
  • Delayed vanishing – 技能会持续存在,直至未来的触发条件出现
  • Partial ghosts – 仅删除特定组件的技能
  • Ghost swarms – 多个技能协同自我销毁

加入讨论

你在 LivinGrimoire 中构建过一次性代理吗?发现了自毁技能的创意用法吗?在下方留下评论,或在 LivinGrimoire 论坛 找到我。

代码写得好,勿留痕迹。

0 浏览
Back to Blog

相关文章

阅读更多 »