Skip to content

Commit

Permalink
Merge pull request OpenBMB#210 from bayunqi/main
Browse files Browse the repository at this point in the history
FaceWall Memo APP
  • Loading branch information
thinkwee authored Oct 26, 2023
2 parents 21fa9b1 + da4d6a4 commit b5fb3a1
Show file tree
Hide file tree
Showing 13 changed files with 5,311 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
{
"chain": [
{
"phase": "DemandAnalysis",
"phaseType": "SimplePhase",
"max_turn_step": -1,
"need_reflect": "True"
},
{
"phase": "LanguageChoose",
"phaseType": "SimplePhase",
"max_turn_step": -1,
"need_reflect": "True"
},
{
"phase": "Coding",
"phaseType": "SimplePhase",
"max_turn_step": 1,
"need_reflect": "False"
},
{
"phase": "CodeCompleteAll",
"phaseType": "ComposedPhase",
"cycleNum": 10,
"Composition": [
{
"phase": "CodeComplete",
"phaseType": "SimplePhase",
"max_turn_step": 1,
"need_reflect": "False"
}
]
},
{
"phase": "CodeReview",
"phaseType": "ComposedPhase",
"cycleNum": 3,
"Composition": [
{
"phase": "CodeReviewComment",
"phaseType": "SimplePhase",
"max_turn_step": 1,
"need_reflect": "False"
},
{
"phase": "CodeReviewModification",
"phaseType": "SimplePhase",
"max_turn_step": 1,
"need_reflect": "False"
}
]
},
{
"phase": "Test",
"phaseType": "ComposedPhase",
"cycleNum": 3,
"Composition": [
{
"phase": "TestErrorSummary",
"phaseType": "SimplePhase",
"max_turn_step": 1,
"need_reflect": "False"
},
{
"phase": "TestModification",
"phaseType": "SimplePhase",
"max_turn_step": 1,
"need_reflect": "False"
}
]
},
{
"phase": "EnvironmentDoc",
"phaseType": "SimplePhase",
"max_turn_step": 1,
"need_reflect": "True"
},
{
"phase": "Manual",
"phaseType": "SimplePhase",
"max_turn_step": 1,
"need_reflect": "False"
}
],
"recruitments": [
"Chief Executive Officer",
"Counselor",
"Chief Human Resource Officer",
"Chief Product Officer",
"Chief Technology Officer",
"Programmer",
"Code Reviewer",
"Software Test Engineer",
"Chief Creative Officer"
],
"clear_structure": "True",
"brainstorming": "False",
"gui_design": "True",
"git_management": "False",
"self_improve": "False"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Create a memo software called FaceWall, which is easy for company employees to use; The main functions include: 1. Task list: provide a task list module, employees can add, edit and mark tasks as completed; 2. Schedule: including a calendar, you can see the employee's daily work tasks and completion; 3. Search function: Provide basic search function, employees can easily find tasks and notes; 4. Brief note: Provide an essay record function, you can open and record their current ideas in the fastest way.

Large diffs are not rendered by default.

277 changes: 277 additions & 0 deletions WareHouse/FaceWall_DefaultOrganization_20231025192523/PhaseConfig.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
{
"Chief Executive Officer": [
"{chatdev_prompt}",
"You are Chief Executive Officer. Now, we are both working at ChatDev and we share a common interest in collaborating to successfully complete a task assigned by a new customer.",
"Your main responsibilities include being an active decision-maker on users' demands and other key policy issues, leader, manager, and executor. Your decision-making role involves high-level decisions about policy and strategy; and your communicator role can involve speaking to the organization's management and employees.",
"Here is a new customer's task: {task}.",
"To complete the task, I will give you one or more instructions, and you must help me to write a specific solution that appropriately solves the requested instruction based on your expertise and my needs."
],
"Chief Product Officer": [
"{chatdev_prompt}",
"You are Chief Product Officer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.",
"You are responsible for all product-related matters in ChatDev. Usually includes product design, product strategy, product vision, product innovation, project management and product marketing.",
"Here is a new customer's task: {task}.",
"To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs."
],
"Counselor": [
"{chatdev_prompt}",
"You are Counselor. Now, we share a common interest in collaborating to successfully complete a task assigned by a new customer.",
"Your main responsibilities include asking what user and customer think and provide your valuable suggestions. ",
"Here is a new customer's task: {task}.",
"To complete the task, I will give you one or more instructions, and you must help me to write a specific solution that appropriately solves the requested instruction based on your expertise and my needs."
],
"Chief Technology Officer": [
"{chatdev_prompt}",
"You are Chief Technology Officer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.",
"You are very familiar to information technology. You will make high-level decisions for the overarching technology infrastructure that closely align with the organization's goals, while you work alongside the organization's information technology (\"IT\") staff members to perform everyday operations.",
"Here is a new customer's task: {task}.",
"To complete the task, You must write a response that appropriately solves the requested instruction based on your expertise and customer's needs."
],
"Chief Human Resource Officer": [
"{chatdev_prompt}",
"You are Chief Human Resource Officer. Now, we are both working at ChatDev and we share a common interest in collaborating to successfully complete a task assigned by a new customer.",
"You are a corporate officer who oversees all aspects of human resource management and industrial relations policies, practices and operations for an organization. You will be involved in board staff recruitment, member selection, executive compensation, and succession planning. Besides, You report directly to the chief executive officer (CEO) and am a member of the most senior-level committees of a company (e.g., executive committee or office of CEO).",
"Here is a new customer's task: {task}.",
"To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs."
],
"Programmer": [
"{chatdev_prompt}",
"You are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.",
"You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,.",
"Here is a new customer's task: {task}.",
"To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs."
],
"Code Reviewer": [
"{chatdev_prompt}",
"You are Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.",
"You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes.",
"Here is a new customer's task: {task}.",
"To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs."
],
"Software Test Engineer": [
"{chatdev_prompt}",
"You are Software Test Engineer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.",
"You can use the software as intended to analyze its functional properties, design manual and automated test procedures to evaluate each software product, build and implement software evaluation test programs, and run test programs to ensure that testing protocols evaluate the software correctly.",
"Here is a new customer's task: {task}.",
"To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs."
],
"Chief Creative Officer": [
"{chatdev_prompt}",
"You are Chief Creative Officer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.",
"You direct ChatDev's creative software's and develop the artistic design strategy that defines the company's brand. You create the unique image or music of our produced software's and deliver this distinctive design to consumers to create a clear brand image which is a fundamental and essential work throughout the company.",
"Here is a new customer's task: {task}.",
"To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs."
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
import tkinter as tk
from tkinter import simpledialog
import os

class BriefNote(tk.Frame):
def __init__(self, master):
super().__init__(master)
self.note_text = tk.Text(self, height=10, width=30)
self.note_text.grid(row=0, column=0, padx=10, pady=10, sticky="nsew")

# 添加滚动条以支持滚动查看长文本
scrollbar = tk.Scrollbar(self)
scrollbar.grid(row=0, column=1, sticky="ns")
self.note_text.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=self.note_text.yview)

self.file_listbox = tk.Listbox(self, height=10, width=20)
self.file_listbox.grid(row=0, column=2, padx=10, pady=10, sticky="nsew")
self.load_saved_files()

self.save_button = tk.Button(self, text="Save", command=self.save_note)
self.save_button.grid(row=1, column=0, sticky="ew")
self.open_button = tk.Button(self, text="Open", command=self.open_note)
self.open_button.grid(row=1, column=1, sticky="ew")
self.delete_button = tk.Button(self, text="Delete", command=self.delete_note)
self.delete_button.grid(row=1, column=2, sticky="ew")

def save_note(self):
note = self.note_text.get(1.0, tk.END)
if note.strip():
file_name = self.get_user_file_name()
if file_name:
file_path = os.path.join(os.path.dirname(__file__), file_name)
with open(file_path, "w") as file:
file.write(note)
self.note_text.delete(1.0, tk.END) # 清空文本框内容
self.load_saved_files()
print("Note saved as:", file_name)

def open_note(self):
selected_file = self.file_listbox.curselection()
if selected_file:
file_name = self.file_listbox.get(selected_file)
file_path = os.path.join(os.path.dirname(__file__), file_name)
with open(file_path, "r") as file:
note = file.read()
self.note_text.delete(1.0, tk.END)
self.note_text.insert(tk.END, note)

def load_saved_files(self):
file_names = [f for f in os.listdir(os.path.dirname(__file__)) if f.endswith(".txt") and (f != "meta.txt" and f != "requirements.txt")]
self.file_listbox.delete(0, tk.END)
for file_name in file_names:
self.file_listbox.insert(tk.END, file_name)

def get_user_file_name(self):
user_file_name = tk.simpledialog.askstring("File Name", "Enter a file name (e.g., my_note):")
if user_file_name:
return user_file_name + '.txt'

def delete_note(self):
selected_file = self.file_listbox.curselection()
if selected_file:
file_name = self.file_listbox.get(selected_file)
file_path = os.path.join(os.path.dirname(__file__), file_name)
os.remove(file_path) # 删除文件
self.load_saved_files() # 重新加载已保存的文件列表

if __name__ == "__main__":
root = tk.Tk()
app = BriefNote(root)
app.pack()
root.mainloop()
19 changes: 19 additions & 0 deletions WareHouse/FaceWall_DefaultOrganization_20231025192523/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
'''
FaceWall - Memo Software for Company Employees
This is the main file of the FaceWall software. It initializes the application and sets up the graphical user interface.
'''
import tkinter as tk
from task_list import TaskList
from brief_note import BriefNote
class FaceWallApp:
def __init__(self, root):
self.root = root
self.root.title("FaceWall")
self.task_list = TaskList(root)
self.brief_note = BriefNote(root)
self.task_list.pack()
self.brief_note.pack()
if __name__ == "__main__":
root = tk.Tk()
app = FaceWallApp(root)
root.mainloop()
96 changes: 96 additions & 0 deletions WareHouse/FaceWall_DefaultOrganization_20231025192523/manual.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# FaceWall User Manual

## Introduction

Welcome to FaceWall, a memo software designed to make task management and note-taking easy for company employees. FaceWall provides several key features to help you stay organized and productive:

1. Task List: Create, edit, and mark tasks as completed.
2. Schedule: View your daily work tasks and completion.
3. Search: Easily find tasks and notes.
4. Brief Note: Record your current ideas in the fastest way.

This user manual will guide you through the installation process, explain how to use each feature, and provide tips for maximizing your productivity with FaceWall.

## Installation

To use FaceWall, you need to install the required dependencies. Follow the steps below to set up the environment:

1. Ensure you have Python installed on your computer. If not, download and install Python from the official website (https://www.python.org).

2. Open a terminal or command prompt.

3. Navigate to the directory where you have downloaded the FaceWall code.

4. Run the following command to install the required dependencies:

```
pip install -r requirements.txt
```

5. Wait for the installation to complete.

Congratulations! You have successfully installed FaceWall and its dependencies.

## Getting Started

To start using FaceWall, follow the steps below:

1. Open a terminal or command prompt.

2. Navigate to the directory where you have downloaded the FaceWall code.

3. Run the following command to start the application:

```
python main.py
```

4. The FaceWall application window will open.

## Task List

The Task List module allows you to manage your tasks. Follow the instructions below to use this feature:

1. In the Task List section of the FaceWall application, you will see an input field and an "Add Task" button.

2. To add a new task, enter the task description in the input field and click the "Add Task" button.

3. The task will be added to the task list below.

4. To edit a task, select the task from the list and click the "Edit Task" button. Enter the new task description in the input field and click the "Edit Task" button again to save the changes.

5. To mark a task as completed, select the task from the list and click the "Mark as Completed" button. The task will be visually marked as completed.

## Schedule

The Schedule module allows you to view your daily work tasks and completion. Follow the instructions below to use this feature:

1. In the Schedule section of the FaceWall application, you will see a label and a text area.

2. The text area will display your daily work tasks and their completion status.

3. The schedule is automatically updated based on your tasks in the Task List module.

## Search

The Search module allows you to easily find tasks and notes. Follow the instructions below to use this feature:

1. In the Search section of the FaceWall application, you will see an input field and a "Search" button.

2. To search for a task or note, enter the search query in the input field and click the "Search" button.

3. The search results will be displayed in the list below.

## Brief Note

The Brief Note module allows you to record your current ideas quickly. Follow the instructions below to use this feature:

1. In the Brief Note section of the FaceWall application, you will see a text area and a "Save" button.

2. Enter your current idea or note in the text area.

3. To save the note, click the "Save" button. The note will be saved to a file or database.

## Conclusion

Congratulations! You have learned how to install and use FaceWall, a memo software designed to make task management and note-taking easy for company employees. Use the Task List, Schedule, Search, and Brief Note modules to stay organized and productive. Enjoy using FaceWall!
30 changes: 30 additions & 0 deletions WareHouse/FaceWall_DefaultOrganization_20231025192523/meta.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Task:
Create a memo software called FaceWall, which is easy for company employees to use; The main functions include: 1. Task list: provide a task list module, employees can add, edit and mark tasks as completed; 2. Schedule: including a calendar, you can see the employee's daily work tasks and completion; 3. Search function: Provide basic search function, employees can easily find tasks and notes; 4. Brief note: Provide an essay record function, you can open and record their current ideas in the fastest way.

Config:
ChatEnvConfig.clear_structure: True
ChatEnvConfig.git_management: False
ChatEnvConfig.gui_design: True


Roster:
Chief Executive Officer, Counselor, Chief Human Resource Officer, Chief Product Officer, Chief Technology Officer, Programmer, Code Reviewer, Software Test Engineer, Chief Creative Officer

Modality:
web application

Ideas:


Language:
Python

Code_Version:
4.0

Proposed_images:
0

Incorporated_images:
0

Loading

0 comments on commit b5fb3a1

Please sign in to comment.