从历史首条提示提炼项目目标,注入每个新会话
28/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add andrepontesmelo/moving-target该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · chat
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 68 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/7) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 28 处,展示前 26 条)
- 写入本地文件src/extract.test.ts:26
await mkdir(dir, { recursive: true }); - 执行外部命令固定命令src/extract.test.ts:29
execFileSync("zstd", ["-o", log], { input: lines.join("\n") + "\n" }); - 写入本地文件src/extract.test.ts:31
await writeFile(log, lines.join("\n") + "\n"); - 删除本地文件递归src/extract.test.ts:65
await rm(root, { recursive: true, force: true }); - 写入本地文件src/extract.test.ts:90
await mkdir(dir, { recursive: true }); - 写入本地文件src/extract.test.ts:91
await writeFile(join(dir, "session.jsonl"), "{not json\n" + userMsg("never")); - 删除本地文件递归src/extract.test.ts:96
await rm(root, { recursive: true, force: true }); - 写入本地文件src/extract.test.ts:109
await mkdir(otherDir, { recursive: true }); - 写入本地文件src/extract.test.ts:110
await writeFile(join(otherDir, "session.jsonl"), header({ id: "other", cwd: "/elsewhere" }) + "\n" + userMsg("nope") + "\n"); - 删除本地文件递归src/extract.test.ts:115
await rm(root, { recursive: true, force: true }); - 删除本地文件递归src/extract.test.ts:132
await rm(root, { recursive: true, force: true }); - 执行外部命令来自配置/变量src/extract.ts:56
spawnFn: (cmd: string, args: string[]) => any = (c, a) => spawn(c, a), - 读取本地文件src/extract.ts:95
try { await access(join(dir, name)); log = join(dir, name); break; } catch {} - 读取本地文件src/extract.ts:140
for (const sessionDir of await readdir(projectDir, { withFileTypes: true })) { - 读取本地文件src/extract.ts:156
for (const projectDir of await readdir(sessionsRoot, { withFileTypes: true })) { - 删除本地文件递归src/index.test.ts:50
await rm(cwd, { recursive: true, force: true }); - 写入本地文件src/index.test.ts:58
await mkdir(join(cwd, ".moving-target"), { recursive: true }); - 写入本地文件src/index.test.ts:59
await writeFile(join(cwd, ".moving-target", "summary.md"), "no header"); - 删除本地文件递归src/index.test.ts:62
await rm(cwd, { recursive: true, force: true }); - 删除本地文件递归src/index.test.ts:72
await rm(cwd, { recursive: true, force: true }); - 写入本地文件src/index.test.ts:113
await mkdir(dir, { recursive: true }); - 写入本地文件src/index.test.ts:115
await writeFile(join(dir, "session.jsonl"), - 删除本地文件递归src/index.test.ts:130
await rm(root, { recursive: true, force: true }); - 写入本地文件src/summary.ts:41
await mkdir(join(cwd, SUMMARY_DIR), { recursive: true }); - 写入本地文件src/summary.ts:42
await writeFile(path, text, "utf8"); - 读取本地文件src/summary.ts:49
try { text = await readFile(join(cwd, SUMMARY_DIR, SUMMARY_FILE), "utf8"); }
扫描于 2026/11/3(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-commands@deepseek-ai/dsh-llm@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 提炼开场提示词目标
- 注入每个新会话
DSH 插件:冷启动上下文——把你的开场提示词提炼成一段目标说明,注入每个新会话
README
由 DeepSeek 最新模型翻译生成moving-target
一个 DeepSeek Harness(DSH)插件,为每个新的 agent 会话提供一个一段话的项目目标——从你自己的会话历史中提炼而来,在你选择更新之前保持不变。
它的作用
项目上下文存在于两个极端之间:
- 没有记忆——agent 每个会话都要从代码中重新推断项目的用途。维护成本低,但启动慢。
- 全部记录在案——仓库中的规格说明和历史文件。启动快,但会过时,而且每一个过时的想法都会污染未来每个会话的上下文。
moving-target 是轻量的中间地带:一份约一万英尺高度的项目概览,只写一次,注入到每个新会话中,并且只有在你发话时才更新。
- moving-target-bootstrap——每个项目运行一次。它提取工作区中你发送给每个过往会话的第一条提示(对 DSH 会话存储的确定性扫描——提取本身不使用 LLM),并让 agent 将它们提炼成一段目标描述,保存到仓库中的 .moving-target/summary.md。
- 从那时起,每个新会话在开始时就已注入那段描述——在你的第一条提示之前。恢复的会话和未引导的项目不受影响。
- moving-target-update——仅从当前会话刷新摘要。目标会随着项目演进移动;由你决定这份冻结的概览何时跟上它。当前摘要会被注入到更新提示中;agent 绝不会在你背后修改文件。
展开完整文档(README 剩余 1 节)
moving-target 一个 DeepSeek Harness(DSH)插件,为每个新的 agent 会话提供一个一段话的项目目标——从你自己的会话历史中提炼而来,在你选择更新之前保持不变。 它的作用 项目上下文存在于两个极端之间: - 没有记忆——agent 每个会话都要从代码中重新推断项目的用途。维护成本低,但启动慢。 - 全部记录在案——仓库中的规格说明和历史文件。启动快,但会过时,而且每一个过时的想法都会污染未来每个会话的上下文。 moving-target 是轻量的中间地带:一份约一万英尺高度的项目概览,只写一次,注入到每个新会话中,并且只有在你发话时才更新。 - moving-target-bootstrap——每个项目运行一次。它提取工作区中你发送给每个过往会话的第一条提示(对 DSH 会话存储的确定性扫描——提取本身不使用 LLM),并让 agent 将它们提炼成一段目标描述,保存到仓库中的 .moving-target/summary.md。 - 从那时起,每个新会话在开始时就已注入那段描述——在你的第一条提示之前。恢复的会话和未引导的项目不受影响。 - moving-target-update——仅从当前会话刷新摘要。目标会随着项目演进移动;由你决定这份冻结的概览何时跟上它。当前摘要会被注入到更新提示中;agent 绝不会在你背后修改文件。 没有引导?什么也不会发生——零开销。 为什么存在 AGENTS.md 式的目标陈述会腐坏,因为目标是移动的靶子,而没有任何东西标记它移动的时刻。关于一个项目最真实的记录,就是每次你开始会话时对它说的第一句话。moving-target 将这份记录转化为按你的意愿保持新鲜的上下文。 安装 插件按 profile 安装。在此仓库中: npm pack dsh plugin --profile add file:/path/to/moving-target-0.1.0.tgz 通过向 profile 的 cordis.patch.yml 添加一行 insert 来挂载它: - insert: - id: moving-target name: moving-target 快速开始 /moving-target-bootstrap # 每个项目一次;可重复运行,会覆盖 然后什么都不用做——新会话会自动获取摘要。当某个会话改变或扩展了项目的前沿时: /moving-target-update # 从当前会话刷新摘要 独立的提取器也可以在没有插件的情况下使用: npx moving-target-extract /path/to/workspace 2026-08-22 20:19 /myproject Here, in this folder, I want to implement… .gitignore 建议 .moving-target/ 是从你的会话历史中提炼出的个人上下文——默认忽略它: .moving-target/ 只有在团队同意该摘要应当被共享(并且集体重新引导)时,才刻意提交它。 要求 - Node ≥ 22.6(类型剥离)以及 PATH 中的 zstd 二进制文件。 - 会话对 moving-target 是只读的;它从不写入 DSH 存储。 注意事项 - 摘要是一个快照;请刻意刷新它(bootstrap 或 update)。 - 子代理会话被排除在外;只有第一条消息来自人类的会话才计入。 - 注入的摘要面向模型的上下文——在记录中可见,但不能替代真正的提示词。 许可证 MIT — 参见 LICENSE。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
andrepontesmelo/moving-target
从历史首条提示提炼项目目标,注入每个新会话
相关插件 · 对话 / 记忆
上下文中枢oceanbase/powercontext
上下文跟着工作走 —— 跨会话、跨智能体、跨人。
★ 1,489已汉化DSH
73.1
智能体记忆库plastic-labs/honcho
Honcho 是记忆基础设施,用来构建有状态的智能体。这些智能体能理解不断变化的人、智能体、群组、项目和想法。
★ 7,918已汉化DSH
71.7
长程智能体控制面loopx-project/loopx
给 Agent 一个目标,让工作持续向前。
★ 6,358已汉化DSH
71.3
智能体上下文数据库volcengine/OpenViking
给 AI 智能体用的上下文数据库
★ 41,453已汉化DSH
71.3
长效机器人团队Fei2411/DS-Bot
Download DS Bot for Windows 10/11 64-bit / 下载 Windows…
★ 5,293已汉化DSH
71.2
可携带记忆层EverMind-AI/EverOS
为什么选择 EverOS
★ 13,797已汉化DSH
71.1
这是你的仓库?认领条目