用真实使用数据自动打理 Instagram 故事与笔记
32.2/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Ez4p1xEL/deepseek-instagram该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · tool
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 9 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 29 处,展示前 20 条)
- 读取本地文件index.js:104
const ensureDir = (dir) => { if (!existsSync(dir)) mkdirSync(dir, { recursive: true }); }; - 写入本地文件index.js:104
const ensureDir = (dir) => { if (!existsSync(dir)) mkdirSync(dir, { recursive: true }); }; - 读取本地文件index.js:108
try { return JSON.parse(readFileSync(file, 'utf8')); } catch { return fallback; } - 写入本地文件index.js:114
writeFileSync(tmp, JSON.stringify(value, null, 2), 'utf8'); - 写入本地文件index.js:115
renameSync(tmp, file); - 写入本地文件index.js:169
try { appendFileSync(LOG_FILE, line, 'utf8'); } catch { } - 读取本地文件index.js:175
const text = readFileSync(LOG_FILE, 'utf8'); - 读取本地文件index.js:182
const text = readFileSync(INSTALL_LOG, 'utf8'); - 读取本地文件index.js:223
if (cfg.pythonPath && existsSync(cfg.pythonPath)) return cfg.pythonPath; - 读取本地文件index.js:225
if (existsSync(win)) return win; - 执行外部命令来自配置/变量index.js:236
child = spawn(python, [script, ...args], { windowsHide: true, stdio: ['pipe', 'pipe', 'pipe'] }); - 写入本地文件index.js:294
try { appendFileSync(INSTALL_LOG, text.endsWith('\n') ? text : `${text}\n`, 'utf8'); } catch { } - 执行外部命令来自配置/变量index.js:302
child = spawn(command, args, { windowsHide: true, stdio: ['ignore', 'pipe', 'pipe'] }); - 写入本地文件index.js:327
writeFileSync(INSTALL_LOG, `# deepseek-instagram 依赖安装 ${new Date().toISOString()}\n`, 'utf8'); - 执行外部命令来自配置/变量index.js:1198
child = spawn(file, args, { - 发起网络请求client.js:25
const jget = async (p) => asJson(await fetch(API + p, { credentials: 'same-origin' })); - 发起网络请求client.js:26
const jpost = async (p, body) => asJson(await fetch(API + p, { - 读取本地文件lib/spend.mjs:129
return normalizeSpend(JSON.parse(readFileSync(file, 'utf8'))); - 写入本地文件lib/spend.mjs:137
mkdirSync(dirname(file), { recursive: true }); - 写入本地文件lib/spend.mjs:138
writeFileSync(file, body, 'utf8');
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
住进 DeepSeek Harness 的 Instagram 助理:带着人格与记忆,把真实的 DSH 使用数据变成 Story / Note 节奏,只有主人自己的私信能指挥它。
README
由 DeepSeek 最新模型翻译生成deepseek-instagram
住进 Instagram 的 DSH 助理。 它带着人格、记忆和真实的 DSH 使用数据,接管账号的 Story / Note 节奏;而且只有主人自己的账号能通过 Instagram 私信指挥它。
English · 简体中文 · 繁体中文
两张卡片都是 Pillow 在本机渲染的 1080×1920 图片,图中数据为演示数据。
deepseek-instagram 把一个 DSH 助理变成住在 Instagram 上的人格。它不发通用鸡汤:它会观察你在 DSH 里的会话与 token 账本,把它们整理成一张小卡片,用你定义的人格卡口吻写文案,并记住自己已经说过什么。它默认每天计划 10 条 Story、1 条 Note,夜里保持安静。
账号本身就是操作界面。暂停、立刻发一条 Story、查今天的状态,甚至让同一台机器跑一个 DSH 任务 —— 都只要主人账号发一条 1:1 私信。
- 适合:想要一个低维护、能反映自己真实电脑使用状态、有点个性的 Instagram 账号。
- 不适合:需要 Meta 官方 API、多账号管理、Reels/视频,或自动点赞关注。这些它都不做。
功能亮点
- 是人格,不是模板 —— 一份 Markdown 人格卡、一个名字、一种心情和最多 60 条记忆。发帖、回私信、群聊里的语气保持一致。
展开完整文档(README 剩余 1 节)
deepseek-instagram
住进 Instagram 的 DSH 助理。 它带着人格、记忆和真实的 DSH 使用数据,接管账号的 Story / Note 节奏;而且只有主人自己的账号能通过 Instagram 私信指挥它。
English · 简体中文 · 繁体中文
两张卡片都是 Pillow 在本机渲染的 1080×1920 图片,图中数据为演示数据。
deepseek-instagram 把一个 DSH 助理变成住在 Instagram 上的人格。它不发通用鸡汤:它会观察你在 DSH 里的会话与 token 账本,把它们整理成一张小卡片,用你定义的人格卡口吻写文案,并记住自己已经说过什么。它默认每天计划 10 条 Story、1 条 Note,夜里保持安静。
账号本身就是操作界面。暂停、立刻发一条 Story、查今天的状态,甚至让同一台机器跑一个 DSH 任务 —— 都只要主人账号发一条 1:1 私信。
- 适合:想要一个低维护、能反映自己真实电脑使用状态、有点个性的 Instagram 账号。
- 不适合:需要 Meta 官方 API、多账号管理、Reels/视频,或自动点赞关注。这些它都不做。
功能亮点
- 是人格,不是模板 —— 一份 Markdown 人格卡、一个名字、一种心情和最多 60 条记忆。发帖、回私信、群聊里的语气保持一致。
- 重启也不会打乱计划 —— Story 时间点由日期做随机种子,在活跃窗口内均匀分布,相邻至少 30 分钟。重载 DSH 不会把今天重新洗牌。
- 四种 Story —— 生活、助理感想、纯文本、数据卡。每天的配额保证你不会连收十张数据卡。
- 本机渲染 1080×1920 卡片 —— 今日专注、连续天数、本周累计、今日 token、活跃时段和生活素材,全部由 Pillow 绘制。不需要无头浏览器,也不经过云端渲染。
- 默认每天一条 Note —— 不超过 60 字,同样由人格和当天状态生成。
- Story @ 主人 —— 真的贴纸 + 文案里的 @handle,位置可调。
- 只有主人能远程控制 —— 只认绑定成主人的数字用户 id,昵称和自称一律不算。支持短指令和自然语言意图;有副作用的动作必须再回一句确认。
- 群聊存在感 —— 只在主人所在的群里回,@ 或叫人格名才触发,每群有冷却和每小时上限;群消息永远不执行指令。
- 完整的安全阀 —— 暂停开关、按类型每日上限、最小间隔、安静时段、失败冷却,以及 90 分钟补发窗口。
- DSH 内的设置页 —— 状态、今天的计划、人格卡编辑、登录、用量、日志和发布记录都在里面;改 JSON 只是可选项。
- 给模型 9 个工具 —— 同样的控制能力在任何 DSH 会话里都能用,你可以直接在聊天里让它写稿、发布或查状态。
环境要求
| 项目 | 要求 |
| DSH | ≥ 0.1.7-rc.1。桌面版 profile 是主要目标,Web 版也能用。 |
| Node.js | ≥ 22。DSH 运行时自带兼容的 Node.js。 |
| Python | 3.11+,在 PATH 里能找到 python 或 python3(也可以在设置里指定 pythonPath)。插件会创建独立 venv。 |
| 网络 | 能访问 instagram.com、PyPI(失败时自动切清华镜像)以及你的 DSH 模型服务。 |
| Instagram | 一个你能正常登录的账号。不需要 Facebook 登录,也不走官方 Graph API。 |
| 磁盘 | 独立 Python 环境约占 200 MB,另加渲染出的卡片。 |
| 模型 | 一个可用的 DSH 模型,不需要额外 API key。 |
平台说明:插件主要在 Windows(DSH 桌面版)上开发和测试,代码按跨平台编写。Linux/macOS 上最可能需要小修的是 Python venv 路径和命令执行路径;欢迎提 issue 或 PR。
安装
从 npm / DSH 插件中心安装(推荐)
DSH 桌面版
dsh plugin --profile desktop add deepseek-instagram
DSH Web 版
dsh plugin --profile web add deepseek-instagram
如果 npm 上还没有这个包(本项目正在准备第一次上架),请用下面的源码安装方式。
从 GitHub 安装
dsh plugin --profile desktop add github:Ez4p1xEL/deepseek-instagram
从本地目录安装
换成本机 checkout 的绝对路径(Windows 上也可以用正斜杠)。
dsh plugin --profile desktop add link:/path/to/deepseek-instagram
也可以在 DSH 会话里直接调用插件管理器:
plugin_manager install_bundle({ target: "/absolute/path/to/deepseek-instagram" })
安装之后
安装器会返回 application 字段:
| 结果 | 要做什么 |
| applied | 刷新 DSH 页面。 |
| restart-required | 重启 DSH。Host 代码(index.js)在一个进程里只会加载一次。 |
| 有 warning | 认真读一下。插件「看起来装上了但没激活」通常是 import 失败,不是设置问题。 |
然后打开 DSH 的 设置 → Instagram。插件也注册了 Host 路由;<GUI 端口> 就是你当前 DSH 地址里的端口,重启后会变:
Invoke-RestMethod http://127.0.0.1:<GUI 端口>/api/deepseek-instagram/state
第一次使用(约五分钟)
1. 安装 Python 依赖。 设置 → Instagram →「运行环境」→ 安装依赖。插件会在 $DSH_HOME/instagram-assistant/.venv 建独立环境,安装 instagrapi 和 pillow;默认 PyPI 卡住时自动改用清华镜像,并写入 install.log。等到状态显示 ready。
2. 登录。 在浏览器里登录 <https://www.instagram.com>,打开开发者工具(F12)→ Application → Cookies → https://www.instagram.com,复制 sessionid 的值,粘贴到「登录」卡片里点 登录。会话只保存在 $DSH_HOME/instagram-assistant/session.json(以及 credential.json)。请把它当成密码对待。
3. 绑定主人。 填入你的 handle(不带 @),点 绑定主人。插件会把数字用户 id 解析成 ownerPk。只有发送者 id 等于这个值的 1:1 私信才能执行指令;昵称写着「我是主人」没有用。
4. 设置节奏。 选择 全自动(到点自己发)或 草稿(先生成、等确认),然后设置文案里的 handle 和 @ 对象、每天 Story 条数、活跃窗口、Note 时间、语气和今天的生活素材。
5. 可选:写人格卡。 在设置页编辑,或直接改 $DSH_HOME/instagram-assistant/persona.md。改动对下一次生成生效,不需要重启。
就这些。全自动模式下,第一个时间点到了,它会自己写、自己渲染、自己发。
工作方式
1. Host 每 30 秒跑一次调度检查,看下一条 Story 或当天的 Note 是否到点。
2. 到点后,它收集今天的活动和 token 统计,连同人格卡、心情、最近记忆和生活素材一起交给 DSH 模型,要求按严格 JSON 返回文案。
3. 文案经过清洗和截断,卡片由 Pillow 在本机渲染,图片通过 Instagram 私有 API 发布,并记下 post id。
4. 私信轮询按同样的节奏运行。消息按时间从旧到新处理,按发送者 id 过滤,然后走短指令、自然语言意图或普通闲聊。
5. 状态存在 $DSH_HOME/instagram-assistant/ 下的小 JSON 文件里;计划本身由日期确定性地重算,所以重启既不会重复也不会丢时间点。
如果模型不可用或返回胡话,这一条会退回确定性模板,不会让整个节奏停摆。
每天的节奏(默认)
| 时间 | 发生什么 |
| 08:30 – 23:00 | 10 个 Story 时间点,在窗口内随机分布,相邻至少 30 分钟。 |
| 12:30 | 一条 Note(不超过 60 字)。 |
| 23:00 – 08:00 | 安静时段,不发布任何内容。 |
| 每 30 秒 | 调度检查 + 私信轮询(私信轮询有节流,每轮最多 12 个会话 × 8 条消息)。 |
| 时间点过后 90 分钟 | 如果错过了(DSH 休眠、断网、失败),标记为 missed,不补发。 |
当天的 Story 发布顺序是固定的;某一条发布失败会按 10、20、30……分钟退避重试,最多 60 分钟。
Story 类型
| 类型 | 标签 | 内容 |
| life | 生活 | 主人身边发生的事,用「住在屏幕里」的视角写。 |
| thought | 助理感想 | 基于当天活动和心情的短日记式感想。 |
| text | 纯文本 | 大字文本卡;私有 API 不能直接发文字 Story,所以把文字渲染成图片。 |
| stats | 数据卡 | 专注时长、连续天数、本周累计、今日 token、活跃时段和生活素材。 |
默认 10 条 Story 的配额是:生活 3、助理感想 3、纯文本 2、数据卡 2。
卡片
每张 Story 图片都是 1080×1920,本机生成:
- 数据卡 —— 顶部 DSH DAILY、一句标题,今日专注、连续天数、本周累计、今日 token、活跃时段胶囊、生活素材,底部 @handle · DeepSeek Harness。
- 纯文本卡 —— 顶部 THOUGHT / TEXT,正文大字,同样的页脚。
- 卡片只显示 token,不显示金额;金额只在设置页里看。
- 文件保存在 $DSH_HOME/instagram-assistant/out/card-<日期>-<序号>.png。
人格与记忆
人格卡是「它怎么说话」的唯一事实来源。你写在那里的内容优先于内置语气。一张好的人格卡通常回答:
- 它是谁?名字、身份、住在哪。
- 它怎么说话?句子长短、标点、表情习惯、语言。
- 它了解你什么?工作节奏、偏好、只有你们懂的梗。
- 它绝对不能说什么?隐私、政治、医疗建议、编造事实。
- 它怎么称呼你?「主人」还是名字。
默认人格卡里有 @imnotp1xel / @ez4p1xel 这样的占位符,发布前记得换成你自己的 handle。
它还会在 persona.json 里保留一点记忆:
- 最多 60 条记忆(发生了什么、发过什么、主人说过什么)。
- 最多 8 个未完成话题(它想以后再接着聊的事)。
- 当前心情。
- 每次提示词会带上最近 6 条记忆和最相关的 4 个话题。
文案默认是中文优先,因为提示词和内置模板都是中文。想让它用别的语言写,请在人格卡里明确写出来(例如「始终用英文写,即使系统提示是中文」),并相应调整语气。
用 Instagram 私信远程控制
只有绑定为主人的 id 发来的 1:1 消息才会被当成指令。其他人一律只读;你也可以选择自动回复或提醒自己。
短指令
| 发送 | 动作 |
| 状态 / status | 今天已发 / 剩余条数和当前状态。 |
| 日志 / log | 最近的运行日志。 |
| 暂停 / pause | 停止按计划发布。 |
| 恢复 / resume | 恢复按计划发布。 |
| 发一条 / story | 立刻发一条 Story。 |
| 发note / note | 立刻发 Note。 |
| 草稿 / draft | 切换到草稿模式。 |
| 自动 / auto | 切换到全自动模式。 |
| 帮助 / help | 列出可用指令。 |
自然语言
先走关键词快路径,再由 DSH 模型把整句话映射到固定动作清单里的一个动作,返回严格 JSON。清单外的动作、坏 JSON、缺参数一律拒绝,这条消息就按普通聊天处理。模型不能发明新动作。
| 你可以说 | 它会 |
| 「回复一下你未读的私信」 | 回复最多 5 条未读 1:1 私信(默认 3 条;只挑最近 72 小时有过消息、且不是主人自己的会话)。 |
| 「帮我在本机跑一下 npm test」 | 在运行 DSH 的机器上执行这条命令(run_command)。 |
| 「让 DSH 整理一下今天的日志」 | 在同一台机器上执行 dsh headless "<任务>"(dsh_task)。 |
有副作用的动作会先生成草稿:它回一条「准备做什么」,你回 发 / 确认 / ok 才执行,回 取消 / 算了 就丢掉。只保留最新一份草稿,10 分钟后作废。
如果嫌每次都要确认,可以在设置页「主人与私信」里打开 完全权限:让电脑干活时不再询问(配置项 dm.fullAccess,默认关)。打开后只有「在本机跑命令」和「让本机 DSH 跑任务」这两类会直接开始执行,不再先给草稿;每次仍会回一条「(完全权限)已开始跑:…」,跑完把结果发你。对外发消息(回未读私信)仍然要确认——发出去就收不回来了。
⚠️ 远程执行命令在这里是功能,不只是风险。 主人的私信可以在运行 DSH 的机器上执行 shell 命令或 dsh headless 任务。如果你的 Instagram 账号或 sessionid 泄露,那台机器也等于被控制。只需要发帖功能的话,请在设置里关掉「允许指令执行」(dm.intents)。
群消息永远不执行指令;非主人私信也永远不执行指令,哪怕文本里写着「我是主人」。
群聊
- 范围 —— 只回主人所在的群(group.onlyOwnerGroups)。
- 触发 —— mention 模式要求被 @handle 或叫到人格名(「小 p」);off 只停止回群,不影响轮询。
- 限制 —— 30 秒轮询一次,每群冷却 90 秒,每小时最多回 8 条。
- 边界 —— 只回答刚收到的那条消息,群里永远不执行指令,也不透露用量、token、花费、文件路径或会话内容。
- 上下文 —— 最近 6 条群消息会交给模型参考。
别人发来的私信
两个独立开关;它们都不会授予指令权限。转发默认开启,自动回复默认关闭:
| 设置 | 默认 | 行为 |
| 提醒主人(dm.notifyOwner) | 开 | 别人发来私信时,往主人的 1:1 会话转发一条摘要;同一个人 30 分钟内最多提醒一次。 |
| 自动回复档位(dm.autoReply) | off | off、all(谁都回)、mutual(互关才回)、follower(对方关注你就回)。同一会话的回复冷却由 dm.cooldownSeconds 控制(默认 30 秒),每天受 dm.dailyReplies 限制(默认 30 条)。 |
自动回复使用「陌生人」场景:友好、简短、不透露隐私、不执行任何指令。
主人分享的 Post / Reels / 视频
主人在 1:1 私信里分享一条 Post / Reels / 视频(或直接发图/视频)时,助理会去读它的公开信息——作者、配文、时长、点赞/评论/播放数、话题标签、@提及——再按「主人刚发来的一条」回一句,而不是只看到一条没有文字的消息。
- 读懂的程度:文案 + 数据。视频的时长会写成 1:29 这样,播放量、话题标签也会读出来;但不下载视频、不抽帧、不听声音,提示词里会明确告诉模型「看不到画面、听不到声音」,避免它假装看过。
- 开关一:设置页「功能开关」→「读取主人分享的 Post / Reels」(配置项 dm.readShares,默认开)。关闭后分享消息只推进已读水位,不调用模型、不回复。
- 开关二:同处「读懂分享后,说一句自己的感想」(配置项 dm.shareOpinion,默认开)。关掉仍会读内容、仍回消息,只是不评价——只回「看到了」这类确认。
- 读取失败:只在日志里记一笔,按分享自带的配文/短码回一句,绝不编造内容。
- 不适用:别人的私信、群聊里的分享都不会被读取。
设置与配置
所有设置都能在 DSH 设置 → Instagram 里改:每个分区卡片底部都有自己的「保存本区」按钮,只提交这一区的字段,不会把别的区还没保存的改动一起写掉。同一份值也保存在 $DSH_HOME/instagram-assistant/config.json:
| 键 | 默认 | 含义 |
| mode | auto | auto 到点自动发;draft 只生成等确认。 |
| enabled | true | 调度器总开关。 |
| handle | 空 | 你的 handle,用于文案和 @。 |
| owner / ownerPk | 空 | 绑定的主人 handle 和数字用户 id。 |
| personaName | 小 p | 群里叫它什么。 |
| timeZone | Asia/Hong_Kong | 决定切日、安静时段和计划。 |
| tone | 轻松、像本人随手发 | 附加到提示词里的语气提示。 |
| lifeNote | 空 | 今天的一句话素材,整个循环里最「人」的输入。 |
| storiesPerDay | 10 | 每天计划的 Story 条数(实际发布还受 safety.storyCap 限制)。 |
| dayStart / dayEnd | 08:30 / 23:00 | Story 时间点的活跃窗口。 |
| noteTime | 12:30 | 每天 Note 的发布时间。 |
| useLlm | true | 设为 false 只用模板(适合测试)。 |
| pythonPath | 空 | 显式指定 Python 解释器。 |
| dm.enabled | true | 开启 1:1 私信轮询和控制。 |
| dm.reply | true | 回复主人的私信。 |
| dm.intents | true | 允许自然语言动作(包括本机命令)。 |
| dm.dailyReplies | 30 | 每天回复非主人私信的上限。 |
| dm.history | 6 | 私信回复带入的上下文条数。 |
| dm.autoReply | off | 见上一张表。 |
| dm.notifyOwner | true | 把别人的私信转告主人。 |
| dm.cooldownSeconds | 30 | 同一个私信会话两次回复的最小间隔(秒,0 = 不冷却;设置页「主人与私信」可改)。 |
| dm.readShares | true | 主人分享 Post/Reels 时,是否去读内容并回一句(关掉就只推进水位,不读也不回)。 |
| dm.shareOpinion | true | 读懂分享后,要不要说一句自己的感想(关掉只回「看到了」,不评价内容)。 |
| group.enabled | true | 开启群聊轮询。 |
| group.mode | mention | mention 或 off。 |
| group.onlyOwnerGroups | true | 只在主人所在的群回复。 |
| group.cooldownSeconds | 90 | 每群冷却。 |
| group.hourlyCap | 8 | 每群每小时回复上限。 |
| group.history | 6 | 群聊上下文条数。 |
| publish.story / publish.note | true | 允许发布对应类型。 |
| storyMention.enabled | true | 每条 Story 都附上主人 @。 |
| storyMention.x/y/width/height | 0.5 / 0.86 / 0.5 / 0.09 | 贴纸位置和大小占图片的比例。 |
| safety.paused | false | 发布的硬停止。 |
| safety.storyCap / noteCap | 10 / 1 | 按类型每日上限。 |
| safety.onePerKind | true | 每天只发一条 Note。 |
| safety.minIntervalMinutes | 30 | 任意两条已发布内容的最小间隔。 |
| safety.failureCooldownMinutes | 120 | 瞬时失败后的冷却。 |
| safety.quietStart / quietEnd | 23:00 / 08:00 | 安静时段。 |
| safety.dryRun | false | 只渲染、不真正发布。 |
安全阀的判定顺序是:暂停 → 瞬时失败冷却 → 按类型上限 → 最小间隔 → 安静时段。只有瞬时失败(网络、超时、限流、未知)会触发冷却;登录/人机验证这类错误不冷却,修好之后可以立刻重试。
暴露给模型的工具
| 工具 | 用途 |
| ig_status | 完整状态:模式、登录、配置、今天的计划、计数、最近错误。 |
| ig_stats(days) | 最近 N 天(1–30)的 DSH 专注和 token 统计。 |
| ig_plan | 今天的 Story/Note 计划与时间。 |
| ig_draft(lifeNote) | 生成下一条 Story 预览和 Note 草稿,不发布。 |
| ig_publish(kind, force) | 发布当前草稿(story、note 或 all);force 跳过安全阀。 |
| ig_run | 立刻跑一轮调度。 |
| ig_login(sessionid) | 保存并校验 Instagram sessionid。 |
| ig_persona(md, name, mood) | 读取或替换人格卡、名字和心情。 |
| ig_config(patch) | 读取或修改配置。 |
数据、隐私与花费
读取什么
- $DSH_HOME/sessions//session.v4.jsonl.zstd —— 只读 DSH 会话事件的时间戳*,用来估算专注、连续天数和活跃时段;不读消息内容。
- $DSH_HOME/.dshw-usage.json —— DSH 自己的 token 和花费账本,用于数据卡。
- $DSH_HOME/instagram-assistant/usage.json —— 助理自己的 token/花费账本。
什么会离开本机
- Instagram 会收到你发布或发送的图片、文案和私信(私有 API)。
- 你的 DSH 模型服务会收到提示词:统计、人格卡、心情、最近记忆、生活素材、最近发布记录,以及(回复时)对方发来的私信/群聊文本。
- 不会发给作者,也没有任何统计或遥测。
本机文件
$DSH_HOME/instagram-assistant/
├── config.json # 插件配置 ├── persona.md # 人格卡(唯一事实来源) ├── persona.json # 心情、记忆、未完成话题 ├── posts.json # 发布记录(最近 400 条) ├── usage.json # 助理的模型用量账本 ├── dm-state.json # 私信水位、待确认草稿、提醒节流 ├── session.json # Instagram 登录态(机密) ├── credential.json # Instagram sessionid(机密) ├── account.json # 缓存的账号 pk、用户名、头像 ├── drafts/ # 生成的预览 ├── out/ # 渲染好的 Story 卡片 ├── log.txt # 运行日志 └── install.log # Python 环境安装日志 session.json 和 credential.json 是活的登录凭证。它们已被 git 忽略,插件也不会主动上传,但它们在磁盘上是明文 JSON —— 请保护好 DSH 家目录,不要把内容贴进 issue。
花费
- 每条 Story、Note、私信回复和意图解析都是一次 DSH 模型调用,记在你自己的 DSH 账上。
- 设置页会拆分助理自己的用量,并按内置价格表估算人民币金额(DeepSeek Flash / V4-Pro,峰谷分时)。这只是估算:官方价格和峰谷规则都可能变化。
- 不需要额外订阅、代理或第三方 API key。
风险与限制
这是一个会碰真实账号、并且可选地碰真实机器的自动化工具。开启全自动之前请先读完这一节。
1. 非官方 Instagram API。 插件用的是 instagrapi(私有移动端 API),不是官方 Graph API。自动发帖和发消息可能违反 Instagram 条款,可能导致限流、人机验证、临时封禁甚至丢号。请用一个你输得起的账号,保持低频,测试期优先用草稿模式。
2. 你的使用数据会公开。 专注时长、连续天数、周累计、token 数和生活素材都会被画进图片。如果这些信息敏感,请不要开启数据卡。token 不是金额,但仍然能描述你的习惯。
3. 主人的私信可以执行代码。 开着 dm.intents 时,主人账号发来的一句话可以在这台机器上执行 shell 命令或 dsh headless 任务。确认步骤防的是「助理听错话」,防不住 Instagram 账号被劫持。不需要的话请关掉指令执行。
4. 人格卡不是过滤器。 模型仍可能写出不准确、不合时宜或不像你的内容。草稿模式就是为此存在的。账号发出去的内容由你负责。
5. 私有 API 很脆。 Instagram 会不打招呼地改接口,今天能用的版本可能一夜之间失效。登录态会过期,人机验证需要你在 App 里手动完成。
6. 单账号、只发图片。 不支持多账号、Reels/视频、点赞、关注、评论或 Story 互动。Story 都是单张图片;「文字 Story」其实是带文字的图片。
7. 中文优先输出。 提示词和兜底模板都是中文。要写其他语言,需要在人格卡里明确要求并自行测试。
8. 非官方关联。 这是一个独立开源项目。「Instagram」和「Meta」是 Meta Platforms, Inc. 的商标;「DeepSeek」「DeepSeek Harness」归各自权利人所有。MIT 许可只覆盖本插件代码。
常见问题
| 现象 | 检查什么 |
| 设置里没有 Instagram | 插件没有激活。在 DSH 日志里搜 failed to import;index.js 无效会让整条插件不激活。重装并重启 DSH。 |
| 设置页报「读取失败:HTTP undefined」 | 通常是旧版 client.js 漏了 await fetch。更新插件并强制刷新页面。 |
| 安装依赖失败 | 没有 Python 3.11+,或 Microsoft Store 的 python 别名把解释器拦住了。从 python.org 安装,或设置 pythonPath / DSH_INSTAGRAM_PYTHON;查看 install.log。 |
| pip 卡在 Downloading wheel | PyPI 不通。安装器会自动重试清华镜像;仍失败就检查代理/VPN 再重跑。 |
| 「尚未登录」/ login_required | sessionid 过期或复制不完整。重新导出并登录。 |
| 点发布没反应 | 安全阀拒绝了。看日志里的原因:暂停、当日上限、最小间隔、安静时段或失败冷却。设置页也会显示同样的原因。 |
| 失败后好像点不动了 | 登录/人机验证/卡片错误不会冷却;瞬时网络错误会冷却 120 分钟。去 log.txt 看具体 code。 |
| Invalid schema for function 'ig_config' | 0.1.x 早期版本的回归:工具参数必须经过 textTool() 归一化。更新到最新版本。 |
| tool_addition blocks can only be in system messages | 反复重载插件让当前会话攒了太多工具注册事件。开一个新会话;不要在聊天中途反复禁用/启用插件。 |
| Windows 上 spawn EPERM / 子进程报错 | DSH 沙箱阻止了创建进程。把 DSH 移出受限沙箱,或放行 Python 解释器和 shell。 |
| 某个 Story 时间点被跳过 | 晚于时间点 90 分钟就会标记 missed,不补发,避免积压刷屏。 |
| Instagram 人机验证 / checkpoint | 在 Instagram App 或网页里手动完成。插件不会也无法绕过。 |
日志固定在 $DSH_HOME/instagram-assistant/log.txt,设置页也会显示最后几行。
开发
目录
index.js # Host 插件:配置、调度、HTTP 路由、工具 client.js # 设置页(非 ESM,window.__ModuleLoader__) lib/ # 纯逻辑 + 单测 actions.mjs # 固定动作清单 + 意图解析 commands.mjs # 短指令、主人/群聊判定 content.mjs # 提示词、文案、卡片 spec dshusage.mjs # DSH 会话/用量解析 features.mjs # 自动回复档位、提醒节流、发布开关 persona.mjs # 人格卡、记忆、群聊提示词 plan.mjs # 确定性每日计划 pricing.mjs # token 价格表 + 峰谷时段 safety.mjs # 发布安全阀 singleflight.mjs # 私信轮询单飞闸 spend.mjs # 助理用量账本 unread.mjs # 未读私信挑选规则 usage.mjs # 活动块、切日、连续天数 test/ # 109 个单测,进程内运行 vendor/instagram-mcp/ ig_cli.py # Instagram 私有 API 桥 render_card.py # Pillow 卡片渲染器 docs/research/ # DSH Host/Client 插件契约笔记
没有构建步骤,DSH 直接加载这些文件。
测试
node test/run.mjs
node test/run.mjs 在一个进程里 import 所有测试文件,避开 Windows 沙箱里 node --test 会遇到的 spawn EPERM。覆盖:时区切日、活动块合并、周累计/连续天数、提示词长度、卡片 spec、安全阀、确定性计划、人格解析、私信指令判定(只认主人 id)、群聊规则、工具 schema 归一化、client 静态契约、会话解析和用量计算。
快速手查统计管线:
node -e "import('./lib/dshusage.mjs').then(m => console.log(m.buildStats({ home: process.env.DSH_HOME })))"
开发循环
- 改 client.js:重新构建/加载 client bundle,然后刷新页面。
- 改 index.js:重启 DSH。ESM 模块在 Host 进程生命周期内会被缓存。
- 不要在用户正在聊天时禁用/启用插件:每次增删工具都会在会话里留下一条 tool-addition/tool-removal 开发者消息。攒多了以后 Messages API 会整条拒绝:messages.N: tool_addition blocks can only be in system messages。改完 Host 代码请开新会话。
- 不要 import '@deepseek-ai/':桌面 profile 是 autoInstallPeers:false 且 DSH_HOST_MODULES 为空,裸 import 会让整条插件静默不激活。
- Host ↔ Client 只走 HTTP 路由(/api/deepseek-instagram),没有自定义 RPC。
- 工具定义必须经过 textTool(),这样 provider 看到的 parameters.type 才是 "object"。
Python 环境(开发用)
python -m venv --without-pip .venv
.venv\Scripts\python.exe -m ensurepip --upgrade
.venv\Scripts\python.exe -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple instagrapi pillow
echo '{}' | .venv\Scripts\python.exe vendor\instagram-mcp\ig_cli.py doctor
发布到 DSH 插件市场
- 包名:deepseek-instagram;MIT 许可;仓库 https://github.com/Ez4p1xEL/deepseek-instagram。
- 给 GitHub 仓库加上 dsh-plugin topic。
- 如果希望 App 内的 DSH 插件中心能直接安装,请发布到 npm(先 npm pack --dry-run,再 npm publish)。
- 在 <https://dsh-plugin.org/submit> 用 issue 模板提交: [插件提交] Ez4p1xEL/deepseek-instagram — 让 DSH 助理住进 Instagram
- 收录之后,可以把徽标加到 README 顶部:
Listed on dsh-plugin.org
许可
MIT © 2026 Ez4p1xEL
本项目与 Meta Platforms, Inc.、Instagram、DeepSeek 没有关联,也未获得其背书或赞助。使用风险自负,并请遵守你所自动化服务的使用条款。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Ez4p1xEL/deepseek-instagram
用真实使用数据自动打理 Instagram 故事与笔记
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,330已汉化DeepSeek 客户端
74.5
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,636已汉化DSH
72.2
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,349已汉化DSH
71.6
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,311已汉化DSH
71.4
智能体运行框架路由HarnessRouter/harnessrouter
智能体 harness 的统一接口。
★ 3,984已汉化DSH
71.3
这是你的仓库?认领条目