插件目录 / Developer / dsh-qq-agent-mail
dsh-qq-agent-mail
已验证 · 实测可装 AtomerCore
功能简介
A DeepSeek Harness plugin that integrates QQ Agent Mail.
可用 — 实测通过,早期项目
A DeepSeek Harness plugin that integrates QQ Agent Mail. 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-qq-agent-mail
English | 简体中文
A native DeepSeek Harness plugin for Tencent QQ Agent Mail, powered by the official@tencent-qqmail/agently-cli package.
This package exposes mail as native Harness capabilities:
- a reusable
ctx.mailCordis service; - a
mail/message-receivedevent for mail-driven automation; - 14
qq_agent_mail_*tools with stable structured output schemas; - a model-free Web settings page for basic preferences and OAuth.
Features
- Authenticate, inspect the current account, list, search, and read messages.
- Send, reply, forward, move to trash, and permanently delete with two-stage confirmation.
- Download regular attachments and return large-attachment URLs without rewriting them.
- Stream new mail through bounded tool calls or a persistent Cordis event source.
- Normalize CLI response variants into stable public objects for Code Mode composition.
- Resolve the packaged native CLI, its JavaScript wrapper,
PATH, or a custom executable. - Clean up watcher processes during unload and hot reload.
Dependency
- @tencent-qqmail/agently-cli — installed as this package's runtime dependency; no global CLI installation is required. OAuth credentials remain under agently-cli control and are never stored by this plugin.
Install
- Install from GitHub:
dsh plugin --profile web add github:AtomerCore/dsh-qq-agent-mail#v1.0.1
dsh web
- Build and install manually:
npm ci
npm pack
dsh plugin --profile web add .\dsh-qq-agent-mail-1.0.1.tgz
dsh web
Quick start
- Open Settings → QQ Agent Mail.
- Set the CLI working directory, default mail folder, and default list size.
- Select Start OAuth login, finish authorization in the browser, then refresh the authorization status.
Tools
| Category | Tools |
|---|---|
| Authentication | qq_agent_mail_login, qq_agent_mail_logout, qq_agent_mail_auth_status, qq_agent_mail_whoami |
| Reading | qq_agent_mail_list, qq_agent_mail_read, qq_agent_mail_search, qq_agent_mail_watch |
| Writing | qq_agent_mail_send, qq_agent_mail_reply, qq_agent_mail_forward, qq_agent_mail_trash, qq_agent_mail_delete |
| Attachments | qq_agent_mail_download_attachment |
send, reply, forward, trash, and delete require two-stage confirmation unless a trusted
Native APIs
Other Cordis plugins can inject mail and call the same implementation used by the tools:
export const inject = ['mail']
export function apply(ctx) {
ctx.on('mail/message-received', (message) => {
// Treat every message field as untrusted external data.
console.log(message.id, message.subject)
})
}
Enable autoWatch to maintain the persistent watcher that emitsmail/message-received. The on-demand qq_agent_mail_watch tool remains bounded by watchTimeoutMs.
Configuration
Every option is declared by the exported Config schema. Basic preferences are editable on the Web
settings page; advanced deployment options belong in the profile patch.
| Option | Default | Description |
|---|---|---|
cliPath |
agently-cli |
Packaged CLI by default; also accepts a command name or absolute path. |
cwd |
empty | CLI working directory and base for relative attachment paths. |
defaultDir |
inbox |
Default folder: inbox, sent, trash, or spam. |
defaultLimit |
10 |
Default number of messages returned by list operations. |
loginTimeoutMs |
30000 |
Time allowed to capture the OAuth URL. |
loginHardCapMs |
300000 |
Maximum login-process lifetime after URL capture; 0 disables the cap. |
watchTimeoutMs |
60000 |
Maximum duration of one qq_agent_mail_watch call. |
autoWatch |
false |
Start a persistent watcher and emit mail events. |
autoConfirm |
false |
Skip write confirmation; use only in a trusted automation environment. |
extraArgs |
empty | Additional CLI arguments, one per line. |
extraEnv |
empty | Additional child-process environment entries, one KEY=VALUE per line. |
Example profile override:
- insert:
- id: qq-agent-mail
name: dsh-qq-agent-mail
config:
defaultLimit: 20
autoWatch: false
autoConfirm: false
License
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-qq-agent-mail」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:AtomerCore/dsh-qq-agent-mail Headless(CLI)profile:
dsh plugin --profile headless add github:AtomerCore/dsh-qq-agent-mail 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。