shiyi-agent
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.
拾忆 ShiYi · 个人 AI 工作台(Android / Windows):能读写文件、跑命令、联网搜索,带长期记忆 / 技能 / 子代理 / 多 Agent 群聊 / 内置 Alpine 终端,可切拾忆本地引擎或 DeepSeek Harness
拾忆 ShiYi
运行在 Android 手机与 Windows 桌面的个人 AI 工作台 —— 让 AI 不只是回答问题,而是参与你的实际工作:读取资料、修改文件、运行命令、整理项目。
📦 下载安装: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 |
|---|---|---|
![]() |
![]() |
![]() |
设置与关于
| 对话与功能 | 上下文 | 关于 |
|---|---|---|
![]() |
![]() |
![]() |
1.0 旧版界面预览
2.5 延续 2.0 的 Apple 设计理念(HIG),以下为 1.0 版本的历史界面,保留作对比参考。
| 主页 | 侧边栏 | 记忆 |
|---|---|---|
![]() |
![]() |
![]() |
| 技能 | 文件 | 设置 | 关于 |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
安装
- 从 Releases 下载 APK(Android 8.0+,arm64)
- 安装后打开应用,完成初始配置(模型配置见 新手教程)
- 首次启动会自动部署内置 Alpine 终端环境(约 4MB 资产 + 首次初始化),请耐心等待
提示:更新版本请直接覆盖安装(
adb install -r或允许系统覆盖),不会清除本地数据。不要卸载重装。
快速开始
- 打开 功能 → 设置 → 模型,填写 LLM API 信息(Base URL / API Key)→ 获取模型 → 测试连接
- 返回底部 会话 栏,点击 新建项目 并选择文件夹位置
- 在项目横幅左滑可 新建会话 / 设置项目文件夹 / 重命名 / 删除;项目操作都在主页完成
- 开始对话;需要处理文件或运行命令时,直接让 AI 在当前项目目录中完成操作
- 需要多人协作时,从会话 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 · 让每一次对话,都留下成果。
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi





















