shiyi-agent

agent
Guvenlik Denetimi
Basarisiz
Health Gecti
  • License — License: GPL-3.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 39 GitHub stars
Code Basarisiz
  • os.homedir — User home directory access in assets/dsh_plugins/shiyi_free_search/lib/index.js
  • process.env — Environment variable access in assets/dsh_plugins/shiyi_free_search/lib/index.js
  • network request — Outbound network request in assets/dsh_plugins/shiyi_free_search/lib/index.js
  • os.homedir — User home directory access in assets/dsh_plugins/shiyi_session_move/lib/index.js
  • process.env — Environment variable access in assets/dsh_plugins/shiyi_session_move/lib/index.js
  • network request — Outbound network request in tools/accept_all.sh
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

拾忆 ShiYi · 个人 AI 工作台(Android / Windows):能读写文件、跑命令、联网搜索,带长期记忆 / 技能 / 子代理 / 多 Agent 群聊 / 内置 Alpine 终端,可切拾忆本地引擎或 DeepSeek Harness

README.md

拾忆 ShiYi

运行在 Android 手机与 Windows 桌面的个人 AI 工作台 —— 让 AI 不只是回答问题,而是参与你的实际工作:读取资料、修改文件、运行命令、整理项目。

Release
License
Platform
Flutter

📦 下载安装:shiyi-agent-v2.6.11.apk · 新手教程 · 使用教程 · 更新日志 · GitHub Releases

🆕 2.6.11 更新:模型输出不再被人为上限截断(默认不限制)、网络断连每轮自动重试、首字延迟降低约 3 秒、群聊改成真正的层级行动并拿到完整工具集。详见 更新日志。


关于拾忆

拾忆(ShiYi)是一款运行在 Android 手机与 Windows 桌面的个人 AI 工作台。它将大语言模型、长期记忆、项目文件管理、内置终端与技能系统整合为一个应用,并可切换拾忆本地引擎或 DeepSeek Harness。AI 从"聊天助手"升级为"随身工作伙伴"——你可以把资料丢给它、把项目交给它、把重复任务委托给它,在手机或电脑上完成实际工作。界面按 Apple 设计理念(HIG)统一重构,使用毛玻璃导航、Inset Grouped 分组卡片与深浅色跟随。

第一次使用请从 新手教程 开始(装包 → 配模型 → 第一句话 → 让它干活,约 20 分钟)。

活人感

拾忆接入 LAAP(Living Agent Application Protocol)意识工程。LAAP 是面向数字生命体的 Zero-LLM 认知架构:由 PSI Core、情绪与需求状态、情景记忆、因果推理和规则引擎等认知模块提供持续的内在状态,让大语言模型成为表达与交流伙伴,而不只是单独承担全部认知工作。

在拾忆中,LAAP 作为独立的本地认知皮层运行,通过认知状态、记忆召回与回合反思生成动态认知上下文,再交给当前模型参与对话。它不替代拾忆的聊天引擎,也不改变模型接口;“活人感”默认关闭,用户可在 Agent 引擎页单独启用。

功能特性

智能对话

  • 双引擎切换:拾忆本地引擎或 DeepSeek Harness,会话数据各自独立
  • 多模型接入:内置 OpenAI / Anthropic / Gemini / DeepSeek 等常见 API 预设,支持自定义接口配置管理、一键获取模型 ID 与测试连接
  • 拾忆 API 注入 DSH:本机与局域网 DSH 走「手机临时中转」租约(真实 Key 不离开手机,随用随删);公网 DSH 走直接注入(真实 Key 写入你自己的目标服务器,可随时在模型数据页删除)
  • 多轮对话与独立会话管理:搜索 / 重命名 / 删除 / 左滑快捷操作(含复制会话 ID)
  • 拾忆跨会话查阅:把会话 ID 发到另一个拾忆会话,模型可用 search_sessions / read_session 找到并阅读,不走长期记忆或联网搜索
  • 项目分类管理会话:新建项目时选择文件夹,项目横幅点击展开 / 收起,左滑支持新建会话 / 文件夹 / 重命名 / 删除;长按项目 / 会话卡片可拖拽排序,会话可拖到另一项目(停满 1 秒)
  • DeepSeek Harness 工作区:会话只能在本工作区内长按排序;本机 / 局域网 / 公网都不支持把同一条会话换到另一个工作区(官方 cwd 写死在日志头)
  • 项目级工作目录:项目设置一次,项目下会话自动继承;会话也可单独覆盖
  • 文件 / 图片多选附件,支持视觉模型图片理解
  • 流式输出、断连每轮自动重试、上下文自动压缩与硬窗口保护;手动压缩走输入区常驻按钮
  • 自定义 SOCKS5 通道:自动检测本机 Clash / V2Ray,或手动添加境外代理服务器;对话、拉模型、联网搜索可走该出口
  • 思考过程流式展示,长思考自动滚动跟随;思考开关与思考强度按模型 ID 关键字识别,常见家族与自定义模型都可调节
  • 悬空液态玻璃输入区、消息入场动画与流式跟随
  • 输出不设人为上限:输出长度 / 等待时长 / 续写轮数 / 工具轮数默认全为「不限制」(设置里可自行收紧),长任务不再被自己掐断
  • 缓存命中优化:输入框统计栏实时显示服务端缓存命中率,稳定前缀跨分钟复用,首字更快更省钱
  • 回车键发送可开关;长按消息气泡支持选择文字 / 复制 / 朗读 / 重新生成 / 保存记忆 / 保存技能
  • 工具调用与代码改动可见:工具胶囊点开是完整入参 + 完整输出,写入类工具显示等宽差分(新增绿 / 删除红)

项目与文件

  • 项目分类管理:主页以项目为一级入口,会话归入项目,工作目录随项目统一管理
  • 新建项目时选择文件夹位置,项目横幅左滑即可新建会话
  • 文件页可视化浏览 / 搜索,支持外部存储与内部存储,大目录异步加载不卡 UI
  • 会话内文件路径可点击,弹窗切换工作目录或使用全局默认目录

记忆与技能

  • 长期记忆:自动沉淀偏好、决定与项目背景,支持全文检索与多选管理
  • 技能系统:输入 / 快速选择技能,支持导入 / 编辑 / 导出 / 删除自定义技能包
  • 网页搜索与网页内容提取,多来源交叉验证

拾忆群聊(多 Agent 团队协作)

  • 入口在拾忆主页会话 tab 顶部「群聊」条与功能页群聊列表;会话页与拾忆聊天同一套液态玻璃输入框和气泡
  • 可粘贴 mermaid / 字符思维导图自动生成 Agent 团队,识别角色人数、人设与汇报关系
  • 每个成员独立配置:名字、职位、人设提示词、API 配置与模型(领导用强模型、执行用便宜模型)
  • 层级行动调度:叫几个人就几条线程并行;整批全部汇报完才轮到下一批,上级不会拿着半成品开工;派活的人持续算「在飞」,直到真正向上汇报
  • @ 语义区分指派与引用:条件句里的名字("通过后再让 @乙 做")、文档里提到的名字、动作对象位置的名字都不会误启动;真正的多人指派照旧并行
  • 负责人不许自己开干:有下属却自己埋头干活会被提醒去派活(提醒只影响这一次,不进聊天记录)
  • 成员用完整工具集:读写文件、终端、联网搜索、抓取、技能、记忆、跨会话查阅、运行时诊断全部可用(与普通会话同源)
  • 全过程可见:每个成员的思考过程、工具调用、代码改动都在它自己的气泡里;工具胶囊显示完整入参与输出,顶栏终端图标打开调用日志
  • 汇报要求实质内容:结论、产出路径、关键数据、下一步,避免只回"收到"

内置终端

  • Android 端底部「终端」栏与 AI 的 run_terminal 共用内嵌 Alpine(bash / python3 / apk),无需另装 Termux;点画面输入,输入 / 输出 / 警告 / 错误分色;双指捏合缩放字号,命令前缀补全,命令行按 token 分色。内嵌终端依赖 Android 设备的执行权限环境,无 root 设备可能受 SELinux 限制
  • 2026-08-15 起基于 Alpine Linux(proot + minirootfs,APK 内置约 3.9MB,取代旧 Termux bootstrap 40MB+):
    • 包管理 apk(清华镜像优先 + 官方兜底,网络抖动自动重试),命令全部在 Alpine 沙箱内执行;
    • Node.js 环境(apk add nodejs npm)随 DeepSeek Harness 引擎自动安装,无需手动配置;
    • 旧版本数据无缝迁移(会话 / 凭据 / 记忆全部保留,覆盖安装即可升级)。
  • 命令输出限流,长日志不撑爆内存;支持运行 Python 脚本、文本处理、项目管理工具

子代理(委派分工)

  • spawn_agent:让 AI 派出专项子代理分头处理子任务,干完交回报告
  • 内置四类:explore 只读侦查、plan 只读方案设计、worker 独立执行、general-purpose 兜底
  • 并行派发:一次 tasks 数组派多个子代理,数量由拾忆按任务复杂度自行决定,同时跑、互不阻塞,单个失败不影响其他,界面显示「子代理 i/N」进度
  • 动态轮数预算:每任务可用 max_turns(180)按复杂度动态调整(简单 510、复杂 40~60),省时省钱
  • 写路径隔离:并行 worker 可各自声明 write_paths,越界写入会被执行层拒绝,互不覆盖文件
  • 子代理执行进度实时可见(当前轮次 / 正在调用的工具)
  • 安全设计:工具白名单、禁止递归委派、轮次上限

体验与设计

  • 按 Apple 设计理念(HIG)统一重构:毛玻璃底栏、Inset Grouped 分组卡片、深浅色跟随
  • 底部四栏:会话 / 功能 / 文件 / 终端;切换到 DeepSeek Harness 后为工作区 / 功能 / 文件 / 终端。终端栏接入内嵌 Alpine proot(init-host),不是另装一套 Termux
  • 设置页 iOS 风格分组:模型 / 对话 / 通用 / 支持,二级菜单渐显渐隐;通用里可配 SOCKS5 代理
  • 语音朗读、任务完成通知、浅色 / 深色 / 跟随系统主题
  • 内置日志与排障能力

界面预览

2.5 界面预览

首页与会话

欢迎页 首页(空状态) 首页(项目 / 会话)
欢迎页 首页空状态 首页项目会话
会话(目录工具) 会话(工具调用) 会话(消息操作)
会话目录 工具调用 消息操作

功能与文件

功能 长期记忆 技能
功能 长期记忆 技能
文件 设置 模型 API
文件 设置 模型 API

设置与关于

对话与功能 上下文 关于
对话与功能 上下文 关于

1.0 旧版界面预览

2.5 延续 2.0 的 Apple 设计理念(HIG),以下为 1.0 版本的历史界面,保留作对比参考。

主页 侧边栏 记忆
主页 侧边栏 记忆
技能 文件 设置 关于
技能 文件 设置 关于

安装

  1. 从 Releases 下载 APK(Android 8.0+,arm64)
  2. 安装后打开应用,完成初始配置(模型配置见 新手教程)
  3. 首次启动会自动部署内置 Alpine 终端环境(约 4MB 资产 + 首次初始化),请耐心等待

提示:更新版本请直接覆盖安装(adb install -r 或允许系统覆盖),不会清除本地数据。不要卸载重装。

快速开始

  1. 打开 功能 → 设置 → 模型,填写 LLM API 信息(Base URL / API Key)→ 获取模型 → 测试连接
  2. 返回底部 会话 栏,点击 新建项目 并选择文件夹位置
  3. 在项目横幅左滑可 新建会话 / 设置项目文件夹 / 重命名 / 删除;项目操作都在主页完成
  4. 开始对话;需要处理文件或运行命令时,直接让 AI 在当前项目目录中完成操作
  5. 需要多人协作时,从会话 tab 顶部进 群聊,贴一份思维导图建团队

每一步的截图级说明见 新手教程。

核心设计

独立项目目录

项目可以设置统一的工作目录,项目下没有单独设置目录的会话会自动继承;每个会话也仍可覆盖为自己的独立目录。AI 在当前会话中创建、读取和修改的文件默认围绕生效的工作目录管理,不同项目互不干扰。

内置终端

Android 端集成了移动端终端环境(bash + python3),不需要额外安装 Termux。它基于 Android 应用沙箱 + 内嵌用户空间(proot + Alpine Linux minirootfs)实现,首次启动自动部署;在无 root 设备上,是否可用取决于系统 SELinux 对内嵌 ELF 执行和文件操作的限制。主页底部「终端」栏与 AI 工具走同一条 init-host 启动链。Windows 端使用本机 WSL、Git Bash、PowerShell 7 或 cmd。

性能与省电

会话页进入时只读取尾部窗口并按需分页上翻,长会话不卡顿;应用退到后台后不再轮询,只有真正在出字时才快轮询,空闲时降到 12 秒一拍,目标不可达时再放慢 5 倍——真机实测请求频率从约 1.15 次/秒降到 0.26 次/秒,明显改善发热与耗电。

输出上限

拾忆默认不限制模型输出:输出长度、长推理等待、自动续写轮数、工具轮数四项默认全为「不限制」(设置 → 上下文里可自行收紧,0 = 不限制)。这是刻意设计——软件不该替模型决定何时停下。续写只在服务商明确报截断、或续写确实没有新内容时收口,无法继续时会如实说明原因。老版本升级上来的配置会自动迁移为「不限制」。

技能系统

支持加载不同技能,让 AI 按照指定流程完成资料整理、代码分析、内容创作、报告生成、小说写作与审计等任务。技能即流程,一次配置,反复复用。

技术栈

层次 技术
客户端 Flutter 3.44.2 / Dart 3.12.2(Android compileSdk 36 / targetSdk 36,Windows 桌面)
数据存储 SQLite(会话与消息)、SharedPreferences(设置)
终端环境 内置 Alpine Linux 用户空间(minirootfs 固化进 assets + proot 沙箱,apk 包管理)
模型接入 OpenAI Chat Completions / Responses、Anthropic Messages、其他兼容 LLM API + 多模态图片处理

从源码构建

# 安装依赖
flutter pub get

# 运行(debug)
flutter run

# 构建 release APK(需先配置签名,见下)
flutter build apk --release

Windows 桌面版:

flutter build windows --release

Windows 分发时需要连同 build/windows/x64/runner/Release/ 目录中的依赖文件一起分发。

签名配置

android/app/build.gradle.kts 的 release 与 debug 变体统一使用项目根目录的 keystore.jks(keyAlias 为 shiyi),签名密码从 android/local.properties 的 KEYSTORE_PASSWORD 或环境变量 KEYSTORE_PASSWORD 读取。

debug 变体也用正式签名的原因:覆盖安装到装有正式版的真机不会因签名不一致失败/清数据;同时 debug 包仍可 run-as 备份数据。注意:构建 debug 也需要配置签名密码(没有密码时 debug 构建同样会失败)。

首次构建需要:

# 1. 生成签名密钥(只需一次;请务必妥善保管密码)
keytool -genkeypair -v -keystore keystore.jks -keyalg RSA -keysize 2048 \
  -validity 10000 -alias shiyi -dname "CN=ShiYi, OU=ShiYi, O=ShiYi, L=Beijing, ST=Beijing, C=CN"

# 2. 配置密码(二选一)
#    方式 A:写入 android/local.properties(不入库)
echo "KEYSTORE_PASSWORD=你的密码" >> android/local.properties
#    方式 B:构建时用环境变量
export KEYSTORE_PASSWORD="你的密码"
flutter build apk --release

注意:keystore.jks 与 android/local.properties 均被 .gitignore 排除,不随源码提交。丢失密钥意味着无法再对已发布的版本做覆盖更新(签名不一致),请务必备份。

文档

文档 内容
新手教程 从零开始:装包 → 配模型 → 第一句话 → 让它干活 → 群聊 → 终端 → DSH → 常见问题
使用教程 功能细节与进阶用法
更新日志 每个版本的对外变化
Windows 维护文档 / 构建 桌面版的架构、排错与构建

隐私与数据

  • 会话、设置、长期记忆和项目数据默认保存在设备本地,不上传任何服务器
  • 发送给模型的内容取决于你配置的 API 服务与实际对话内容
  • 使用第三方 LLM API 时,请了解对应服务商的隐私政策

开源许可证

本项目基于 GPL-3.0 协议开源。使用、修改与分发请遵守 GPL-3.0 条款。

社区

本项目在 LINUX DO 社区交流反馈,感谢佬友们的支持。


拾忆 ShiYi · 让每一次对话,都留下成果。

本项目在 LINUX DO 和LINUX SB社区交流反馈。
我的主页 九思JIUSIS和九思

Yorumlar (0)

Sonuc bulunamadi