Ez4p1xEL/deepseek-instagram ↗★ 3
deepseek-instagram
A resident Instagram assistant for DeepSeek Harness — persona-driven Stories and Notes from your DSH usage, controlled only by the owner's DMs. 适合需要根据使用情况自动生成并发布 Instagram 动态的用户。
설치
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Ez4p1xEL/deepseek-instagram第一次使用(约五分钟)
-
安装 Python 依赖。 设置 → Instagram →「运行环境」→ 安装依赖。插件会在
$DSH_HOME/instagram-assistant/.venv建独立环境,安装instagrapi和pillow;默认 PyPI 卡住时自动改用清华镜像,并写入install.log。等到状态显示 ready。 -
登录。 在浏览器里登录 ,打开开发者工具(F12)→ Application → Cookies →
https://www.instagram.com,复制sessionid的值,粘贴到「登录」卡片里点 登录。会话只保存在$DSH_HOME/instagram-assistant/session.json(以及credential.json)。请把它当成密码对待。 -
绑定主人。 填入你的 handle(不带
@),点 绑定主人。插件会把数字用户 id 解析成ownerPk。只有发送者 id 等于这个值的 1:1 私信才能执行指令;昵称写着「我是主人」没有用。 -
设置节奏。 选择 全自动(到点自己发)或 草稿(先生成、等确认),然后设置文案里的 handle 和 @ 对象、每天 Story 条数、活跃窗口、Note 时间、语气和今天的生活素材。
-
可选:写人格卡。 在设置页编辑,或直接改
$DSH_HOME/instagram-assistant/persona.md。改动对下一次生成生效,不需要重启。
就这些。全自动模式下,第一个时间点到了,它会自己写、自己渲染、自己发。
设置与配置
所有设置都能在 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) | 读取或修改配置。 |